No soy bueno configurando el Postfix. Lo mio es el Exim4

Te aconsejo que arranques el asistente.
De mi archivo, veo que las líneas interesantes son estas:
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = jferrero.noip.geek
mydestination = Arcanus, localhost.localdomain, localhost, jferrero.noip.geek
relayhost = correo.joaquinferrero.com
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
default_transport = smtp
relay_transport = smtp
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl/sasl_passwd
smtp_sasl_security_options =
De ahí sacamos que mi "smarthost" es el indicado por la entrada "relayhost". Ahí es donde se conectará para enviar el correo que se genere en mi máquina, que está indicada en la entrada "myhostname".
Como mi servidor de correo necesita autenticación, están puestas además las opciones "smtp_sasl_*" para indicar en qué archivo se guardan las credenciales.
En /etc/postfix/sasl/sasl_passwd hay una línea así:
correo.joaquinferrero.com explor@joaquinferrero.com:Nan&&telovewebon
donde se indican las credenciales (usuario:contraseña) para cada servidor externo.
Con esto, ya puedo escribir un programa así de sencillo:
#!/usr/bin/perl
use Mail::Sendmail;
my %mail = (
From => 'explorer@jferrero.noip.geek',
To => 'explor@joaquinferrero.com',
Message => "Este es un mensaje muy cortito",
);
sendmail
(%mail) or die $Mail::Sendmail::error;
Y Mail::Sendmail usará el MTA local para enviarme el correo a mi buzón externo.
Si, en cambio, no quiero usar el servidor local, puedo usar algún otro servidor externo, de forma directa:
#!/usr/bin/perl
use Mail::Sendmail;
my %mail = (
smtp => 'correo.joaquinferrero.com',
From => 'explorer@jferrero.noip.geek',
To => 'explor@joaquinferrero.com',
Message => "Un mensaje muy cortito",
);
sendmail
(%mail) or die $Mail::Sendmail::error;
Pero... no nos estamos identificando en el servidor destino (y tampoco lo permite hacer este módulo), así que para él somos un correo que llega de procedencia desconocida, y estaremos sujetos a sus reglas. En mi caso, me ha rechazado la recepción del correo y me ha metido en una lista gris, por ser sospechoso de ser correo basura. No puedo volver a intentarlo hasta pasados unos minutos.
2015-06-28 19:59:32 1Z9Grc-0007Vb-7Y H=(Arcanus) [37.101.173.131] F=<explorer@jferrero.noip.geek> temporarily rejected after DATA: message from explorer@jferrero.noip.geek over [37.101.173.131] will be GreyListed as it scores 7.2 spam pointsEs mejor usar otros módulos más modernos para el envío de correo, ya que permiten la autenticación, y así podemos enviar correo usando nuestro servidor de correo personal.
Mail::Sendmail está sin actualizar desde el 2003, mientras que
Mail::Sender se actualizó hace un año, y tiene más opciones de envío.