Pregunta

Quiero enviar a uno de los correos electrónicos desde un servidor Linux. El servidor no necesita recibir mensajes de correo electrónico de vuelta.

¿Hay una solución simple que sendmail para enviar mensajes de correo electrónico salientes únicamente?

Yo preferiría utilizar Perl para enviar el correo electrónico.

¿Fue útil?

Solución

Sendmail no es la única opción. puede utilizar Postfix, Qmail, y muchos otros

mis scripts de Perl llaman el comando mailx. saber cómo usarlo, tipo 'hombre mailx' Sin embargo, esto requiere tener un correclty MTA configurado.

O simplemente puede utilizar la biblioteca Perl Net :: SMTP y utilizar su servidor SMTP de elección

Otros consejos

Llamando a /usr/lib/sendmail suele ser el método preferido ya que maneja los problemas de entrega correctamente. Este no Sendmail . La mayoría (todos?) Del sistema de transporte de correo proporcionan un comando que acaban de nombre sendmail y proporciona una interfaz compatible con el original.

Como alternativa, puede enviar directamente a través de un relé SMTP utilizando un paquete como Net :: SMTP pero sea seguro adicional para atender correctamente a los problemas de entrega.

He utilizado msmtp con éxito, es decir, que soporta gran autenticación

TJ Luoma hizo un buen valoración crítica de la misma en TUAW

Me parece nullmailer una solución muy útil para el escenario descrito. Nullmailer es un etc MTA Sendmail / qmail / reemplazo que retransmite a un conjunto fijo de servidores de correo. Es muy sencillo de configurar y consume pocos recursos.

Una ventaja importante de nullmailer sobre otras soluciones mencionadas como mstmp y ssmtp es que mantiene una cola de mensajes de correo electrónico que se enviará. El envío de correo aplicación está bloqueada sólo un corto tiempo, mientras que el correo está en cola (milisegundos). El envío del correo sucede en el contexto de un proceso de otra. Soluciones como mstmp y ssmtp no mantienen una cola de correo electrónico. El envío ocurre en el contexto de la aplicación, bloqueando de este modo la aplicación. Enviando un correo electrónico de esta manera puede fácilmente tomar de 1 a 2 segundos o más. Esto puede no ser un problema en muchos casos, pero puede convertirse en un problema si el correo electrónico es enviado por una aplicación web.

http://untroubled.org/nullmailer/

No es necesario un agente de transporte de correo (MTA) instancia en la máquina que realiza el envío si usted tiene otro servidor de correo ya se está ejecutando en su organización: puede hacer que Perl entregar el correo electrónico a través de SMTP a ese servidor, así que no hay necesidad de tener (otra) como MTA sendmail en "su" máquina.

Soy aficionado a la creación de un Gmail u otra cuenta de forma gratuita y luego usando el correo API de Java en J2EE para enviar mensajes (de su nueva cuenta de Gmail) a quien ... Normalmente voy a crear una clase que puede ser Mailer construido con un constructor por defecto y luego darle un envío (cadena dest, subj String, String cuerpo [, Obj adjuntar ... si quieres]) y luego, en su caso, usted podría envolver la cosa en un método principal para que pueda llamarlo de algún otro con algunos argumentos de línea de comandos, o llamar desde dentro de un programa java. Si usted interesado te disparo del código.

Sé que dijo Perl, pero la más sencilla biblioteca de correo electrónico multiplataforma enviar he utilizado es pitón de smtplib . Sin duda vale la pena un vistazo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top