14 votos

¿Cómo puedo hacer que Amazon SES el método predeterminado de envío de correo de mi servidor?

Me gustaría empezar a utilizar Amazon SES para todos los correos electrónicos desde nuestro servidor. Tenemos un par de diseñadores autónomos con PHP hosting, algunos Django/Python aplicaciones web y también en algunas de las utilidades del sistema que enviar correos electrónicos.

Así que me gustaría tener de PHP, la función de correo, el comando de la línea de comando de correo electrónico y nuestras aplicaciones python todo ser capaz de utilizar, de preferencia sin tener que poner todo en su propia manera.

Creo que lo que necesito es tener algo como Postfix corriendo en localhost y el uso de SES para su ejecución, pero no sé cómo hacerlo.

Amazon docs estado necesito para configurar mi agente de transferencia de correo (MTA) de modo que invoca el ses-send-email.pl secuencia de comandos. Tengo el script, pero no estoy seguro de cómo lograr esto.

Estoy en el camino correcto? Si es así, ¿cómo puedo configurar Postfix para usar ese script?

14voto

Netwiser Puntos 141

Aquí están algunos artículos copiados de SES desarrollador de la guía:

Para integrar ses-send-email.pl con Postfix:

  1. Abra el maestro.cf archivo. En muchos sistemas, este archivo reside en el /etc/postfix directorio.
  2. Configurar un nuevo transporte de correo por la adición de las dos líneas siguientes a la master.cf archivo y, a continuación, guardar el archivo.

    aws-email  unix  -       n       n       -       -       pipe
      flags=R user=mailuser argv=/opt/third-party/amazon/ses-send-email.pl -r -k /opt/third-party/amazon/aws-credentials -e https://email.us-east-1.amazonaws.com -f ${sender} ${recipient}
    

Nota lo siguiente acerca de este ejemplo:

  • Las banderas de la línea comienza con al menos un carácter de espacio en blanco.
  • El parámetro de usuario debe especificar un usuario no-root (es decir, un usuario no administrativa).El usuario mailuser es para propósitos ilustrativos solamente.
  • El ses-send-email.pl script y el archivo de credenciales residen en /opt/terceros/amazon directorio.
  • El extremo para comunicarse con Amazon SES https://email.us-east-1.amazonaws.com

Usted debe modificar estos parámetros, según corresponda.

  1. Abra el principal.cf archivo en el mismo directorio como maestro.cf y modificarla de la siguiente manera:

    1. Busque el default_transport línea:

      • Si existe, en cambio, de manera que se parece a esto:

        default_transport = aws-email
        
      • Si no existe, a continuación, añadir una nueva línea con el anterior contenido.

    2. Guardar el principal.cf archivo cuando haya terminado.
  2. Reinicie el servidor Postfix.

    /etc/init.d/postfix restart
    

Tenga en cuenta que este comando no puede ser exactamente el mismo en el servidor. A partir de este punto, el correo electrónico saliente se envía a través de Amazon SES.Usted puede probar esto mediante el envío de un correo electrónico mensaje a través de su servidor Postfix, y luego de verificar que no llegue a su destino. Si el mensaje de no se entrega, verificación de su sistema de correo de registro en busca de errores. En muchos sistemas, esta es la /var/log/mail.log

-- He creado un blog sencillo de poner todas las cosas que he intentado recientemente en la Nube de Amazon SES. Aquí está el enlace : http://netwiser.blogspot.com/2011/02/setup-amazon-ses-to-relay-email-by.html

8voto

Michael Jensen Puntos 356

Amazon acaba de lanzar SMTP acceso a la SES. Me azotó una guía rápida para esta mañana: http://www.millcreeksys.com/2011/12/14/how-to-configure-your-postfix-server-to-relay-email-through-amazon-simple-email-service-ses/

1voto

Tobias McNulty Puntos 111

Ya que usted es anfitrión de Python/Django aplicaciones en el servidor, usted puede encontrar que es preferible para la conexión de Postfix a Python equivalente de la AWS scripts de Perl. Esta guía tiene los detalles:

http://aws.amazon.com/articles/2405502737055650

Alternativamente, si desea utilizar las secuencias de comandos Perl, pero encontró (como yo) que su CPAN módulos son horriblemente fuera de fecha, una ruta más fácil puede ser para instalar las dependencias a través de su sistema operativo, el gestor de paquetes. E. g., en ubuntu, puedes hacerlo con:

sudo apt-get install libio-socket-ssl-perl libxml-libxml-perl

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: