¿Como uso Sendmail?

Visión General

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:

  • El correo REMITENTE es tu user@server. Por ejemplo: username@servername.dreamhost.com.
  • 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)

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 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
  • La dirección del DESTINATARIO es lo que ingresaste: youremail@example.com

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.