【发布时间】:2011-06-29 23:23:17
【问题描述】:
我正在开发一个 PHP 应用程序,该应用程序需要从电子邮件服务器检索任意电子邮件。然后,消息被完全解析并存储在数据库中。
当然,我必须做很多测试,因为在太阳下所有不同的邮件格式下,这项任务并不是微不足道的。因此,我开始“收集”来自某些客户和不同内容的电子邮件。
我想要一个脚本,以便我可以将这些电子邮件自动发送到我的应用程序以测试邮件处理。
因此,我需要一种发送原始电子邮件的方法 - 以便结构与来自相应客户端的完全相同。我将电子邮件存储为 .eml 文件。
有人知道如何通过提供原始正文来发送电子邮件吗?
编辑: 更具体地说:我正在寻找一种使用其源代码发送多部分电子邮件的方法。例如,我希望能够使用类似的东西(一封带有纯 HTML 部分的电子邮件,HTML 部分有一个内联附件)。
--Apple-Mail-159-396126150
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
The plain text email!
--=20
=20
=20
--Apple-Mail-159-396126150
Content-Type: multipart/related;
type="text/html";
boundary=Apple-Mail-160-396126150
--Apple-Mail-160-396126150
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
charset=iso-8859-1
<html><head>
<title>Daisies</title>=20
</head><body style=3D"background-attachment: initial; background-origin: =
initial; background-image: =
url(cid:4BFF075A-09D1-4118-9AE5-2DA8295BDF33/bg_pattern.jpg); =
background-position: 50% 0px; ">
[ - snip - the html email content ]
</body></html>=
--Apple-Mail-160-396126150
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename=bg_pattern.jpg
Content-Type: image/jpg;
x-apple-mail-type=stationery;
name="bg_pattern.jpg"
Content-Id: <4BFF075A-09D1-4118-9AE5-2DA8295BDF33/tbg.jpg>
/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAASAAA/+IFOElDQ19QUk9GSUxFAAEB
[ - snip - the image content ]
nU4IGsoTr47IczxmCMvPypi6XZOWKYz/AB42mcaD/9k=
--Apple-Mail-159-396126150--
【问题讨论】:
-
你找到解决这个问题的办法了吗?
-
不,很遗憾没有。
-
我认为您缺少主要部分,即主题标题和多部分部分,因此您的 MTA 将知道该怎么做。因此,您的 .eml 文件不完整。在多部分电子邮件中,根部分(您缺少的部分)必须包含类似“Content-Type: multipart/alternative; boundary="_------------=_MCPart_465790590"”的内容。这将指定首先读取的任何 mimeparser 部分,依此类推。
-
一些反馈会很好。您尝试了哪些答案,出了什么问题,您是否遇到错误或意外结果?上周有 3 个人试图帮助您,但似乎没有人得到任何信任或回应。如果它不能立即起作用,我们也许可以提供帮助。