如何使用Email :: Send :: SMTP :: Gmail向多个收件人发送电子邮件

时间:2015-12-10 17:15:51

标签: perl email

我正在尝试编写一个简单的perl脚本,用于使用Email :: Send :: SMTP :: Gmail发送电子邮件。

以下是我到目前为止编写的脚本。

   use strict;
   use warnings;

   use Email::Send::SMTP::Gmail;

   my $mail=Email::Send::SMTP::Gmail->new( -smtp=>'smtp.gmail.com',
                                       -login=>'abc@gmail.com',
                                       -pass=>'12345',
                   -port=>587,
                   -verbose=>1,
                   -debug=>1);

   $mail->send(-to=>'pqr@gmail.com', -subject=>'Hello!',     -body=>'Just testing it', -verbose=>1, -debug=>1);

   $mail->bye;

这个脚本运行正常。 如何将此电子邮件发送给多个人(即“to”字段中的多个电子邮件ID)。 我尝试过使用:

$mail->send(-to=>['pqr@gmail.com', 'xyz@gmail.com'], -subject=>'Hello!',     -body=>'Just testing it', -verbose=>1, -debug=>1);

但是我收到了一个错误:

Net::SMTPS=GLOB(0x23b77a8)>>> RCPT TO:<ARRAY(0x1ee5e78)>
Net::SMTPS=GLOB(0x23b77a8)<<< 553 5.1.2 The address specified is not a  valid RFC-5321 address. w78sm722980qka.25 - gsmtp

2 个答案:

答案 0 :(得分:5)

documentation:在电子邮件地址之间插入逗号。

  

发送(-to =&gt;&#39;&#39;,[-subject =&gt;&#39;&#39;,-cc =&gt;&#39;&#39;,-bcc =&gt;&#39;&#39;,-replyto =&gt;&#39;&#39;,-body =&gt;&#39;&#39;,-attachments =&gt;&#39;& #39;])
  它一次编写和发送电子邮件

     

to,cc,bcc:以逗号分隔的电子邮件地址
  附件:带有完整路径的逗号分隔文件

$mail->send(-to=>'a@gmail.com,b@gmail.com,c@gmail.com,...'

答案 1 :(得分:0)

将所有收件人简单地添加为以逗号分隔的列表:

(-to=>'pqr@gmail.com,rec2@gmail.com' ...