说,我有一个application / xhtml xml内容和一个gif图像.如何在单个http get请求(使用 PHP)中提供(不呈现)这两个?它应该是一个多部分/相关内容.读完 this RFC后,我试了一下;但它不起作用. (不,我不是要发送带附件的电子邮件) 提前致谢. 编辑:最后我成功了.我想,如果我写下我是怎么做的,那将会很有用.我已添加此作为答案.请看下面. 我担心你不能达到你想
说,我有一个application / xhtml xml内容和一个gif图像.如何在单个http get请求(使用
PHP)中提供(不呈现)这两个?它应该是一个多部分/相关内容.读完
this RFC后,我试了一下;但它不起作用. (不,我不是要发送带附件的电子邮件)
提前致谢.
编辑:最后我成功了.我想,如果我写下我是怎么做的,那将会很有用.我已添加此作为答案.请看下面.
我担心你不能达到你想要的目的.
如果你想这样做来提供网页,据我所知,浏览器将无法使用这种MIME响应来呈现页面.
如果您想要一个关于此消息如何工作的示例,请向您自己发送带有附件的电子邮件,并在您的电子邮件客户端(而不是Webmail)上转到电子邮件正文中的“查看源”选项.
您将使用MIME Multipart编码在同一邮件上看到您的邮件,附件和可能的其他部分.
OTOH,如果你想要它发送电子邮件,有些库,比如PHPMailer,将为你做所有的编码.
如果这是你想要的,请在他们的网站上查看this example.
编辑:
您可以使用PHPMailer构建消息,然后您只使用结果,而不是实际发送电子邮件.
尝试这样的事情:
**这是未经测试的代码,仅用于起点**
<?PHP
require_once('../class.PHPmailer.PHP');
$mail = new PHPMailer(true); // the true param means it will throw exceptions on errors,which we need to catch
try {
$mail->MsgHTML(file_get_contents('contents.html'));
$mail->AddAttachment('images/PHPmailer.gif'); // attachment
$mail->AddAttachment('images/PHPmailer_mini.gif'); // attachment
$mime_message = $mail->CreateBody();
echo $mime_message;
} catch (PHPmailerException $e) {
echo $e->errorMessage(); //Pretty error messages from PHPMailer
} catch (Exception $e) {
echo $e->getMessage(); //Boring error messages from anything else!
}
?>