Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在Mac电子邮件应用程序的浏览器中打开PDF附件_Php_Macos_Email_Email Attachments_Email Client - Fatal编程技术网

Php 在Mac电子邮件应用程序的浏览器中打开PDF附件

Php 在Mac电子邮件应用程序的浏览器中打开PDF附件,php,macos,email,email-attachments,email-client,Php,Macos,Email,Email Attachments,Email Client,我正在通过PHP发送带有PDF附件的电子邮件。它在每一个webmail、Thunderbird、Outlook、iOs上都能正常工作,但在Mac OS X邮件应用程序上,我有一个奇怪的行为:当我点击PDF附件时,它会打开我在浏览器中发送电子邮件的网站主页。不过,如果我右键单击附件并选择在AcrobatPDF中打开,效果会很好。其他带有PDF附件的电子邮件正在按预期打开,因此它与某些邮件头相关,而不是与软件配置相关 是PDF在浏览器中打开,而不是AcrobatPDF,如果它不重定向到主页,这将不会

我正在通过PHP发送带有PDF附件的电子邮件。它在每一个webmail、Thunderbird、Outlook、iOs上都能正常工作,但在Mac OS X邮件应用程序上,我有一个奇怪的行为:当我点击PDF附件时,它会打开我在浏览器中发送电子邮件的网站主页。不过,如果我右键单击附件并选择在AcrobatPDF中打开,效果会很好。其他带有PDF附件的电子邮件正在按预期打开,因此它与某些邮件头相关,而不是与软件配置相关

是PDF在浏览器中打开,而不是AcrobatPDF,如果它不重定向到主页,这将不会是一个问题

以下是电子邮件来源的相关部分:

To: me@example.com
Subject: My email
X-PHP-Originating-Script: 10006:mail.inc.php
From: them@example.com
MIME-Version: 1.0
X-Mailer: Html Mime Mail Class
Content-Type: multipart/mixed;
    boundary="=_02f1bb81e24e79ba7b9a88259d584c02"
Reply-to: them@example.com

This is a MIME encoded message.

--=_02f1bb81e24e79ba7b9a88259d584c02
Content-Type: multipart/alternative;
    boundary="=_9bb751c17df5df4380796b97e7544792"

--=_9bb751c17df5df4380796b97e7544792
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit

No text version was provided

--=_9bb751c17df5df4380796b97e7544792
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: quoted-printable

[... html content ...]

--=_9bb751c17df5df4380796b97e7544792--

--=_02f1bb81e24e79ba7b9a88259d584c02
Content-Type: application/pdf;
    name="my_pdf_file.pdf"
Content-Disposition: attachment; filename="my_pdf_file.pdf"
Content-Transfer-Encoding: base64

[... attachment in base 64 ...]
因此
内容类型
内容配置
设置正确,但Apple Mail似乎忽略了
内容配置
。我是否可以设置其他一些头来强制下载附件

不确定它是否与问题有关,但我使用(HTML Mime邮件)进行以下设置:

require_once("../../lib/HTMLMimeMail/mail.inc.php");
ob_start();
include('../../app/View/Email/myemail.php');
$bodyHtml = ob_get_contents();
ob_clean();

$subject = 'My email';
$_envoiMail = new html_mime_mail("X-Mailer: Html Mime Mail Class");
$_envoiMail->set_charset('utf-8');
$_envoiMail->add_html($bodyHtml, '');
$file_name = '../../../../uploads/my_pdf_file.pdf';
$attachment = $_envoiMail->get_file(dirname(__FILE__) . '/' . $file_name);
$_envoiMail->add_attachment($attachment, 'my_pdf_file.pdf', 'application/pdf');
$_envoiMail->build_message();
$_envoiMail->send('Me', 'me@example.com', 'Them', 'them@example.com', $subject, "Reply-to: them@example.com");