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

PHP邮件mime和Outlook 2010无标题附件,php,email-attachments,Php,Email Attachments,我正在使用Pears mail mime发送带有php附件的电子邮件 Outlook似乎正在将PDF重命名为“Untitled…”,但它对gmail、hotmail等都能正常工作 在此问题之前,我遇到了另一个问题,Outlook不会将文件显示为PDF并将其附加为文本文件,除非我明确告诉mime addAttachment文件类型 请参见此处的代码: if (endsWith($file,".pdf")) { $mime->addAttachment($file,'applic

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

Outlook似乎正在将PDF重命名为“Untitled…”,但它对gmail、hotmail等都能正常工作

在此问题之前,我遇到了另一个问题,Outlook不会将文件显示为PDF并将其附加为文本文件,除非我明确告诉mime addAttachment文件类型

请参见此处的代码:

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"
不幸的是,如果不编辑mime.php的核心代码,Pear-mime似乎无法发送这种格式

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