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 = 'hahahaha'
# 创建邮件发送对象
# 普通的邮件发送形式
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源码:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持萬仟网。
如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!