0

我想要一种自动化的方式来测试我的应用程序如何处理带有附件的电子邮件。

首先,我修改了我的应用程序(在 App Engine 上)以记录收到消息的请求正文的内容(通过 apppotmail 发送)。我将这些内容复制到一个名为 test_mail.txt 的文件中

我想我可以发布这个文件来模仿入站邮件测试器,就像这样。

curl --header "Content-Type:message/rfc822" -X POST -d @test_mail.txt http://localhost:8080/_ah/mail/test@example.com

每当我这样做时,消息都没有正确实例化,并且当我引用任何标准属性时都会出现异常。

我在使用 curl 时遗漏了什么?

我使用 _ah/admin/inboundmail 发布的更简单的电子邮件遇到了同样的问题

MIME-Version: 1.0
Date: Wed, 25 Apr 2012 15:50:06 +1000
From: test@example.com
To: test@example.com
Subject: Hello
Content-Type: multipart/alternative; boundary=cRtRRiD-6434410

--cRtRRiD-6434410
Content-Type: text/plain; charset=UTF-8

There
--cRtRRiD-6434410
Content-Type: text/html; charset=UTF-8

There
--cRtRRiD-6434410--
4

2 回答 2

1

尝试--data-binary而不是-d作为输入文件的标志。当我尝试使用您的标志时,看起来 curl 从输入文件中删除了回车符,这意味着 MIME 解析器在 POST 数据上阻塞。

于 2012-04-25T16:00:44.300 回答
0

黑色的,

我注意到你的程序是用 python 编写的?为什么不使用twisted 创建一个小型的smtp 客户端?

这里有一些例子..

http://twistedmatrix.com/documents/current/mail/tutorial/smtpclient/smtpclient.html

于 2012-04-25T06:53:14.483 回答