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.
Sendmail se lanzó a principios de los años ochenta y desde entonces se ha mejorado continuamente. Se trata de un agente de transferencia de mensajes (MTA) flexible y configurable 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 muestra cómo configurar Sendmail para enviar correo electrónico a través de Amazon SES. Este procedimiento se ha probado 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 su cuenta sigue estando en el entorno de pruebas de Amazon SES, también debe verificar las direcciones a las que va a enviar correo electrónico. Para obtener más información, consulte Solicitud de acceso de producción (salida del entorno de pruebas de Amazon SES).
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 (Amazon EC2) 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 punto de enlace SMTP desde Amazon EC2, 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
Realice los pasos de esta sección para configurar Sendmail con el fin de enviar correo electrónico mediante Amazon SES.
importante
El procedimiento de esta sección supone que desea 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 punto de enlace de SMTP de la región que desee. Para obtener una lista de los puntos de conexión URLs SMTP Regiones de AWS en los que Amazon SES está disponible, consulte Amazon Simple Email Service (Amazon SES) 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:
-
email-smtp.us-west-2.amazonaws.com
Sustitúyalo por el punto de conexión SMTP de Amazon SES que desee utilizar. -
smtpUsername
Sustitúyalo por tu nombre de usuario SMTP de Amazon SES. -
smtpPassword
Sustitúyala por tu contraseña SMTP de Amazon SES.
nota
Sus credenciales de inicio de sesión en SMTP son diferentes de su ID de clave de AWS acceso y clave de acceso secreta. Para obtener más información sobre cómo obtener sus credenciales de inicio de sesión de SMTP, consulte Obtención de las credenciales de SMTP de Amazon SES.
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 poder transmitir al punto de enlace de SMTP de Amazon SES.
sudo sh -c 'echo "Connect:
email-smtp.us-west-2.amazonaws.com
RELAY" >> /etc/mail/access'En el comando anterior,
email-smtp.us-west-2.amazonaws.com
sustituya por la dirección del punto de conexión SMTP de Amazon SES que desee utilizar. -
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:
-
email-smtp.us-west-2.amazonaws.com
Sustitúyalo por el punto de conexión SMTP de Amazon SES que desee utilizar. -
example.com
Sustitúyalo por 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
sender@example.com
Sustitúyala por tu dirección de correo electrónico de origen.recipient@example.com
Sustitúyala por 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.