[英]354 End data with <CR><LF>.<CR><LF> perl use Net::SMTP:
我正在写一个用于发送电子邮件和附加zip文件的perl脚本,但是有错误
下面是运行代码时的错误:
Net::SMTP::SSL=GLOB(0x1b79e68)>>> RCPT TO:<ttranquang@tiaxa.as>
Net::SMTP::SSL=GLOB(0x1b79e68)<<< 250 2.1.5 Ok
Net::SMTP::SSL=GLOB(0x1b79e68)>>> DATA
Net::SMTP::SSL=GLOB(0x1b79e68)<<< 354 End data with <CR><LF>.<CR><LF>
======
$msg = MIME::Lite->new(
To =>'ttranquang@tiaxa.as',
Subject =>'VTT:Daily Report ['.$TimeDate.']',
Type => 'multipart/mixed'
);
### Create a part:
$part = MIME::Lite->new(
Top => 0,
Type =>'text/html',
Data =>'<H1>Daily Report</H1>',
);
$part->attr('content-type.charset' => 'UTF-8');
$part->add('X-Comment' => 'A report for you');
$msg->attach($part);
$msg->attach(
Type => 'application/zip',
Path => '/home/appaxa/scripts/rommel/send_report',
Filename => 'dailyreport.zip',
Dispostion => 'attachment'
);
$msg->send();
my $smtp;
$smtp = Net::SMTP::SSL->new($host, Port=>465, Debug => 1,
SSL => 0,) or die "Can't connect";
$smtp->auth($user, $pass) or die "Can't authenticate:".$smtp->message();
$smtp->mail('xtime@tel.co') or die "Error:".$smtp->message();
$smtp->to('ttranquang@tiaxa.as') or die "Error:".$smtp->message();
$smtp->data() or die "Error:".$smtp->message();
$smtp->datasend($msg) or die "Error:".$smtp->message();
$smtp->dataend() or die "Error:".$smtp->message();
$smtp->quit() or die "Error:".$smtp->message()
这是什么问题? 谢谢大家
$smtp->datasend($msg) or die "Error:".$smtp->message();
$msg
是MIME :: Lite对象,而不是字符串。 您想要的是一个字符串,即$msg->as_string
。
除此之外,您$msg->send
更早地调用$msg->send
,这意味着它已经尝试通过默认传输方式发送邮件。 除非您想发送两次消息,否则这实际上没有任何意义。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.