Python自动发送邮件脚本实现详解
本文介绍如何使用Python实现自动发送邮件功能,适用于定时发送统计报表等场景。通过封装sendmail函数,传入发件人、密码、收件人、主题及内容等参数,即可调用SMTP服务完成邮件发送。
自动发送邮件是日常工作中常见的需求,例如每天定时生成统计报表并发送给运营人员,以辅助业务数据分析。本文提供了一段Python编写的自动发送邮件脚本,只需将发件人邮箱地址、密码、收件人列表、邮件标题及正文内容等参数传递给指定函数,即可实现邮件的自动发送。
具体脚本代码如下:
# -*- coding: UTF-8 -*- import sys, os, re, urllib, urlparse import smtplib import traceback from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart def sendmail(subject,msg,toaddrs,fromaddr,smtpaddr,password): ''''' @subject:邮件主题 @msg:邮件内容 @toaddrs:收信人的邮箱地址 @fromaddr:发信人的邮箱地址 @smtpaddr:smtp服务地址,可以在邮箱看,比如163邮箱为smtp.163.com @password:发信人的邮箱密码 ''' mail_msg = MIMEMultipart() if not isinstance(subject,unicode): subject = unicode(subject, 'utf-8') mail_msg['Subject'] = subject mail_msg['From'] =fromaddr mail_msg['To'] = ','.join(toaddrs) mail_msg.attach(MIMEText(msg, 'html', 'utf-8')) try: s = smtplib.SMTP() s.connect(smtpaddr) #连接smtp服务器 s.login(fromaddr,password) #登录邮箱 s.sendmail(fromaddr, toaddrs, mail_msg.as_string()) #发送邮件 s.quit() except Exception,e: print "Error: unable to send email" print traceback.format_exc() if __name__ == '__main__': fromaddr = "xxxxxxxx@163.com" smtpaddr = "smtp.163.com" toaddrs = ["xxxxxxxx@qq.com","xxxxxxxxx@163.com"] subject = "测试邮件" password = "xxxxxxxx" msg = "测试一下" sendmail(subject,msg,toaddrs,fromaddr,smtpaddr,password)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









