Cómo configurar SendGrid SMTP en CyberPanel

SendGrid es un servicio SMTP basado en la nube que permite la entrega de correos electrónicos sin necesidad de administrar servidores de correo.

Nota:El puerto 25 está cerrado para conexión en nuestras VM de forma predeterminada. Si quieres abrir el puerto 25, compra Mail Bridge y configúralo en VPS Manager.

Para configurar el correo de SendGrid en WHM, usa esta guía.

Sigue los pasos a continuación para configurar el servicio SendGrid y el sistema de correo para tu nombre de dominio del lado de CyberPanel:

1. Regístrate en SendGrid:

Una vez que completes toda la información de contacto, haz clic en “Continue”.

2. Se te redirigirá a una nueva pestaña en el navegador para verificar tu cuenta de correo. Copia el código de verificación enviado a tu cuenta de correo, ingrésalo en el campo “Code” y haz clic en “Verify”:

3. Verifica tu número de teléfono ingresando el código de verificación enviado a este en el campo “Enter certification code” y haz clic en “Verify”:

4. Luego, se te proporcionará el código de recuperación, que es útil en caso de perder tu teléfono o no tener acceso a tu dispositivo de verificación. Copia el código, guárdalo y haz clic en “Continue”. También hay una opción para descargar el código como archivo:

5. Completa tu información de contacto en la siguiente página y haz clic en “Next”:


6. En la siguiente página, abre tu panel de SendGrid:

7. Una vez ahí, ve a “Settings” >> al menú “API Keys” para crear una nueva API Key ahí:


8. En el menú que se abre, ingresa el nombre de la API Key, establece los permisos de la API Key en la opción “Full Access” y guarda la configuración:

9. Configura la autenticación del remitente de SendGrid. Hay dos formas de hacerlo:

Método 1: Verificación de remitente único

Verificación de remitente único: es un método rápido de verificación que permite agregar un destinatario autorizado (una sola dirección de correo electrónico o varias) al usar una cuenta de SendGrid. Puede usarse, por ejemplo, si quieres enviar correos desde john.doe@example.com, que está agregado en el servidor cPanel, a jane.doe@gmail.com. Para esto, la dirección de correo jane.doe@gmail.com debe agregarse a Single Sender Verification en SendGrid.

Nota: Single Sender Verification se recomienda solo para pruebas.

Nota: Solo puedes enviar desde la dirección que verificas, en lugar de cualquier dirección de un dominio autenticado.

Para configurar Single Sender Verification, ve a “Settings” desde tu panel de SendGrid >> al menú “Sender Authentication” >> haz clic en el botón “Verify a Single Sender”:

En la siguiente página, crea un remitente llenando la información de contacto y haz clic en “Create” para guardar todo:

Después de eso, recibirás un correo de verificación de SendGrid. Para confirmar la adición de la dirección de correo, haz clic en el botón “Verify Single Sender” del correo:

Método 2: Autenticación de dominio (recomendada)

Haz clic en  “Settings” >> ve al menú “Sender Authentication” >> en el campo “Domain Authentication”, haz clic en “Authenticate Your Domain”:

En la siguiente página, autentica tu nombre de dominio respondiendo las preguntas de los pasos primero y segundo, y haz clic en “Next”:

Nota: En la captura de pantalla, hemos elegido la respuesta “No” para la segunda pregunta. Sin embargo, esta respuesta es opcional.

Después de eso, ingresa el nombre de dominio necesario, establece cualquier configuración adicional si es necesario y haz clic en “Next”:

Ahora, es necesario verificar el nombre de dominio configurando los registros DNS CNAME y TXT correspondientes.

Una vez que se creen los registros DNS para el dominio, confirma su adición en el paso 2 marcando la casilla “I’ve added these records” y haz clic en “Verify” abajo:

Nota: La propagación de los registros DNS puede tardar hasta 24-48 horas.

10. El siguiente paso será configurar los ajustes SMTP para el servidor CyberPanel.

Desafortunadamente, CyberPanel todavía no ofrece a los usuarios una interfaz especial para configuraciones SMTP. SendGrid debe configurarse mediante la terminal SSH. 

  • Primero, inicia sesión en tu servidor como root:

ssh root@SERVER_IP_ADDRESS -p PORT


Donde SERVER_IP_ADDRESS es la dirección IP de tu servidor, y PORT es el puerto de conexión SSH (de forma predeterminada, es 22022)

  • Abre el archivo /etc/postfix/main.cf con un editor de texto:

nano /etc/postfix/main.cf
o
vi /etc/postfix/main.cf

  • Agrega las siguientes líneas al final del archivo:

smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
smtp_tls_security_level = encrypt
header_size_limit = 4096000
relayhost = [smtp.sendgrid.net]:587

  • Ahora necesitas especificar tus credenciales (usa apikey como nombre de usuario y una API Key como contraseña) en el archivo separado /etc/postfix/sasl_passwd (probablemente tendrás que crearlo):

echo “[smtp.sendgrid.net]:587 apikey:YOUR_SENDGRID_API_KEY” > /etc/postfix/sasl_passwd

Donde YOUR_SENDGRID_API_KEY es la clave que creaste en el paso 8.

  • A continuación, asegúrate de que el archivo tenga acceso restringido de lectura y escritura solo para root, y usa el comando postmap para actualizar las tablas hash de Postfix para usar este nuevo archivo:

sudo chmod 600 /etc/postfix/sasl_passwd
sudo postmap /etc/postfix/sasl_passwd

  • Por último, reinicia Postfix:

systemctl restart postfix

  • Instala el plugin SASL en tu servidor:

apt-get install libsasl2-modules  # para Ubuntu
dnf install cyrus-sasl-plain      # para Almalinux/CloudLinux
yum install cyrus-sasl-plain       # para CentOS

Además, algunas instancias pueden requerir un controlador MySQL para Dovecot para configurar el backend de MySQL para la autenticación:

apt install dovecot-sqlite dovecot-mysql   # para Ubuntu
dnf install dovecot-mysql               # para Almalinux/CloudLinux
yum install dovecot-mysql                # para CentOS

  • Después de eso, reinicia Dovecot:

systemctl restart dovecot

  • Ahora puedes probar si un correo se retransmite a través de SendGrid:

sendmail -f YOUR_LOCAL_EMAIL -v DESTINATION_EMAIL

Donde YOUR_LOCAL_EMAIL es la cuenta de correo que creaste en tu cuenta de CyberPanel, y DESTINATION_EMAIL es el correo del destinatario al que se envía un correo de prueba.

Luego escribe el cuerpo de tu mensaje y presiona Ctrl+D para enviarlo.

Como alternativa, usa Webmail en tu cuenta de CyberPanel para enviar un correo de prueba desde ahí.

Se requiere un correo electrónico válido