python实现QQ邮箱/163邮箱的邮件发送
程序员文章站
2023-11-05 20:25:10
qq邮箱/163邮箱的邮件发送:py文件发送邮件内容相当于一个第三方的客户端,借助于qq/163邮箱服务器来发送的邮件。
主要配置:
导入模块——import&...
qq邮箱/163邮箱的邮件发送:py文件发送邮件内容相当于一个第三方的客户端,借助于qq/163邮箱服务器来发送的邮件。
主要配置:
- 导入模块——import smtplib
- 邮箱smtp服务器的主机地址,host——将来使用这个服务器收发邮件。
- 配置服务器端口,port ——默认的邮件端口是25(qq邮箱是:465)
- 指定发件人和收件人,(from、to)——发件人只有一个,收件人有多个,收件人格式:‘邮箱1,邮箱2,...'
- 邮件标题(subject)
- 邮件内容(content)
邮箱相关信息的截图:
qq邮箱
网易邮箱
示例代码:
qq邮箱
# 用于发送邮件的模块 import smtplib # qq邮件 # 1> 配置邮箱smtp服务器的主机地址,将来使用这个服务器收发邮件。 host = 'smtp.qq.com' # # 2> 配置服务的端口,默认的邮件端口是25. port = '465' # # 3> 指定发件人和收件人。 from = '987456123@qq.com' to = '1521111111@qq.com' # # 4> 邮件标题 subject = '这是一封测试邮件' # # 5> 邮件内容 content = '这是<987456123@qq.com>发送过来的邮件。请注意查收!' # # 创建邮件发送对象 # # 普通的邮件发送形式 # # smtp_obj = smtplib.smtp() # # 数据在传输过程中会被加密。 smtp_obj = smtplib.smtp_ssl() # # 需要进行发件人的认证,授权。 # # smtp_obj就是一个第三方客户端对象 smtp_obj.connect(host=host, port=port) # # 如果使用第三方客户端登录,要求使用授权码,不能使用真实密码,防止密码泄露。 res = smtp_obj.login(user=from, password='zsgncmacktxkbdhb') print('登录结果:',res) # # 发送邮件 msg = '\n'.join(['from: {}'.format(from), 'to: {}'.format(to), 'subject: {}'.format(subject), '', content]) smtp_obj.sendmail(from_addr=from, to_addrs=[to], msg=msg.encode('utf-8'))
网易邮箱
import smtplib # 网易163邮箱 host = 'smtp.163.com' # 2> 配置服务的端口,默认的邮件端口是25. port = '25' # 3> 指定发件人和收件人。 from = 'gaoteacheradmin@163.com' to = 'testadmin@163.com,123456789@qq.com' # 4> 邮件标题 subject = 'haha' # 5> 邮件内容 content = 'haha<testadmin@163.com>haha' # 创建邮件发送对象 # 普通的邮件发送形式 smtp_obj = smtplib.smtp() # 数据在传输过程中会被加密。 # smtp_obj = smtplib.smtp_ssl() # 需要进行发件人的认证,授权。 # smtp_obj就是一个第三方客户端对象 smtp_obj.connect(host=host, port=port) # 如果使用第三方客户端登录,要求使用授权码,不能使用真实密码,防止密码泄露。 res = smtp_obj.login(user=from, password='haha521') print('登录结果:',res) # 发送邮件 msg = '\n'.join(['from: {}'.format(from), 'to: {}'.format(to), 'subject: {}'.format(subject), '', content]) smtp_obj.sendmail(from_addr=from, to_addrs=to, msg=msg.encode('utf-8'))
源码赏析:
登录——login源码
发送——sendmail源码:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
下一篇: 孟浩然的诗有哪些