我正在开发一个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--
你有没有找到解决这个问题的办法? – Johannes 2013-04-30 08:04:55
不,不幸的不是。 – hbit 2013-04-30 22:46:36
我认为你错过了主要部分,与标题标题,并与多部分,所以你的MTA会知道该怎么做。因此你的.eml文件是不完整的。在多部分电子邮件中,根部分(缺少的部分)必须包含这样的内容:“Content-Type:multipart/alternative; boundary =”____ = = _ MCPart_465790590“”。这将指定任何mimeparser至此首先阅读,依此类推。 – 2014-05-21 11:14:27