python邮件没有主题

python邮件没有主题,python,sendmail,Python,Sendmail,我通过python发送gmail,但我没有收到任何主题。我意识到我向您展示的代码没有任何主题,但我尝试了许多变体,但都没有成功。有人能告诉我如何实现一个主题吗。每次的主题都是一样的 fromaddr = 'XXXX@gmail.com' toaddrs = 'jason@XXX.com' msg = 'Portal Test had an error' #provide gmail user name and password

我通过python发送gmail,但我没有收到任何主题。我意识到我向您展示的代码没有任何主题,但我尝试了许多变体,但都没有成功。有人能告诉我如何实现一个主题吗。每次的主题都是一样的

        fromaddr = 'XXXX@gmail.com'
        toaddrs = 'jason@XXX.com'
        msg = 'Portal Test had an error'

        #provide gmail user name and password
        username = 'XXXX'
        password = 'XXXXX'

        # functions to send an email
        server = smtplib.SMTP('smtp.gmail.com:587')
        server.ehlo()
        server.starttls()
        server.ehlo()
        server.login(username,password)
        server.sendmail(fromaddr, toaddrs, msg)
        server.quit()
您需要填充


有关如何正确执行此操作的一些示例,请参见下页:。第一个可以或多或少满足您的需要。

使用Python的电子邮件模块生成格式正确的RFC-822兼容电子邮件,包括主题等。您自己这样做容易出错


发送互联网电子邮件有两个重要步骤-创建RFC-2822邮件,然后使用SMTP发送。您正在查看SMTP部分,但尚未首先创建正确的邮件。这样做更容易演示

>>> from email.mime.text import MIMEText
>>>
>>> fromaddr = 'XXXX@gmail.com'
>>> toaddrs = 'jason@XXX.com'
>>> subject = 'This is an important message'
>>> content = 'Portal Test had an error'
>>>
>>> # constructing a RFC 2822 message
... msg = MIMEText(content)
>>> msg['From'] = fromaddr
>>> msg['To'] = toaddrs
>>> msg['Subject'] = subject
RFC 2822消息实际上是一段如下所示的文本:

>>> print msg
From nobody Tue Apr 05 11:37:50 2011
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: XXXX@gmail.com
To: jason@XXX.com
Subject: This is an important message

Portal Test had an error

有了这个,您应该能够使用SMTP代码发送它。请注意,在这两个步骤中重复了一些数据,如from和to address。

删除该注释,并将代码放在问题中;这将有助于人们阅读它。它是否放在单独的文本文件中?电子邮件发送得很好,有收件人、发件人和收件人。。。只是没有主题