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

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

-8 = 参数$ to为空


1
注意:缺少 To-header 不是垃圾邮件过滤器轻易放过的事情。例如,SpamAssassin 会将至少 1.5 的分数加到这样一封电子邮件的垃圾邮件得分中。 - innaM
3个回答

4

在“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

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

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

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

从源代码来看,似乎仍然需要将to参数设置为某个值。也许" "可以达到效果?


-1

你尝试过使用 '' 吗?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接