【发布时间】:2020-04-03 03:52:25
【问题描述】:
我有一个脚本可以发送带有嵌入图像和 html 正文的电子邮件,但是当我尝试发送其他文件时,它们会被覆盖,这是我的 perl 代码
push @parts,
Email::MIME->create(
attributes => {
content_type => $CtypeB,
encoding => $EncodingB,
charset => $CharsetB,
},
body => $BodyB,
),
;
push @parts,
Email::MIME->create(
header_str=> [
'Content-ID' => $Content_ID,
],
attributes => {
content_type => $CtypeF,
encoding => $EncodingF,
'Content-Disposition' => $ContentD,
filename=> $FilenameF,
file => $FileF,
},
body => io($BodyF)->binary->all,
);
Email::MIME->create(
header_str => [
To => $Para,
From => $De,
Subject => $Asunto,
Cc => $Cc,
Bcc => $Bcc
],
attributes => {
content_type =>$CtypeH
},
parts => [@parts]
),
我假设作为在安排中创建的 Email :: MIME 的元素,这些将使用推送来适应,但是当我通过添加多个文件发送邮件时,它会被覆盖,也就是说,它发送最后一个附件,任何关于我做错了什么的想法或建议?,谢谢。
【问题讨论】:
-
提示:使用
\@parts而不是[@parts]可以避免不必要的复制 -
我不明白你对最终创建的返回做了什么;这可能是问题吗?除此之外,它看起来还可以。你能想出一个简短的可运行脚本来演示你的问题吗?
-
使用Email::Stuffer 会更简单。
标签: arrays perl email email-attachments mime