[英]Email delivery failure with Email::Sender in Perl
我正在用Perl编写程序,将电子邮件发送给收件人列表。 完成此操作后,我想打印所有收件人的列表,以及是否收到电子邮件,例如:-email@email.com是-email2@email.com错误,依此类推。
我在下面编写了代码,并且可以正常工作,如果传递失败,则将电子邮件和电子邮件发送给发件人,但是我不知道如何打印列表?
use Email::Simple::Creator; # or other Email::
while (<lista_direcciones>) {
#En $_ está cada una de las direcciones
my $message = Email::Simple->create(
header => [
From => $dir_origen,
To => $_,
Subject => $asunto,
],
body => $contenido,
);
try {
sendmail($message, { transport => $transport });
} catch {
warn "Sending failed: $_";
};
}
提前致谢!
只需将它们放入哈希并保存结果即可。 然后,遍历该哈希并打印结果。
my %addresses;
while (<lista_direcciones>) {
#En $_ está cada una de las direcciones
my $message = Email::Simple->create(
header => [
From => $dir_origen,
To => $_,
Subject => $asunto,
],
body => $contenido,
);
try {
sendmail( $message, { transport => $transport } );
$addresses{$_} = 1;
}
catch {
$addresses{$_} = 0;
warn "Sending failed: $_";
};
}
foreach $to ( keys %addresses ) {
printf "%s: %s\n", $to, $addresses{$to} ? 'yes' : 'no';
}
或者,您也可以在发送邮件的地方旁边放一个print
。
try {
sendmail( $message, { transport => $transport } );
print "$_ yes\n";
}
catch {
warn "Sending failed: $_";
print "$_ no\n";
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.