Perl 无法使用Email::Simple::Sender从Net::Server::mail::SMTP发送邮件

Perl 无法使用Email::Simple::Sender从Net::Server::mail::SMTP发送邮件,perl,email,smtp,Perl,Email,Smtp,从处理数据事件的my sub中: my $email = Email::Simple->create( header => [ To => $recipient, From => $sender, Subject => $subject, ], body => $body, ); sendmail($email); 当我试着做一个测试时,我会telnet到服务器上获取数据,当我输入数

从处理数据事件的my sub中:

my $email = Email::Simple->create(
    header => [
      To      => $recipient,
      From    => $sender,
      Subject => $subject,
    ],
    body => $body,
);
sendmail($email);
当我试着做一个测试时,我会telnet到服务器上获取数据,当我输入数据时。(触发此事件)我得到以下信息:

at /usr/local/share/perl5/Net/Server/Mail.pm line 351, <GEN1> line 6.
    Net::Server::Mail::callback('Net::Server::Mail::ESMTP=HASH(0x3a06288)', 'DATA', 'SCALAR(0x3ae0b58)') called at /usr/local/share/perl5/Net/Server/Mail.pm line 233
    Net::Server::Mail::make_event('Net::Server::Mail::ESMTP=HASH(0x3a06288)', 'name', 'DATA', 'arguments', 'ARRAY(0x3ae0df8)', 'success_reply', 'ARRAY(0x3ae0f90)') called at /usr/local/share/perl5/Net/Server/Mail/SMTP.pm line 644
    Net::Server::Mail::SMTP::data_finished('Net::Server::Mail::ESMTP=HASH(0x3a06288)', '') called at /usr/local/share/perl5/Net/Server/Mail/SMTP.pm line 618
    Net::Server::Mail::SMTP::data_part('Net::Server::Mail::ESMTP=HASH(0x3a06288)', '.\x{d}\x{a}') called at /usr/local/share/perl5/Net/Server/Mail.pm line 443
    Net::Server::Mail::tell_next_input_method('Net::Server::Mail::ESMTP=HASH(0x3a06288)', '.\x{d}\x{a}') called at /usr/local/share/perl5/Net/Server/Mail.pm line 516
    Net::Server::Mail::process('Net::Server::Mail::ESMTP=HASH(0x3a06288)') called at /path/to/mail_server.pl line 47
at/usr/local/share/perl5/Net/Server/Mail.pm第351行,第6行。
在/usr/local/share/perl5/Net/Server/Mail.pm第233行调用Net::Server::Mail::callback('Net::Server::Mail::ESMTP=HASH(0x3a06288)'、'DATA'、'SCALAR(0x3ae0b58')
Net::Server::Mail::make_事件('Net::Server::Mail::ESMTP=HASH(0x3a06288)'、'name'、'DATA'、'arguments'、'ARRAY(0x3ae0df8)'、'success_reply'、'ARRAY(0x3ae0f90)'在/usr/local/share/perl5/Net/Server/Mail/SMTP.pm第644行调用
Net::Server::Mail::SMTP::data_finished('Net::Server::Mail::ESMTP=HASH(0x3a06288)'”),在/usr/local/share/perl5/Net/Server/Mail/SMTP.pm第618行调用
Net::Server::Mail::SMTP::data_part('Net::Server::Mail::ESMTP=HASH(0x3a06288)'。\x{d}\x{a}')在/usr/local/share/perl5/Net/Server/Mail.pm第443行调用
Net::Server::Mail::tell_next_input_method('Net::Server::Mail::ESMTP=HASH(0x3a06288)'。\x{d}\x{a}')在/usr/local/share/perl5/Net/Server/Mail.pm行516处调用
Net::Server::Mail::process('Net::Server::Mail::ESMTP=HASH(0x3a06288)’在/path/to/Mail_Server.pl第47行调用

如果我删除sendmail调用,它可以正常工作(除非它不发送电子邮件)。

此时,我通常开始阅读源代码。看看N::s::M的第351行发生了什么,然后从那里开始


另外,看看你的邮件记录。当程序试图将邮件发送到本地或直接发送到远程收件人时,可能出现了一些错误。

我没有看到错误消息。是的,它似乎没有抛出真正的错误消息,只是这条语句看起来像是一个警告,里面什么都没有。