Cuantas veces nos vimos en la necesidad de enviar reportes por e-mail desde nuestro servidor GNU/Linux.
[...]
Nunca?
[...]
Bueno, yo si, y me he topado con el problema de no tener ganas de luchar con sendmail, postfix ni nada de eso, quería un cliente SMTP rápido, sencillo y no volverme loco con extensos archivos de configuración.
Todo surgió porque quería enviar un email con logs.
Bueno, el hecho es que primero me meti con ssmtp y me di cuenta que se me estaba complicando la configuración (no me acuerdo porque) por lo que encontré una alternativa todavía más fáci: msmtp.
Para instalar:
$ sudo apt-get install msmtp
Lo bueno de esto es que podemos tener 2 tipos de configuraciones, 1 global (poniendo el archivo de cofiguración en el /etc o una particular al usuario ubicándola en el home del usuario ~/
Otro problema que se me presentó fue, que cuenta uso para enviar los correos?.
Opciones:
1) Ejemplo de configuración con cuenta arnet:
$ sudo vim /etc/msmtprc
account default
host mail.miempresa.com.ar
port 587 # <--- (1)
from [email protected]
auth login
user [email protected]
password hackme
(1) aca iría 25 pero como algunos ISP están bloqueando el 25 (como arnet) entonces encontré que se podía usar este port
2) Ejemplo de configuracion con cuenta de gmail:
$ sudo vim /etc/msmtprc
account default
host smtp.gmail.com
from [email protected]
auth on
tls on
tls_certcheck off
user [email protected]
password hackme
port 587
Como yapa les dejo un programita en PERL que manda los correos:
use MIME::Base64;
use MIME::Lite;
$msg = MIME::Lite->new(
From =>'[email protected]',
To =>$email,
Subject =>'Reportes del dia',
Type =>'multipart/mixed'
);
$msg->attach(Type =>'TEXT',
Data =>'Reportes del servidor juanito'
);
$msg->attach(Type =>'application/x-compressed',
Path =>'/var/tmp/reportes.tgz',
Filename =>'reportes.tgz',
Disposition => 'attachment'
);
}
$msg->send;
Bueno espero les sirva y los saque de apuros ... salu2