Python 发送hotmail 邮件
今天想学习怎么使用Python来发送邮件,然后发现一个Python自带的模块smtplib。立刻了解了下,便开始撸代码尝试。
话不多说,先了解下这个模块,以下几个函数是我们需要使用到的:
smtplib.SMTP(host=’’,port=0,local_hostname=None,[timeout,]source_address=None)
smtplib.SMTP_SSL(host=’’,port=0, local_hostname=None, keyfile=None,certfile=None, [timeout, ]context=None, source_address=None)
SMTP.login(user, password, *, initial_response_ok=True)
SMTP.helo(name=’’)
SMTP.ehlo(name=’’)
SMTP.starttls(keyfile=None, certfile=None, context=None)
SMTP.sendmail(from_addr, to_addrs, msg, mail_options=(),rcpt_options=())
我使用我的Hotmail邮箱来发送,使用这个接收服务器,接下来上代码
import smtplibimport emailimport osEMAIL_ADDRESS = os.environ.get('EMAIL_ADDRESS') # get the mail/pd from system environ pathEMAIL_PASSWORD = os.environ.get('EMAIL_PASSWORD') #You can type your name/password too# set up the SMTP servers = smtplib.SMTP(host='', port=587)s.starttls()s.login(EMAIL_ADDRESS,EMAIL_PASSWORD)print('connection good')msg = email.message_from_string("This is a test email")msg['From'] = EMAIL_ADDRESSmsg['To'] = EMAIL_ADDRESSmsg['Subject'] = "HellOoooOo"s = smtplib.SMTP("",587)s.ehlo() # Hostname to send for this command defaults to the fully qualified domain name of the local host.s.starttls() #Puts connection to SMTP server in TLS modes.ehlo()s.login(EMAIL_ADDRESS, EMAIL_PASSWORD)s.sendmail(EMAIL_ADDRESS, EMAIL_ADDRESS, msg.as_string())s.quit()print('发送成功!')
当然大家也可以在使用这个发送附件,图片,发送网页格式的邮件等等,这里就只做个例子。有需要学习的可以继续深入研究。这个结合爬虫,数据分析,然后自动化报表,配置到服务器上定期发送给你老板,你说6不6…
另外 os.environ.get(‘EMAIL_ADDRESS’) 这个是直接读取用户环境变量里面设置的邮件地址,密码。这样就不用在代码里面显示出来了。设置环境变量我就不说了,百度了解下~
如果觉得《Python 发送hotmail 邮件》对你有帮助,请点赞、收藏,并留下你的观点哦!