Si en nuestro servidor Linux tenemos instalado el gestor de envío de correo sendmail, podemos enviar emails facilmente usando Perl y sendmail.
Para ello, deberemos conocer la ruta absoluta de sendmail (en el ejemplo
/usr/sbin/sendmail ) y redirigiendo el correo que queremos enviar al mismo sendmail usando la entrada estandar, conseguiremos realizar el envío que deseamos.
El procedimiento es muy sencillo, veamos un ejemplo y despues explicare que es exactamente lo que se está haciendo:
#!/usr/bin/perl
open(SENDMAIL, "| /usr/sbin/sendmail -t");
print SENDMAIL "Reply-to: de@programacionwe.net";
print SENDMAIL "Subject: Mensaje con perl";
print SENDMAIL "To: para@programacionweb.net";
print SENDMAIL "Content-type: text/plain";
print SENDMAIL "nn";
print SENDMAIL "Este es el texto del mensaje";
print SENDMAIL "nn";
close(SENDMAIL);
La primera linea del script, indica al sistema donde está el interprete de perl (
/usr/bin/perl ) para que el script pueda ser ejecutado, seguidamente , hacemos un
open con un pipe (
| ) al sistema de envio (
/usr/sbin/sendmail -t ), de esta manera, todo lo que escribamos usando
print en el canal abierto (llamado SENDMAIL) será enviado por el pipe al programa sendmail que se encargará de enviarlo a su destinatario.
Las siguientes líneas són el mensaje, compuesto por los encabezados, que indican para quien, de quien y de que trata el email, y después de dos saltos de línea (n) el cuerpo del mensaje terminado por dos saltos de línea más.
Una vez cerrado el canal de comunicación usando
close , sendmail da el mensaje por finalizado y lo envía a quien hayamos indicado en los encabezados.
Autor: Eloi de San Martín
http://www.programacionweb.net/articulos/articulo/?num=307
Usuarios que han visto este tema también han visto...
- ¿Cómo enviar emails usando Perl y Sendmail?
- XML con Perl
- Qué es Perl
- PostgreSQL con perl en el WEB
- Expresiones Regulares en Perl
- Versión imprimible de este documento
- Enviar por e-mail este documento