【发布时间】:2016-12-16 23:56:02
【问题描述】:
要求:我需要存储某些人的生日信息,并在每个生日时向所有人发送邮件。
我做了以下事情:
编写了 python 脚本将 html 文件发送给所有人。内容如下:
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
me = "hunter@gmail.com"
you = "prudhvi@gmail.com"
msg = MIMEMultipart('alternative')
msg['Subject'] = "Link"
msg['From'] = me
msg['To'] = you
html = """\
<html>
<body>
<b>HAPPY BIRTHDAY SHERLYN<br></b>
</body>
</html>
"""
part = MIMEText(html, 'html')
msg.attach(part)
mail = smtplib.SMTP('smtp.gmail.com', 587)
mail.ehlo()
mail.starttls()
mail.login('username', 'password')
mail.sendmail(me, you, msg.as_string())
mail.quit()
还编写了以下脚本来打印特定日期的生日男孩的名字:
import email
import datetime
now = datetime.datetime.now()
a = now.strftime("%d-%B")
birthdays = {
'09-December': ['BOB'],
'10-December': ['JOHN'],
'16-December': ['SHERLYN'],
}
today_birthdays = birthdays.get(a)
if today_birthdays:
for person in today_birthdays:
print "Happy Birthday %s!" % person
else:
print "No Birthday today"
第二个脚本中的第一条语句:import email 是包含电子邮件代码的 python 文件的名称。因此,每当我运行上述脚本时,每天都会发送电子邮件[不考虑生日],因为我在其中导入了电子邮件 python 文件。
1.) 我希望它只在生日而不是其他日子发送电子邮件。
2.) 在我的 html 代码中,我希望根据生日更改名称。 Ex : 在Sherlyn 的生日,它应该发送Happy Birthday Sherlyn
3.) 在我的第一个代码中,我尝试从 Gmail 帐户发送电子邮件。 所以,我用了:
mail = smtplib.SMTP('smtp.gmail.com', 587)
但是,如果我必须通过公司邮件发送呢?
【问题讨论】: