我正在编写用于发送电子邮件和附加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()
这里的问题是什么?谢谢大家。
答案 0 :(得分:1)
$smtp->datasend($msg) or die "Error:".$smtp->message();
$msg
是MIME :: Lite对象,而不是字符串。
你想要的是一个字符串,即$msg->as_string
。
除此之外,您之前正在调用$msg->send
,这意味着它已尝试通过默认传输发送消息。除非你想要发送两次消息,否则这没有任何意义。