欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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邮箱

python实现QQ邮箱/163邮箱的邮件发送

python实现QQ邮箱/163邮箱的邮件发送

网易邮箱

python实现QQ邮箱/163邮箱的邮件发送

python实现QQ邮箱/163邮箱的邮件发送

示例代码:

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源码

python实现QQ邮箱/163邮箱的邮件发送

发送——sendmail源码:

python实现QQ邮箱/163邮箱的邮件发送

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。