如何使用 Mail::Sender 发送没有“收件人”地址的电子邮件?

Posted

技术标签:

【中文标题】如何使用 Mail::Sender 发送没有“收件人”地址的电子邮件?【英文标题】:How do I send an Email with no "to" address using Mail::Sender? 【发布时间】:2009-01-16 23:26:09 【问题描述】:

是否可以使用 Mail::Sender 发送只有 ccbcc 收件人的电子邮件?当我尝试发送没有“收件人”地址的电子邮件时,我得到了预期的返回码:

-8 = 参数 $ 为空

【问题讨论】:

当心:丢失的 To-header 不是垃圾邮件过滤器轻而易举的事情。例如,SpamAssassin 会将此类电子邮件的垃圾邮件评分至少增加 1.5。 【参考方案1】:

在“to”字段中使用空字符串'' 不起作用。使用空间就像一种魅力。

use Mail::Sender;

my $sender = Mail::Sender->new();
my $mail   = 
    smtp                 => 'mailserver',
    from                 => 'example@example.com',
    to                   => ' ',
    bcc                  => 'example@example.com',
    subject              => 'test',
    ctype                => 'text/plain; charset=utf-8',
    skip_bad_recipients  => 1,
    msg                  => 'test'
;

my $ret =  $sender->MailMsg($mail);

print $ret;

【讨论】:

【参考方案2】:

fake_to 参数是否起作用:

fake_to

=> 将在标题中显示的收件人地址。如果未指定,我们使用“to”的值。

如果您要将邮件发送到的地址列表很长,或者您不希望收件人看到彼此的地址,请将 fake_to 参数设置为一些信息丰富但虚假的地址或您的邮寄地址/分发列表。

http://metacpan.org/pod/Mail::Sender

查看源代码,您似乎仍然需要将to 参数设置为某些东西。也许" " 可以解决问题?

【讨论】:

【参考方案3】:

你试过用 '' 吗?

【讨论】:

以上是关于如何使用 Mail::Sender 发送没有“收件人”地址的电子邮件?的主要内容,如果未能解决你的问题,请参考以下文章

perl Mail::Sender模块发送邮件

用Perl发送邮件小例子

smtplib,发送邮件时的bug

如何使用 c++ (curl) 发送电子邮件

使用 PHPMailer 发送时事通讯(没有密件抄送的多个蒙面收件人)

如何向超过 15000 个收件人发送邮件?