使用python打印电子邮件正文

2024-05-16 03:59:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用python打印收件箱中特定电子邮件的正文,但它似乎并不只是打印电子邮件的正文,而是打印我相信的整个标题

以下是我尝试过的(注意:我的代码可能完全错误):

import imaplib, email 
  
user = 'myemail@gmail.com'
password = 'mypassword'
imap_url = 'imap.gmail.com'
  
# Function to get email content part i.e its body part 
def get_body(msg): 
    if msg.is_multipart(): 
        return get_body(msg.get_payload(0)) 
    else: 
        return msg.get_payload(None, True) 
  
# Function to search for a key value pair  
def search(key, value, con):  
    result, data = con.search(None, key, '"{}"'.format(value)) 
    return data 
  
# Function to get the list of emails under this label 
def get_emails(result_bytes): 
    msgs = []
    for num in result_bytes[0].split(): 
        typ, data = con.fetch(num, '(RFC822)') 
        msgs.append(data) 
  
    return msgs 
  
con = imaplib.IMAP4_SSL(imap_url)  
  
con.login(user, password)  
 
con.select('Inbox')  

msgs = get_emails(search('FROM', 'notify@protonmail.ch', con)) 
print(msgs)

这就是我得到的:

[[(b'4 (RFC822 {4405}', b'Delivered-To: vicalertbot@gmail.com\r\nReceived: by 2002:a19:4bc3:0:0:0:0:0 with SMTP id y186csp307775lfa;\r\n        Thu, 9 Jul 2020 23:04:44 -0700 (PDT)\r\nX-Google-Smtp-Source: ABdhPJyPDT/hreh4u1/5jC7UqTQKWNr9e7rWor23pCipbvh6WPjz/MHMHCpEuhuTnbLNSwkl+kEX\r\nX-Received: by 2002:a50:cd1a:: with SMTP id z26mr78378507edi.120.1594361084051;\r\n        Thu, 09 Jul 2020 23:04:44 -0700 (PDT)\r\nARC-Seal: i=1; a=rsa-sha256; t=1594361084; cv=none;\r\n        d=google.com; s=arc-20160816;\r\n        b=itvkMEFvxvQ8t8SAaQvpaOoq8F7XEH3AVLeVcFHY20iiKn1U8uHYcmPtqKf7MOQlmT\r\n         OQAru3DJ4uZVcuP3KfCUWDtdw+k+827iElPv+H/hI6WCtB3LooRBB49h4m/NVkF2wjkh\r\n         J1SijwLyVrLfVkWbgZHf7KrY4c5GDoMH8Kmx9epi47LQhb8hTpfcT65w+0+e1NeT9mx7\r\n         V7HCz+gV0perQp7uTEEYK3oYLfOaJfOzI/F+ZaNn1Ijo/nbPQlU3evzbayH4kWude+k1\r\n         kWG5mSf29awMmJBDNXFyBHipEjudEqqZgYXjyNNidFBa9tHz2z4wqzlW7D9T8M5VMXLO\r\n         Fd8g==\r\nARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;\r\n        h=mime-version:auto-submitted:message-id:subject:reply-to:from:to\r\n         :dkim-signature:date;\r\n        bh=UbqQR850WzWi68YePw+gns/h7va8GBIB6YZEwgeRoX8=;\r\n        b=GVeTr4pJxGEK2ufH+lx/1fR2U52FWADNR1ezuTp4PYS5hDfPdsZV6q2Zq7nWO3bFcl\r\n         PhymONtjlmVZSRMX6mdP9lpc7hjyEtIG5m5x/OhsTe/MKAo77TI6I5CxK3UkORO0tw5S\r\n         rplWdKxIewn8NWFpFlm9P1b7b0u4m+fxFbR1Ber60QcxIHB5YxtI9WChEkkjDow+ODtP\r\n         w9D9Ock2tbSW/pXoz+2V18Yxaw3iV24x55x+KOx5hJ5UsL3cncr1tFzrW0gox/sfVJ4B\r\n         ow9ABTW/SfBcTDsUBRIVU+z1DR/MC34sB75RCVpbL0djzhMaWNfiT2iCoSEmSnpZqnsO\r\n         yXlA==\r\nARC-Authentication-Results: i=1; mx.google.com;\r\n       dkim=pass header.i=@protonmail.ch header.s=protonmail header.b=YX0mCfxK;\r\n       spf=pass (google.com: domain of notify@protonmail.ch designates 185.70.40.140 as permitted sender) smtp.mailfrom=notify@protonmail.ch;\r\n       dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=protonmail.ch\r\nReturn-Path: <notify@protonmail.ch>\r\nReceived: from mail-40140.protonmail.ch (mail-40140.protonmail.ch. [185.70.40.140])\r\n        by mx.google.com with ESMTPS id dh7si3357147edb.531.2020.07.09.23.04.43\r\n        for <vicalertbot@gmail.com>\r\n        (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);\r\n        Thu, 09 Jul 2020 23:04:44 -0700 (PDT)\r\nReceived-SPF: pass (google.com: domain of notify@protonmail.ch designates 185.70.40.140 as permitted sender) client-ip=185.70.40.140;\r\nAuthentication-Results: mx.google.com;\r\n       dkim=pass header.i=@protonmail.ch header.s=protonmail header.b=YX0mCfxK;\r\n       spf=pass (google.com: domain of notify@protonmail.ch designates 185.70.40.140 as permitted sender) smtp.mailfrom=notify@protonmail.ch;\r\n       dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=protonmail.ch\r\nDate: Fri, 10 Jul 2020 06:04:39 +0000\r\nDKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.ch;\r\n\ts=protonmail; t=1594361083;\r\n\tbh=UbqQR850WzWi68YePw+gns/h7va8GBIB6YZEwgeRoX8=;\r\n\th=Date:To:From:Reply-To:Subject:From;\r\n\tb=YX0mCfxKCm0RxpU2iwOhCB95KsIjIkMHXi7qDzDIiaBM6Z49VaoJ+K2PEh13TwatQ\r\n\t RQhaZU3LqUHqlHYTo6/95UCsOhzSGSYuSYNHgOjgCz5fyKXT0vOytNBo48R73F9VAy\r\n\t XxO2SWCZQXhLFjyky/g7XHoe/UMK6A1raJEzdFCA=\r\nTo: vicalertbot@gmail.com\r\nFrom: ProtonMail <notify@protonmail.ch>\r\nReply-To: ProtonMail <notify@protonmail.ch>\r\nSubject: Proton Verification Code\r\nMessage-ID: <7JD3Q5WVQ1X69WXKWHFQ59VCH0@protonmail.ch>\r\nAuto-Submitted: auto-generated\r\nMIME-Version: 1.0\r\nContent-Type: multipart/alternative;\r\n boundary="b1_qj0qdr265Hl5TEUEcfeyLCMZjBoXgY7w78RAdXiPU"\r\nX-Spam-Status: No, score=-1.2 required=7.0 tests=ALL_TRUSTED,DKIM_SIGNED,\r\n\tDKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,HTML_MESSAGE\r\n\tshortcircuit=no autolearn=disabled version=3.4.4\r\nX-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on mail.protonmail.ch\r\n\r\nThis is a multi-part message in MIME format.\r\n\r\n--b1_qj0qdr265Hl5TEUEcfeyLCMZjBoXgY7w78RAdXiPU\r\nContent-Type: text/plain; charset=utf-8\r\nContent-Transfer-Encoding: base64\r\n\r\nWW91ciBQcm90b24gdmVyaWZpY2F0aW9uIGNvZGUgaXM6CjQyNDY1Mw==\r\n\r\n--b1_qj0qdr265Hl5TEUEcfeyLCMZjBoXgY7w78RAdXiPU\r\nContent-Type: text/html; charset=utf-8\r\nContent-Transfer-Encoding: base64\r\n\r\nPGh0bWw+DQo8Ym9keT4NCjxwPllvdXIgUHJvdG9uIHZlcmlmaWNhdGlvbiBjb2RlIGlzOiA8YnI+\r\nPGNvZGUgc3R5bGU9J2ZvbnQtc2l6ZToyLjVlbTsgbGluZS1oZWlnaHQ6MmVtJz40MjQ2NTM8L2Nv\r\nZGU+PC9wPg0KPC9ib2R5Pg0KPC9odG1sPg0K\r\n\r\n\r\n--b1_qj0qdr265Hl5TEUEcfeyLCMZjBoXgY7w78RAdXiPU--\r\n\r\n'), b')']]

Tags: tocomgetreturngooglenotifymsgpass