Lo que realmente quieres es enviar un correo desde tu máquina.
Entonces... no es necesario pedir la intervención de un servidor de correo para que nos mande nuestro correo al servidor de correo del destinatario. Podemos ser nosotros mismos los que enviemos el correo al destinatario.
He instalado el módulo Email::Send, que a su vez me ha pedido instalar los módulos Return::Value, Email::Simple y Email::Address (Net::SMTP ya estaba instalado).
Con el siguiente código:
Using perl Syntax Highlighting
#!/usr/bin/perl
use strict;
use warnings;
use Email::Send;
my $sender = Email::Send->new({ mailer => 'SMTP' });
$sender->mailer_args([Host => 'a.mx.mail.yahoo.com', Debug => 1]);
my $email = Email::Simple->new("");
$email->header_set("From", '[email protected]');
$email->header_set("To", '[email protected]');
$email->body_set("Hello world\nSimon");
$sender->send($email);
use strict;
use warnings;
use Email::Send;
my $sender = Email::Send->new({ mailer => 'SMTP' });
$sender->mailer_args([Host => 'a.mx.mail.yahoo.com', Debug => 1]);
my $email = Email::Simple->new("");
$email->header_set("From", '[email protected]');
$email->header_set("To", '[email protected]');
$email->body_set("Hello world\nSimon");
$sender->send($email);
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
- Código: Seleccionar todo
explorer@next3:~/Documents/Perl/desarrollo> ./kk.pl
Net::SMTP>>> Net::SMTP(2.29)
Net::SMTP>>> Net::Cmd(2.26)
Net::SMTP>>> Exporter(5.58)
Net::SMTP>>> IO::Socket::INET(1.28)
Net::SMTP>>> IO::Socket(1.28)
Net::SMTP>>> IO::Handle(1.24)
Net::SMTP=GLOB(0x844678c)<<< 220 mta545.mail.mud.yahoo.com ESMTP YSmtp service ready
Net::SMTP=GLOB(0x844678c)>>> EHLO localhost.localdomain
Net::SMTP=GLOB(0x844678c)<<< 250-mta545.mail.mud.yahoo.com
Net::SMTP=GLOB(0x844678c)<<< 250-8BITMIME
Net::SMTP=GLOB(0x844678c)<<< 250-SIZE 31981568
Net::SMTP=GLOB(0x844678c)<<< 250 PIPELINING
Net::SMTP=GLOB(0x844678c)>>> MAIL FROM:<[email protected]>
Net::SMTP=GLOB(0x844678c)<<< 250 sender <[email protected]> ok
Net::SMTP=GLOB(0x844678c)>>> RCPT TO:<[email protected]>
Net::SMTP=GLOB(0x844678c)<<< 250 recipient <[email protected]> ok
Net::SMTP=GLOB(0x844678c)>>> DATA
Net::SMTP=GLOB(0x844678c)<<< 354 go ahead
Net::SMTP=GLOB(0x844678c)>>> From: [email protected]
Net::SMTP=GLOB(0x844678c)>>> To: [email protected]
Net::SMTP=GLOB(0x844678c)>>>
Net::SMTP=GLOB(0x844678c)>>> Hello world
Net::SMTP=GLOB(0x844678c)>>> Simon
Net::SMTP=GLOB(0x844678c)>>> .
Net::SMTP=GLOB(0x844678c)<<< 250 ok dirdel
Fíjate que en vez de conectarme a smtp.mail.yahoo.com.mx, lo he hecho a otro servidor de correo que sí admite correo externo.
(Las direcciones de correo están modificadas para evitar a los robots de spam. Deberías hacer lo mismo en tus mensajes anteriores).