¿Como uso Sendmail?

Generalidades

Sendmail es un agente de transferencias de correo o mail transfer agent (MTA) que es bien conocido como un proyecto de código abierto, software gratis, y comunidades Unix. Es distribuido como software gratis y software privado. Es usado para enrutar el correo en la Internet para un destinatario específico, y puede ser hecho corriendo el comando de sendmail en un ambiente Shell. Puede ser usado también dentro de un script programado para enviar correo.

Este artículo cubre algunos ejemplos simples de Sendmail.

En los siguientes ejemplos, sólo deberás ajustar el texto que está en negrita.

Usar Sendmail desde el línea de comando

Los siguientes son dos ejemplos de cómo enviar correo desde la línea de comando usando Sendmail.

Ejemplo simple

Vé el artículo de SSH para ver instrucciones detalladas de como iniciar sesion dentro del servidor web vía SSH. Una vez en sesión, puedes correr el siguiente comando para enviar correo:

[server]$ /usr/sbin/sendmail youremail@example.com
Subject: Test Send Mail
Hello World
control d (this key combination of control key and d will finish the email.)

El ejemplo anterior envía un correo de esta manera:

  • La primera línea indica la dirección de correo electrónico sendmail enviará el correo electrónico PARA.
  • El ASUNTO es 'Test Send Mail'
  • El cuerpo del mensaje dice 'Hello World'
  • El correo de DESTINATARIO solo se muestra como destinatarios no revelados (undisclosed-recipients)
  • Cuando se recibe el mensaje, la dirección de correo electrónico DE aparecerá como su usuario @servidor. Por ejemplo, username@servername.dreamhost.com

Agregar correos de REMITENTE y DESTINATARIO

Este ejemplo es el mismo que se mostró anteriormente pero especifica el correo Remitente y Destinatario:

[server]$ /usr/sbin/sendmail youremail@example.com
To: differentemail@example.com
From: anyone@example.com
Subject: Test Send Mail
Hello World
control d (this key combination will finish the email.)

El ejemplo anterior envía un correo de esta manera:

  • La primera línea indica la dirección de correo electrónico sendmail enviará el correo electrónico PARA.
  • El correo electrónico que ingresas en el campo Para no recibe un correo electrónico. Solo se muestra como la dirección Para cuando el destinatario real recibe el correo electrónico. El destinatario sigue siendo el primer correo electrónico que ingresa en la primera línea cuando ejecuta el comando, y también puede ser el mismo si lo deseas.
  • La dirección de REMITENTE es lo que ingresaste: anyone@example.com.
  • El ASUNTO es lo que ingresaste: Test Send Mail
  • El CUERPO del mensaje es lo que ingresaste: Hello World

El correo que ingresas al campo de “To” no recibe el correo, solo se muestra como el correo de “To” cuando el que recibe el correo es el DESTINATARIO o “Recipient”. El destinatario sigue siendo el primer correo que tu ingresas en la primera line cuando corres el comando.

Sendmail en un script de cgi

También puedes usar Sendmail en un script. Esto puede hacerse en muchos lenguajes. El siguiente ejemplo muestra un script de perl cgi.

Crea un archivo llamado perltest.pl con el siguiente código y asegúrate que los permisos del archivo estén en 755 o no correrá.

Mira cómo los campos de Destinatario, Remitente y Asunto no terminan a menos que terminen con /n.

#!/usr/bin/perl
use strict;
my($mailprog) = '/usr/sbin/sendmail';
my($from_address) ='AnyoneYouWant@example.com';
my($to_address) ='email@example.com';
       open (MAIL, "|$mailprog -t $to_address") || die "Can't open $mailprog!\n";
       print MAIL "To: $to_address\n";
       print MAIL "From: $from_address\n";
       print MAIL "Subject: Hello, self. Nice to email myself.";
       print MAIL "This is still subject line.\n";
       print MAIL "This is the body of my message.\n";
       print MAIL "Pretty boring, yes?\n";
       print MAIL "Goodbye.\n";
       close (MAIL);

Este ejemplo envía el correo a email@example.com.

Ver también

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.