Jon*_*n M 5 email perl smtp multipart
我已经将一些旧代码从旧的unix框移动到我们的新unix框中,并且我在使用perl脚本向多个收件人发送电子邮件时遇到了一些困难.它适用于旧盒子.
旧盒子perl:为PA-RISC2.0构建的版本5.004_04
新的盒子perl:为IA64.ARCHREV_0-thread-multi-LP64构建的v5.8.8
这是脚本的基础知识(精简版):
use Net::SMTP::Multipart;
$to = "sam\@bogus.com tom\@foo.com";
$smtp = Net::SMTP::Multipart->new($smtpserver);
$smtp->Header(To    =>  $to,
      From  =>  "junk\@junk.com",
      Subj  =>  "This is a test.");
$smtp->Text("Hello, world!\n");
$smtp->End();
如果我将其更改为$to = "justOneEmail\@address.com",则此方法有效,但如果我有两个或更多电子邮件地址(以空格分隔),则它不再有效.我没有收到错误消息,但没有显示任何消息.
有什么想法吗?
像这样做:
use Net::SMTP::Multipart;
$to1 = "sam\@bogus.com"; 
$to2 = 'tom@foo.com';
$smtp = Net::SMTP::Multipart->new($smtpserver);
$smtp->Header(To    =>  [ $to1, $to2, 'another_email@server.com' ],
              From  =>  "junk\@junk.com",
              Subj  =>  "This is a test.");
$smtp->Text("Hello, world!\n");
$smtp->End();
请注意,如果使用双引号,则应该转义电子邮件地址中的 @,否则 Perl 可能会尝试将其解释为数组插值。