phpmailer:发送带附件的电子邮件并设置文件名

Posted

技术标签:

【中文标题】phpmailer:发送带附件的电子邮件并设置文件名【英文标题】:phpmailer: Sending email with attachment and setting the name of the file 【发布时间】:2017-06-11 15:39:39 【问题描述】:

我写了一个脚本,它生成一个pdf文件并用phpmailer通过电子邮件发送。 在电子邮件中,我将 pdf 文件的名称更改为更具描述性的名称。

$mail->addAttachment('assets/old_filename.pdf','new_name.pdf');

在某些电子邮件客户端(如 Gmail)中,该文件是可读的,但当您下载它时,它会在没有扩展名的情况下保存。 如果我没有设置附件的名称,它会与扩展名 (pdf) 一起保存。 我尝试设置一个 mime 类型并使用 codeigniter 发送它。没用。

【问题讨论】:

【参考方案1】:

在我看来,您正在使用 phpmailer。你可以试试这个例子https://github.com/PHPMailer/PHPMailer/blob/master/examples/send_file_upload.phps

【讨论】:

对不起,答案与问题无关......问题在于 gmail 在设置附件名称后理解正确的 mime 类型【参考方案2】:

PHPMailer 会自动为.pdf 附件设置正确的MIME 类型,所以不是这样。我建议检查收到的消息的来源,您应该能够在附件部分标题中看到文件名。如果那里是正确的,但在您保存时被删除,那是 gmail 问题,与您的消息无关。

【讨论】:

以上是关于phpmailer:发送带附件的电子邮件并设置文件名的主要内容,如果未能解决你的问题,请参考以下文章

PHPMailer-master不发送邮件[重复]

PHP 使用PHPmailer发送邮件+附件

如何使用 PHPMailer 从 PC 将文件附加到电子邮件

PHP下利用PHPMailer

Python向多人发送、抄送带附件的邮件(含详细代码)

没有附件的正文上的phpMailer图像