繁体   English   中英

PHP邮件mime和Outlook 2010无标题的附件

[英]PHP mail mime and Outlook 2010 Untitled attachments

我正在使用Pears邮件mime在php中发送带有附件的电子邮件。

http://pear.php.net/package/Mail_Mime/redirected

看来Outlook正在将PDF重命名为“无标题...”,但它对于gmail,hotmail等可以正常使用。

在出现此问题之前,我还有另一个问题,除非我明确告知mime addAttachment文件类型,否则Outlook不会将文件显示为PDF并将其附加为文本文件。

在这里查看代码:

if (endsWith($file,".pdf")) {

     $mime->addAttachment($file,'application/pdf',basename($file));

}
else {

        $mime->addAttachment($file);

}

您可以在上面看到,我也尝试过设置addAttachment的第三个参数来设置文件名,但这也没有用。

Outlook不会重命名其他文件类型,因此很麻烦22要么不设置文件类型并让Outlook作为txt文件发送,要么设置文件类型,然后Outlook将文件重命名为“无标题”

好的发现Outlook似乎不喜欢长文件名,缩短文件名是可行的。

Pear mime发送一个长文件名标头,分成以下部分:

Content-Transfer-Encoding: base64
Content-Type: application/pdf;
name*0*=US-ASCII''THIDSO5749_010.901%20-%2013.95505142_GARUDA%20RETARGETI;
name*1*=NG%20CPA%20CAMPAIGN_PT%20GARUDA%20INDONESIA%20%28PERSERO%29%20TBK;
name*2*=._NOV2013.pdf
Content-Disposition: attachment;
filename*0*=US-ASCII''THIDSO5749_010.901%20-%2013.95505142_GARUDA%20RETAR;
filename*1*=GETING%20CPA%20CAMPAIGN_PT%20GARUDA%20INDONESIA%20%28PERSERO;
filename*2*=%29%20TBK._NOV2013.pdf;
size=68426

Outlook无法处理此问题,但可以处理以下格式:

Content-Type: application/pdf;name="a long filename.....pdf"

不幸的是,Pear mime似乎无法在不编辑mime.php核心代码的情况下发送此格式

所以我现在只是发送较短的文件名

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM