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

时间:2022-06-24 22:40:32

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

python" id="highlighter_34976">
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# 用于发送邮件的模块
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'))

网易邮箱

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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邮箱的邮件发送

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

原文链接:https://blog.csdn.net/qq_33472765/article/details/81006812