一、QQ,qq使我们最常用的邮箱,我们怎么用代码给别人发邮箱呢?
1、新建一个文件,文件名不能是email ,记住了。否则会出错的。
import smtplib,time
# QQ邮箱
HOST = 'smtp.qq.com' # 服务器主机,相当于第三方客户端
PORT = '465' # 端口 使用SSL,端口号465或587
FROM = '发件人邮箱' # 发件人的邮箱账号,必须是本人可登录的.
TO = ['邮箱账号1', '邮箱账号二'] # 接收邮件的人的账号.可以是类表;也可以是用,连接的字符串 '邮箱账号1', '邮箱账号二'
SUBJECT = '这是一封测试邮件' # 邮件的标题
CONTENT = '这是一封邮件' # 邮件的内容
# 创建邮件发送对象
smtp_obj1 = smtplib.SMTP() # 普通邮件的发送形式
smtp_obj = smtplib.SMTP_SSL() # 数据在传输过程中会被加密。
smtp_obj.connect(host=HOST, port=PORT) # 需要进行发件人的认证,授权,smtp_obj就是一个第三方客户端对象
res = smtp_obj.login(user=FROM, password='授权码') # 如果使用第三方客户端登录,要求使用授权码,不能使用真实密码,防止密码泄露。
print(res, '登录成功')
for to in TO:
print(to)
msg = '\n'.join(['From: {}'.format(FROM), 'To: {}'.format(to), 'SUBJECT:{}'.format(SUBJECT), '', CONTENT]) # 发送邮件,这里是我们按照邮箱的格式拼接一下.
for num in range(1, 100): # 循环发送
time.sleep(5) # 设置一下睡眠时间
smtp_obj.sendmail(from_addr=FROM, to_addrs=[to], msg=msg.encode('utf-8')) # 这里要编码,不然会出现ASCII码编码错误.
print('发送成功')
特别声明一下(红色的代码是固定的写法,不能够乱改)
2、授权码的获取。QQ邮箱 →设置→账户 ,发送信息获取授权码,复制粘贴就OK了。
二、网易邮箱、网易邮箱也是我们常用的。当初荒野行动出来的时候,我们不知道申请了多少个。我们也可以用网易邮箱给别人发邮件。
1、网易邮箱的代码跟qq 的差不多,只有两个几个地方要改。其他的不变。
import smtplib,time
# QQ邮箱
HOST = 'smtp.163.com' # 服务器主机,相当于第三方客户端
PORT = '25' # 端口 使用SSL,端口号 默认25
FROM = '发件人邮箱' # 发件人的邮箱账号,必须是本人可登录的.
TO = ['邮箱账号1', '邮箱账号二'] # 接收邮件的人的账号.可以是类表;也可以是用,连接的字符串 '邮箱账号1', '邮箱账号二'
SUBJECT = '这是一封测试邮件' # 邮件的标题
CONTENT = '这是一封邮件' # 邮件的内容
# 创建邮件发送对象
smtp_obj1 = smtplib.SMTP() # 普通邮件的发送形式
smtp_obj = smtplib.SMTP_SSL() # 数据在传输过程中会被加密。
smtp_obj.connect(host=HOST, port=PORT) # 需要进行发件人的认证,授权,smtp_obj就是一个第三方客户端对象
res = smtp_obj.login(user=FROM, password='授权码') # 如果使用第三方客户端登录,要求使用授权码,不能使用真实密码,防止密码泄露。
print(res, '登录成功')
for to in TO:
print(to)
msg = '\n'.join(['From: {}'.format(FROM), 'To: {}'.format(to), 'SUBJECT:{}'.format(SUBJECT), '', CONTENT]) # 发送邮件,这里是我们按照邮箱的格式拼接一下.
for num in range(1, 100): # 循环发送
time.sleep(5) # 设置一下睡眠时间
smtp_obj.sendmail(from_addr=FROM, to_addrs=[to], msg=msg.encode('utf-8')) # 这里要编码,不然会出现ASCII码编码错误.
print('发送成功')
2、网易授权码的获取,与pop3的开启 ,设置→POP3/MSTP /IMAP
客户端授权密码 ,发送并接受一下即可