我正在尝试创建一个简单的电子邮件,我想将其发送到smtp-server。
以下是我的工作:
from email.message import EmailMessage()
message = 'blabla'
email = EmailMessage()
email['Subject'] = 'bla'
email['From'] = 'someone'
email['To'] = 'someone else'
email.set_payload(message)
问题是,当我打印信息时,
print(email.as_string())
print(email.get_payload())
输出不包含原始消息(blabla)。 它打印标题数据,下面是一个空字符串! 那是为什么?
我想在smtp服务器上收到一条消息,解析它并将消息和标题分开,就像在这篇文章中所做的那样:
How can I get an email message's text content using python?
但如果邮件中的邮件甚至没有,我就不能这样做。 有人能告诉我我做错了吗?
答案 0 :(得分:1)
试试这个
#!/usr/bin/python3
import smtplib
import email.message
import email.utils
def send_email(send_from, send_to):
msg = email.message.Message()
msg['From'] = send_from
msg['To'] = send_to
msg['Subject'] = "E-mail Subject"
msg.add_header('Content-Type', 'text')
msg.set_payload("This is your message.")
smtp_obj = smtplib.SMTP("localhost")
smtp_obj.sendmail(msg['From'], [msg['To']], msg.as_string())
smtp_obj.quit()
send_email("your@email.com", "to@email.com,")