Python发送空白电子邮件

时间:2014-11-12 00:00:18

标签: python list email

我写了这段代码

import urllib.request
import smtplib
import re

htmlweb = urllib.request.urlopen('url goes here')

htmltext = htmlweb.read().decode('utf-8')

regex = '<h2 itemprop="name">(.+?)</h2>'

regex2 = '<div class="mediaPageName">(.+?)</div>'

pattern = re.compile(regex)

pattern2 = re.compile(regex2)

username = re.findall(pattern, htmltext)

interests = re.findall(pattern2, htmltext)

content = "The person's name is: "

i=0
ii=0

while i<len(username):
    content += username[i]
    i += 1

content += "\nTheir interests are: "

while ii<len(interests):
    content += interests[ii] + ", "
    ii += 1

#-----------------------------------------------

mail = smtplib.SMTP("smtp.gmail.com", 587)

mail.ehlo()

mail.starttls()

mail.login('email here', 'password here')

mail.sendmail('email here', 'here too', content)

mail.close()

然而,当我运行它时,我会收到一个无体电子邮件。内容变量打印出我想要的控制台,但不打印给电子邮件正文。

对不起,如果这是微不足道的;这是我第一次尝试使用Python。

谢谢!

1 个答案:

答案 0 :(得分:4)

以下问题:smtplib sends blank message if the message contain certain characters,指出您必须使用新行开始邮件的内容,否则内容将成为邮件标题的一部分,而不是邮件的标题&#39;身体。

我相信你必须改变:

content = "The person's name is: "

对此:

content = "\nThe person's name is: "