То, что вы не получили письмо, не означает, что письмо не было отправлено. Возможно, он еще не доставлен, или его доставили и отфильтровали, или многое другое.
Есть много, много вещей, которые могут пойти не так с электронной почтой.
- Где часть скрипта с предупреждениями и строгим включением, и вы загружаете Net :: SMTP? Помогите себе в этом, прежде чем запускать Stackoverflow.
- Почему бы вам не проверить, что вы смогли подключиться к почтовому серверу?
- Почему вы не включили опцию
Debug
в своем звонке на new
?
- Были ли какие-либо предупреждения или сообщения об ошибках?
- Что происходит, когда вы пытаетесь использовать тот же SMTP-диалог, вручную подключаясь к серверу? Разместите всю стенограмму.
Есть много вещей, которые вы можете сделать, чтобы помочь себе, прежде чем задавать вопрос здесь, и полагаться на Stackoverflow даже для самых простых вопросов не дает вам шанс развить свои навыки.
#!perl
use warnings;
use strict;
use Net::SMTP;
my $smtpserver = 'smtp.vix.terra.com.br';
my $smtpuser = 'nathanpc';
my $fromemail = 'nathanpc@terra.com.br';
my $smtp = Net::SMTP->new($smtpserver, Timeout => 10, Debug => 1);
die "Could not connect to server!\n" unless $smtp;
$smtp->mail($smtpuser);
$smtp->to('eeepc904@gmail.com');
$smtp->data();
$smtp->datasend("To: eeepc904\@gmail.com\n");
$smtp->datasend("From: $fromemail\n");
$smtp->datasend("\n");
$smtp->datasend("test\n");
$smtp->dataend();
$smtp->quit;