如何接收带有附件的电子邮件

时间:2020-09-15 14:40:38

标签: python email

我被要求使用任何编码语言来接收电子邮件(我知道Java和C,但是我认为python会容易得多,但希望有人可以帮助我选择),然后在邮件正文中查找“ cat”一词电子邮件然后运行附加在邮件上的python文件附件,如果邮件中包含cat这个词,则将文件的输出发送回发送者(如果那里没有word或文件返回异常,则返回问题)。这是我到目前为止所做的:

import email
import imaplib
import smtplib
from email.message import EmailMessage

def send_email():
    sender_email = 'momo@gmail.com'
    password = '123456789'
    rec_email ="koko@gmail.com"
    message = input(str("enter your message below : "))

    server= smtplib.SMTP('smtp.gmail.com',587)
    server.starttls()
    server.login(sender_email, password )
    print("login success")
    server.sendmail(sender_email , rec_email, message )
    print("Email has been sent to " , rec_email )


def recive_and_check():
    EMAIL = 'nono@gmail.com'
    PASSWORD = '123456789'
    SERVER = 'imap.gmail.com'

    # connect to the server and go to its inbox
    mail = imaplib.IMAP4_SSL(SERVER)
    mail.login(EMAIL, PASSWORD)

    mail.select("inbox")

#I used several tutorials on youtube from here don't really understand what I wrote

    status, data = mail.search(None, 'ALL')

    inbox_item_list = data[0].split()

    most_recent = inbox_item_list[-1]
    oldest = inbox_item_list [0]
    email_data = mail.fetch(most_recent,'(RFC822)')
    raw_email = email_data[0][1].decode("utf-8")
    email_message = email.message_from_string(raw_email)
    email_message: EmailMessage = email.message_from_bytes(envelope, _class=EmailMessage)

    for email_message_part in email_message.walk():
        if email_message_part.is_attachment():
            Run(email_message_part)

0 个答案:

没有答案