2012-04-25 3 views
0

私のアプリケーションが添付ファイル付きで電子メールをどのように処理するかをテストする自動化された方法が欲しいです。メールの受信をテストするためにカールを使用することができます

私はappspotmailから送信されたように、受信したメッセージのリクエスト本文の内容を記録するようにApp Engine上で自分のアプリケーションを変更しました。これらの内容をtest_mail.txtというファイルにコピーしました。

私はこのファイルを投稿してインバウンドメールテスターを模倣できると考えました。

curl --header "Content-Type:message/rfc822" -X POST -d @test_mail.txt http://localhost:8080/_ah/mail/[email protected] 

私はこれを行うたびに、メッセージが正常にインスタンス化されていない、と私は、標準の属性のいずれかを参照するとき、私は例外を取得します。

私はどのようにカールを使用しているのですか?

MIME-Version: 1.0 
Date: Wed, 25 Apr 2012 15:50:06 +1000 
From: [email protected] 
To: [email protected] 
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-- 
+0

"私は例外があります"は記念碑的に役に立たない。どのような例外ですか?トレースバックはどこですか? –

答えて

0

inboundmail _ah /管理/ブラック、

によって掲示ように私は私はあなたのプログラムはPythonで書かれて気づいた、シンプルな電子メールを使用して、同じ問題に遭遇?小さなsmtpクライアントを作成するのにtwistedを使用しないのはなぜですか?ここで

は、いくつかの例..

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

+0

ありがとうございますが、私はおそらくより具体的であったはずです。これは、電子メール受信がHTTPによってエミュレートされるappengine開発環境に関するものです。私はSMTPクライアントが役に立たないと思います。 – blackp

+0

ブラックRGR、まだねじれを使って他のオプションをチェックしてください。それは、サーバーとクライアントのネットワークアプリケーションを非常に簡単に、見て作ることができます。 (まるでそのようなソケット) – dc5553

+0

あなたはこれを考えていると確信して、私はこれに言及して謝罪するが、なぜこれらの要求をするurllib2しないのですか? – dc5553

1

ある入力ファイルのためのフラグとして--data-binaryの代わり-dを試してみてください。私はあなたのフラグを試してみましたが、カールが入力ファイルからキャリッジリターンを取り除いたように見えました。これは、MIMEパーサがPOSTデータで窒息することを意味していました。

関連する問題