此脚本旨在将PDF附加到HTML电子邮件中。电子邮件本身发送正常,我可以看到附件也发送,但我的问题是电子邮件标题似乎没有被处理,所以我可以看到电子邮件正文中的标题和我的附件显示在电子邮件正文作为base64编码的字符串。
$attachment = Swift_Attachment::newInstance(file_get_contents($this->pdf), ucfirst($type) . '-VIP-membership-welcome-pack.pdf', 'application/pdf');
$this->message
->setSubject($this->subject)
->setBody($this->body, 'text/html')
->setTo([$orderDetails['EmailAddress']])
->setBcc(['support@harpoonmedia.co.uk', $this->defaultHeaders['to']])
->setFrom([$this->defaultHeaders['from']]);
$this->message->attach($attachment);
我尝试使用Swift_Mailers ::fromPath
方法添加文件,并得到相同的响应 - 当没有附件时,我看到HTML已正确添加到电子邮件中。
以下是输出(截断)
的示例--_=_swift_v4_1417539844_a449b32848d1edc3be2f0d67f968c81675770047_=_
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type=3D"text/css">
#hkemail #outlook a{padding:0;}
#hkemail body{width:100% !important;-webkit-text-size-adjust:100%;-ms-text-size- adjust:100%;margin:0;padding:0;}
#hkemail .ExternalClass{width:100%;}=20
#hkemail .ExternalClass,.ExternalClass p,.ExternalClass span,.E=
xternalClass font,.ExternalClass td,.ExternalClass div{line-height:100%;}
#hkemail .bodytbl{margin:0;padding:0;width:100% !important;}=20
#hkemail img{outline:none;text-decoration:none;-ms-interpolatio=
n-mode:bicubic;display:block;}=20
#hkemail a img{border:none;}
这是在消息中输出的HTML主体的一部分,并且是在消息正文中输出的一些附件:
--_=_swift_v4_1417539844_a449b32848d1edc3be2f0d67f968c81675770047_=_
Content-Type: application/pdf; name=Gold-VIP-membership-welcome-pack.pdf
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=Gold-VIP-membership-welcome-pack.pdf
JVBERi0xLjQNJeLjz9MNCjQgMCBvYmoNPDwvTGluZWFyaXplZCAxL0wgMTE3ODY4MC9PIDYvRSAx
MTE5NzczL04gMS9UIDExNzg0ODEvSCBbIDEzOTYgMjY0XT4+DWVuZG9iag0gICAgICAgICAgICAg
DQp4cmVmDQo0IDU1DQowMDAwMDAwMDE2IDAwMDAwIG4NCjAwMDAwMDE2NjAgMDAwMDAgbg0KMDAw
MDAwMTcyMCAwMDAwMCBuDQowMDAwMDAxOTk0IDAwMDAwIG4NCjAwMDAwMDI0MjcgMDAwMDAgbg0K
MDAwMDAwMjU4NCAwMDAwMCBuDQowMDAwMDAyNjE4IDAwMDAwIG4NCjAwMDAwMDU2OTggMDAwMDAg
显然这种情况持续了很长时间。
任何帮助非常感谢谢谢!
答案 0 :(得分:1)
我有同样的问题,并意识到我使用的是DEV版本 - Swift-5.3.1-DEV(因此可能不稳定)。
降级到最新的稳定版本Swift-5.3.0后,我现在可以看到这个问题已经消失。
我没有使用Composer来安装最新的稳定版,而是发现自己使用了SwiftMailer的GitHub帐户中的ZIP。此版本是DEV版本,因此请确保您获得最新的稳定版本:https://github.com/swiftmailer/swiftmailer/releases
希望这有帮助。