利用Python实现的一个自动群发或单发邮件的小脚本!(SMTP协议)

python3、利用SMTP实现自动发送邮件!

首先声明,这个是偶然从别人的博客里发现的,觉得比较有趣,就自身亲自尝试了一番,在此做了点儿比较详细的整理和一点点小小的优化!此处为原博客的链接地址!

https://www.cnblogs.com/Python1234/p/9118363.html

步骤:

1.发送QQ邮件,首先必须知道QQ邮箱的SMTP服务器!

2.发送邮件之前,必须开启qq邮箱的smtp服务

设置路径:设置--账户--开启截图上的服务--保存更改

利用Python实现的一个自动群发或单发邮件的小脚本!(SMTP协议)

3.Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件

#   导入smtplib模块,smtplib负责发送邮件<br />import smtplib<br />#   导入email模块,email负责构造邮件<br />from email.mime.text import MIMEText<br /><br />#   创建类<br />class SendEmil:<br />global send_user<br />global email_host<br />global password<br />#   password为相对应的16位授权码,开启服务时收到的16位授权码<br />    password = 'bkdzegokffjmhbei'<br />    #   email的主机地址<br />    email_host = 'smtp.qq.com'<br />    #   由谁发送的,发送者<br />    send_user = '[email protected]'<br /><br />    def send_email(self,user_list,sub,content):<br />        user = "shape" + "<" + send_user + ">"<br />        #   构造MIMEText对象,第一个参数为邮件正文,第二个参数为MIME的图标类型,<br />        #   plain表示纯文本,最终的MIME就是'text/plain';第三个参数使用编码utf-8保证多语言兼容性<br />        message = MIMEText(content,_subtype='plain',_charset='utf-8')<br />#   发送的邮件需要添加头部信息,包含发送者、接收者、邮件主题等信息;<br />        #   邮件主题<br />        message['Subject'] = sub<br />#   发送者<br />        message['From'] = user<br />#   接收者<br />        message['To'] = ";".join(user_list)<br />#   安全邮件,通过SSL发送,创建SSL安全连接<br />        server = smtplib.SMTP_SSL()<br />#   启用SSL连接,端口一般是465<br />        server.connect(email_host,465)<br />#   login()登陆SMTP服务器<br />        server.login(send_user,password)<br />#   sendmail()发邮件,可一次发给多人,此处用列表,邮件正文为str,<br />        #   as_string()把MIMEText对象变成str<br />        server.sendmail(user,user_list,message.as_string())<br />#   关闭SMTP服务器连接<br />        server.close()<br /><br />#   在当前脚本下运行<br />if __name__ == '__main__':<br />#   实例化类<br />    send = SendEmil()<br />#   要发送的对象,可为多个<br />    user_list = ['[email protected]']<br />#   邮件标题<br />    <span>sub = '测试邮件'<br />    #   邮件内容<br />    content = '哈哈哈哈哈'<br />    #   发送<br />    send.send_email(user_list,<span>sub,content)<br />print("发送成功!")

相关推荐