[解決済み] Python : 生のメールに "Body "タグがない場合のBodyのパース方法
2023-02-15 19:29:05
質問
を取得するのは簡単なようです。
From
To
Subject
などを経由して
import email
b = email.message_from_string(a)
bbb = b['from']
ccc = b['to']
と仮定して
"a"
は生のメール文字列で、次のようなものです。
a = """From [email protected] Thu Jul 25 19:28:59 2013
Received: from a1.local.tld (localhost [127.0.0.1])
by a1.local.tld (8.14.4/8.14.4) with ESMTP id r6Q2SxeQ003866
for <[email protected]>; Thu, 25 Jul 2013 19:28:59 -0700
Received: (from root@localhost)
by a1.local.tld (8.14.4/8.14.4/Submit) id r6Q2Sxbh003865;
Thu, 25 Jul 2013 19:28:59 -0700
From: [email protected]
Subject: oooooooooooooooo
To: [email protected]
Cc:
X-Originating-IP: 192.168.15.127
X-Mailer: Webmin 1.420
Message-Id: <1374805739.3861@a1>
Date: Thu, 25 Jul 2013 19:28:59 -0700 (PDT)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="bound1374805739"
This is a multi-part message in MIME format.
--bound1374805739
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
ooooooooooooooooooooooooooooooooooooooooooooooo
ooooooooooooooooooooooooooooooooooooooooooooooo
ooooooooooooooooooooooooooooooooooooooooooooooo
--bound1374805739--"""
質問
をどのように取得するのですか?
Body
をどのように取得するのですか?
今のところ、これは私が知っている唯一のコードですが、私はまだそれをテストしていません。
if email.is_multipart():
for part in email.get_payload():
print part.get_payload()
else:
print email.get_payload()
は正しい方法ですか?
それとも、もっと簡単な方法があるのでしょうか?
import email
b = email.message_from_string(a)
bbb = b['body']
?
どのように解決するのですか?
使用方法 メッセージ.get_payload
b = email.message_from_string(a)
if b.is_multipart():
for payload in b.get_payload():
# if payload.is_multipart(): ...
print payload.get_payload()
else:
print b.get_payload()
関連
-
[解決済み] Pythonでパスから拡張子なしでファイル名を取得する方法は?
-
[解決済み] Pythonの@propertyデコレーターはどのように機能するのでしょうか?
-
[解決済み] PythonでファイルのMD5チェックサムを計算するには?重複
-
[解決済み] Pythonでコード行間にかかる時間を測定するには?
-
[解決済み] Pandasの'Freq'タグにはどのような値が有効ですか?
-
[解決済み] ファブリック経由でデプロイユーザとしてvirtualenvを有効化する
-
[解決済み] Ctrl-CでPythonスクリプトを終了できない
-
[解決済み] subprocess.run()の出力を抑制またはキャプチャするには?
-
[解決済み] Flaskで非同期タスクを作る
-
[解決済み] 認証プラグイン 'caching_sha2_password' はサポートされていません。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Pythonでコード行間にかかる時間を測定するには?
-
[解決済み] django.db.migrations.exceptions.InconsistentMigrationHistory
-
[解決済み] ファブリック経由でデプロイユーザとしてvirtualenvを有効化する
-
[解決済み] スペースがないテキストを単語のリストに分割する方法
-
[解決済み] pandasのタイムゾーンに対応したDateTimeIndexを、特定のタイムゾーンに対応したナイーブなタイムスタンプに変換する。
-
[解決済み] Django で全てのリクエストヘッダを取得するにはどうすれば良いですか?
-
[解決済み] Pythonの検索パスを他のソースに展開する
-
[解決済み] Pythonでファイルの読み込みと上書きをする
-
[解決済み] Pythonの文字列書式をリストで使う
-
[解決済み] Python の sorted() はどのようなアルゴリズムを使っているのですか?重複