我正在尝试编写一个简单的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
答案 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' ...