Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Integración de Amazon SES con Sendmail
Sendmail se lanzó a principios de los años ochenta y desde entonces se ha mejorado continuamente. Es un agente de transferencia de mensajes flexible y configurable (MTA) con una gran comunidad de usuarios. Sendmail fue adquirida por Proofpoint en 2013, pero Proofpoint sigue ofreciendo una versión de código abierto de Sendmail. Puede descargar la versión de código abierto de Sendmail
El procedimiento de esta sección le muestra cómo configurar Sendmail para enviar correo electrónico a través de Amazon. SES Este procedimiento se probó en un servidor con Ubuntu 18.04.2. LTS
nota
Sendmail es una aplicación de terceros y no está desarrollada ni respaldada por Amazon Web Services. Los procedimientos de esta sección se proporcionan únicamente con fines informativos y están sujetos a cambios sin previo aviso.
Requisitos previos
Antes de completar el procedimiento de esta sección, debe realizar los pasos que se describen a continuación:
-
Instale el paquete de Sendmail en su servidor.
nota
En función de la distribución del sistema operativo que utilice, es posible que también tenga que instalar los siguientes paquetes:
sendmail-cf
,m4
ycyrus-sasl-plain
. -
Verifique una identidad para utilizarla como la dirección del remitente ("From"). Para obtener más información, consulte Creación de una identidad de dirección de correo electrónico.
Si tu cuenta está en el entorno limitado de SES Amazon, también debes verificar las direcciones a las que envías el correo electrónico. Para obtener más información, consulte Solicitar acceso a la producción (salir del entorno de pruebas de SES Amazon).
Si utilizas Amazon SES para enviar correos electrónicos desde una EC2 instancia de Amazon, también debes completar los siguientes pasos:
-
Es posible que tengas que asignar una dirección IP elástica a tu EC2 instancia de Amazon para que los proveedores de correo electrónico de recepción acepten tu correo electrónico. Para obtener más información, consulte las direcciones IP EC2 elásticas de Amazon en la Guía del EC2 usuario de Amazon.
-
Amazon Elastic Compute Cloud (AmazonEC2) restringe el tráfico de correo electrónico a través del puerto 25 de forma predeterminada. Para evitar tiempos de espera al enviar correos electrónicos a través del SMTP punto de conexión desde AmazonEC2, puedes solicitar que se eliminen estas restricciones. Para obtener más información, consulta ¿Cómo elimino la restricción en el puerto 25 de mi EC2 instancia o AWS Lambda función de Amazon?
en el Centro de AWS conocimiento. Como alternativa, puede modificar el procedimiento de esta sección para utilizar el puerto 587 en lugar del puerto 25.
Configuración de Sendmail
Complete los pasos de esta sección para configurar Sendmail para enviar correo electrónico mediante Amazon. SES
importante
El procedimiento de esta sección supone que quieres utilizar Amazon SES en el oeste de EE. UU. (Oregón) Región de AWS. Si desea utilizar una región diferente, sustituya todas las instancias de email-smtp.us-west-2.amazonaws.com de este procedimiento por el SMTP punto final de la región deseada. Para obtener una lista de SMTP los puntos de conexión URLs Regiones de AWS en los que Amazon SES está disponible, consulta Amazon Simple Email Service (AmazonSES) en el Referencia general de AWS.
Para configurar Sendmail
-
En un editor de archivos, abra el archivo
/etc/mail/authinfo
. Si el archivo no existe, créelo.Añada la siguiente línea a/etc/mail/authinfo:
AuthInfo:
email-smtp.us-west-2.amazonaws.com
"U:root" "I:smtpUsername
" "P:smtpPassword
" "M:PLAIN"En el ejemplo anterior, realice los siguientes cambios:
-
Reemplazar
email-smtp.us-west-2.amazonaws.com
con el SES SMTP punto de conexión de Amazon que quieras usar. -
Reemplazar
smtpUsername
con tu nombre de SES SMTP usuario de Amazon. -
Reemplazar
smtpPassword
con tu SES SMTP contraseña de Amazon.
nota
Tus credenciales SMTP de inicio de sesión son diferentes de las de tu clave de AWS acceso y de tu clave de acceso secreta. Para obtener más información sobre cómo obtener sus credenciales de SMTP inicio de sesión, consulte. Obtención de SES SMTP credenciales de Amazon
Cuando termine, guarde
authinfo
. -
-
En la línea de comandos, escriba el siguiente comando para generar el archivo
/etc/mail/authinfo.db
:sudo sh -c 'makemap hash /etc/mail/authinfo.db < /etc/mail/authinfo'
-
En la línea de comandos, escriba el siguiente comando para añadir soporte para la retransmisión al SES SMTP punto final de Amazon.
sudo sh -c 'echo "Connect:
email-smtp.us-west-2.amazonaws.com
RELAY" >> /etc/mail/access'En el comando anterior, sustituya
email-smtp.us-west-2.amazonaws.com
con la dirección del SES SMTP punto de conexión de Amazon que quieres usar. -
En la línea de comandos, escriba el siguiente comando para regenerar/etc/mail/access.db:
sudo sh -c 'makemap hash /etc/mail/access.db < /etc/mail/access'
-
En la línea de comandos, escriba el siguiente comando para crear copias de seguridad de los archivos
sendmail.mc
ysendmail.cf
:sudo sh -c 'cp /etc/mail/sendmail.cf /etc/mail/sendmail_cf.backup && cp /etc/mail/sendmail.mc /etc/mail/sendmail_mc.backup'
-
Añada las siguientes líneas al archivo/etc/mail/sendmail.mc antes de cualquier definición.
MAILER()
define(`SMART_HOST', `
email-smtp.us-west-2.amazonaws.com
')dnl define(`RELAY_MAILER_ARGS', `TCP $h 25')dnl define(`confAUTH_MECHANISMS', `LOGIN PLAIN')dnl FEATURE(`authinfo', `hash -o /etc/mail/authinfo.db')dnl MASQUERADE_AS(`example.com
')dnl FEATURE(masquerade_envelope)dnl FEATURE(masquerade_entire_domain)dnlEn el texto anterior, haga lo siguiente:
-
Reemplazar
email-smtp.us-west-2.amazonaws.com
con el SES SMTP punto de conexión de Amazon que quieras usar. -
Reemplazar
example.com
con el dominio que quieres usar para enviar correos electrónicos.
Cuando termine, guarde el archivo.
nota
Amazon EC2 restringe las comunicaciones a través del puerto 25 de forma predeterminada. Si utilizas Sendmail en una EC2 instancia de Amazon, debes completar la Solicitud para eliminar las limitaciones de envío de correos electrónicos
. -
-
En la línea de comandos, escriba el siguiente comando para poder escribir en sendmail.cf:
sudo chmod 666 /etc/mail/sendmail.cf
-
En la línea de comandos, escriba el siguiente comando para volver a generar sendmail.cf:
sudo sh -c 'm4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf'
nota
Si detecta errores como "Command not found" y "No such file or directory", asegúrese de que los paquetes
sendmail-cf
ym4
están instalados en el sistema. -
En la línea de comandos, escriba el siguiente comando para restablecer los permisos de sendmail.cf a solo lectura:
sudo chmod 644 /etc/mail/sendmail.cf
-
En la línea de comandos, escriba el siguiente comando para reiniciar Sendmail:
sudo /etc/init.d/sendmail restart
Según la versión de Linux o Sendmail, si lo anterior no funciona, pruebe lo siguiente:
sudo su service sendmail restart
-
Siga los pasos que se describen a continuación para enviar un correo electrónico de prueba:
-
En la línea de comandos, escriba el comando siguiente:
/usr/sbin/sendmail -vf
sender@example.com
recipient@example.com
Reemplazar
sender@example.com
con tu dirección de correo electrónico de origen. Reemplazarrecipient@example.com
con la dirección de destino. Cuando haya terminado, pulse Enter. -
Escriba el siguiente contenido del mensaje. Pulse Enter al final de cada línea.
From:
sender@example.com
To:recipient@example.com
Subject: Amazon SES test email This is a test message sent from Amazon SES using Sendmail.Cuando haya terminado de escribir el contenido del correo electrónico, pulse Ctrl+D para enviarlo.
-
-
Compruebe el cliente de correo electrónico del destinatario para el correo electrónico. Si no puede encontrar el correo electrónico, busque en la carpeta de correo no deseado. Si continúa sin poder encontrar el email, consulte el registro de Sendmail en su servidor de email. El registro suele estar ubicado en/var/log/mail.log o/var/log/maillog.