【问题标题】:PHP mail mime and Outlook 2010 Untitled attachmentsPHP 邮件 mime 和 Outlook 2010 无标题附件
【发布时间】:2014-04-07 07:34:27
【问题描述】:

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

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

看来 Outlook 正在将 PDF 重命名为“无标题...”,但它适用于 gmail、hotmail 等。

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

在此处查看代码:

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

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

}
else {

        $mime->addAttachment($file);

}

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

Outlook 不会重命名其他文件类型,因此它是一个 catch 22,要么不设置文件类型,让 Outlook 作为 txt 文件发送,要么设置文件类型,Outlook 将文件重命名为“无标题”

【问题讨论】:

    标签: php email-attachments


    【解决方案1】:

    好的,发现 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 似乎无法发送这种格式

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-14
      • 2011-08-25
      • 2013-11-28
      • 1970-01-01
      • 2021-08-19
      • 1970-01-01
      • 2020-03-12
      • 1970-01-01
      相关资源
      最近更新 更多