相关疑难解决方法(0)

Python:如果原始电子邮件没有"Body"标记或任何内容,如何从原始电子邮件解析Body

这似乎很容易

From
To
Subject
Run Code Online (Sandbox Code Playgroud)

等等

import email
b = email.message_from_string(a)
bbb = b['from']
ccc = b['to']
Run Code Online (Sandbox Code Playgroud)

假设这"a"是原始电子邮件字符串,看起来像这样.

a = """From root@a1.local.tld 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 <ooo@a1.local.tld>; 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: root@a1.local.tld
Subject: oooooooooooooooo
To: ooo@a1.local.tld
Cc: 
X-Originating-IP: 192.168.15.127
X-Mailer: Webmin 1.420
Message-Id: <1374805739.3861@a1>
Date: Thu, 25 Jul …
Run Code Online (Sandbox Code Playgroud)

python email mod-wsgi wsgi python-2.7

68
推荐指数
4
解决办法
10万
查看次数

使用python脚本读取未读电子邮件

我正在尝试阅读来自 gmail 帐户的所有未读电子邮件。上面的代码能够建立连接但无法获取电子邮件。

我想打印每封电子邮件的内容。

我收到错误,因为无法将 int 连接到字节。

代码:

import smtplib
import time
import imaplib
import email

def read_email_from_gmail():
        mail = imaplib.IMAP4_SSL('imap.gmail.com')
        mail.login('my_mail','my_pwd')
        mail.select('inbox')

        result, data = mail.search(None, 'ALL')
        mail_ids = data[0]

        id_list = mail_ids.split()   
        first_email_id = int(id_list[0])
        latest_email_id = int(id_list[-1])


        for i in range(latest_email_id,first_email_id, -1):
            result, data = mail.fetch(i, '(RFC822)' )

            for response_part in data:
                if isinstance(response_part, tuple):
                    msg = email.message_from_string(response_part[1])
                    email_subject = msg['subject']
                    email_from = msg['from']
                    print ('From : ' + email_from + '\n')
                    print ('Subject : ' + …
Run Code Online (Sandbox Code Playgroud)

python smtp imaplib python-3.x

4
推荐指数
1
解决办法
8197
查看次数

如何将html电子邮件作为常规文本接收?

这是我到目前为止的代码:

import email, imaplib

user = 'some username'
pwd = 'some password'

m = imaplib.IMAP4_SSL("imap.gmail.com")
m.login(user, pwd)

m.select("[Gmail]/All Mail")

resp, data = m.fetch(1, "(RFC822)")

email_body = data[0][1]

mail = email.message_from_string(email_body)

print mail
Run Code Online (Sandbox Code Playgroud)

我目前收到的电子邮件有一堆奇怪的格式.我希望收到电子邮件正文作为纯文本字符串.

python email imap

3
推荐指数
3
解决办法
8625
查看次数

多部分电子邮件中的"部分"是什么?

一点背景......

前段时间,我在Python上编写了一个处理电子邮件消息的程序,总有一件事就是知道电子邮件是否是"多部分".

经过一些研究,我知道它与包含HTML或附件等的电子邮件有关......但我并不是真的理解它.

我对它的使用仅限于2个实例:

1.当我必须从原始电子邮件中保存附件时

我刚刚在互联网上发现了这一点(可能在这里 - 很抱歉没有记下编写它的人,但我似乎无法再找到他了:/)并将其粘贴在我的代码中

def downloadAttachments(emailMsg, pathToSaveFile):
    """
    Save Attachments to pathToSaveFile (Example: pathToSaveFile = "C:\\Program Files\\")
    """
    att_path_list = []
    for part in emailMsg.walk():
        # multipart are just containers, so we skip them
        if part.get_content_maintype() == 'multipart':
            continue

        # is this part an attachment ?
        if part.get('Content-Disposition') is None:
            continue

        filename = part.get_filename()

        att_path = os.path.join(pathToSaveFile, filename)

        #Check if its already there
        if not os.path.isfile(att_path) :
            # finally write the stuff
            fp = open(att_path, 'wb') …
Run Code Online (Sandbox Code Playgroud)

python email imap python-3.x

2
推荐指数
1
解决办法
1018
查看次数

标签 统计

python ×4

email ×3

imap ×2

python-3.x ×2

imaplib ×1

mod-wsgi ×1

python-2.7 ×1

smtp ×1

wsgi ×1