我有一些PHP代码从HTML表单中获取数据,创建PDF(使用fpdf),然后通过电子邮件向用户发送PDF。我正在使用PHPMailer将pdf文件发送给用户。这一切似乎工作正常,有效的PDF到达指定的电子邮件地址。
在某些情况下,当用户将此电子邮件转发给第三方(它始终是同一个第三方)时,第三方一直在报告PDF不可读(如损坏的那样)。它只发生在少数情况下,我找不到一个共同的主题。这些消息将发送到Office 365系统,该系统也将转发消息。
我的用户通常会在他们的工作问题iPad上收集电子邮件,邮件将从那里转发。
做了一些挖掘之后,我注意到PDF格式已损坏的邮件的原始内容如下所示(BASE64部分的标题)。 xxxxx就是我。
--_005_A421FDCEF50F4B6D813D37045CFF0CBExxxxxx_
Content-Transfer-Encoding: BASE64
Content-Disposition: ATTACHMENT;
size=1375857;
modification-date="Thu, 16 Jun 2016 13:18:11 GMT";
filename=xxxxx92471462.pdf;
creation-date="Thu, 16 Jun 2016 13:18:11 GMT"
Content-Type: APPLICATION/PDF;
name=xxxxxbe92471462.pdf
Content-Id: <8D340DC9CB8C174E97F546D602F2FD49@xxxxxx.com>
ReceivedfromDB3PR01MB0729eurprd01prodexchangelabscom101605123byDB3PR01MB0730
eurprd01prodexchangelabscom101605124withMicrosoftSMTPServerTLSid1515118viaMa
ilboxTransportSat11Jun2016103431+0000ReceivedfromDB5PR01CA0007eurprd01prodex
changelabscom10162149145byDB3PR01MB0729eurprd01prodexchangelabscom101605123w
ithMicrosoftSMTPServerTLSid1515118Sat11Jun2016103429+0000ReceivedfromDB3FFO1
1FD045protectiongbl2a01111f4007e04176byDB5PR01CA0007outlookoffice365com2a011
11e40051b717withMicrosoftSMTPServerTLSid1515178viaFrontendTransportSat11Jun2
...
在我看来,不知何故,一大堆邮件标头已经进入了BASE64,因此附件变得严重受损。稍后在BASE64中,它看起来像更正常的编码附件。
我怀疑这与PHPMailer的初始创建有什么关系,因为消息很好。在我看来,某些东西正在将电子邮件结构和附件重新划分到某个地方。
以前有人见过这样的事吗?
非常感谢任何提示。