用Python创建简单的纯文本电子邮件

2024-04-25 14:55:02 发布

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

我正在尝试创建一个简单的电子邮件,我想发送到一个smtp服务器。在

我要做的是:

from email.message import EmailMessage()
message = 'blabla'
email = EmailMessage()
email['Subject'] = 'bla'
email['From'] = 'someone'
email['To'] = 'someone else'
email.set_payload(message)

问题是,当我打印邮件时

^{pr2}$

输出不包含原始消息(blablabla)。 它打印头数据,下面是一个空字符串! 为什么?在

我想在smtp服务器上接收邮件,对其进行解析,并将邮件和邮件头分开,就像在这篇文章中所做的那样:

How can I get an email message's text content using python?

但是如果邮件里没有留言,我就不能这么做。 谁能告诉我我做错了什么吗?在


Tags: tofromimport服务器message电子邮件email邮件
1条回答
网友
1楼 · 发布于 2024-04-25 14:55:02

试试这个

#!/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,")

相关问题 更多 >