发送电子邮件到多个收件人 [英] Sending email to multiple recipients

查看:145
本文介绍了发送电子邮件到多个收件人的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我把一些旧的代码从一个旧的unix框移动到了我们的新的unix框中,而且我发现一个perl脚本向多个收件人发送电子邮件有一些困难。它在旧的盒子上工作。



旧盒子perl:版本5.004_04为PA-RISC2.0而设计



新框perl:为IA64建立的v5.8.8.ARCHREV_0-thread-multi-LP64



以下是脚本的基础知识(精简版):

 使用Net :: SMTP :: Multipart; 
$ to =sam\@bogus.com tom\@foo.com;
$ smtp = Net :: SMTP :: Multipart-> new($ smtpserver);
$ smtp->标题(To => $ to,
From ="junk\@junk.com,
Subj =>这是一个测试。 );
$ smtp-> Text(Hello,world!\\\
);
$ smtp-> End();

如果我将其更改为 $ to =justOneEmail\ @ address.com,但如果我有两个或多个电子邮件地址(以空格分隔),则不再有效。我没有收到错误消息,但没有显示任何消息。



任何想法为什么?

解决方案

像这样

 使用Net :: SMTP :: Multipart; 
$ to1 =sam\@bogus.com;
$ to2 ='tom@foo.com';
$ smtp = Net :: SMTP :: Multipart-> new($ smtpserver);
$ smtp->标题(To => [$ to1,$ to2,'another_email@server.com'],
From ="junk\@junk.com,
Subj =>这是一个测试。);
$ smtp-> Text(Hello,world!\\\
);
$ smtp-> End();请注意,如果您使用双引号,则应该将电子邮件地址中的@或perl转义为



<可能会尝试将其解释为数组插值。


I've moved some old code from an old unix box to our new unix box, and I'm having some difficulty with a perl script sending email to multiple recipients. It works on the old box.

Old box perl: version 5.004_04 built for PA-RISC2.0

New box perl: v5.8.8 built for IA64.ARCHREV_0-thread-multi-LP64

Here's the basics of the script (stripped-down):

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();

This works if I change it to $to = "justOneEmail\@address.com", but if I have two or more email addresses (separated by spaces), it no longer works. I don't get an error message, but no message shows up.

Any ideas why?

解决方案

Do it like this:

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();

Notice that if you use double-quotes, you should escape the @ in the email addresses, or perl may try to interpret it as an array interpolation.

这篇关于发送电子邮件到多个收件人的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆