倾情 发表于 2020-7-6 21:50

Python实现发送邮件和邮件验证码

本帖最后由 倾情 于 2020-7-22 08:56 编辑

# 导入包
import smtplib
# 邮件内容配置
from email.mime.text import MIMEText
# 邮件头配置
from email.header import Header
# 随机数
import random
# 创建验证码变量
verify = ''
# 获取四位验证码
for i in range(1,5):
    randomstr = random.choice('qwertyuiopasdfghjklzxcvbnm1234567890')
    # print(randomstr)
    verify += randomstr
sender = 'xxxxxxx@stu.lit.edu.cn'# 发送的邮箱号
receivers = ['xxxxxx@qq.com']# 接收者邮箱
# 发送的内容、格式、编码设置
message = MIMEText(f'验证码:{verify}','html','utf-8')
# SMTP服务器为
"""
163邮箱:
163邮箱smtp服务器
pop: pop.163.com
smtp: smtp.163.com
QQ邮箱
POP3:pop.qq.com
SMTP:smtp.qq.com
SMTP端口号:25

QQ邮箱smtp服务器及端口
接收邮件服务器:imap.qq.com,使用SSL,端口号993
发送邮件服务器:smtp.qq.com,使用SSL,端口号465或587
新浪邮箱
新浪邮箱smtp服务器
外发服务器:smtp.vip.sina.com
收件服务器:pop3.vip.sina.com
新浪免费邮件
外发服务器:smtp.sina.com.cn
收件服务器:pop3.sina.com.cn
新浪免费邮箱
POP3:pop.sina.com
SMTP:smtp.sina.com
SMTP端口号:25
新浪VIP邮箱
POP3:pop3.vip.sina.com
SMTP:smtp.vip.sina.com
SMTP端口号:25
新浪企业邮箱
POP3:pop.sina.com
SMTP:smtp.sina.com
SMTP端口号:25
"""
# SMTP邮箱服务器
smtpServer = 'smtp.exmail.qq.com'
# 设置发件人
message['From'] = Header('Python 机器人','utf-8')
# 设置收件人
message['To'] = Header('185386857XX@139.com','utf-8')
# 设置主题
message['Subject'] = "邮件验证码"
try:
    # 创建一个SMTP的对象
    smtpObj = smtplib.SMTP_SSL(smtpServer,465)
    # 登录验证自己的邮箱,密码是自己生成的SMTP对应的授权码
    smtpObj.login(sender,'JxKdWpY2ZST7Uw6EU')
    # 执行发送
    smtpObj.sendmail(sender,receivers,message.as_string())
    print ("邮件发送成功")
except Exception as ex :
    print ("Error: 无法发送邮件",ex)

Test_dada 发表于 2020-7-7 14:33

本帖最后由 Test_dada 于 2020-7-7 14:35 编辑

给你编辑下格式
# 导入包
import smtplib
# 邮件内容配置
from email.mime.text import MIMEText
# 邮件头配置
from email.header import Header
# 随机数
import random
# 创建验证码变量
verify = ''
# 获取四位验证码
for i in range(1,5):
    randomstr = random.choice('qwertyuiopasdfghjklzxcvbnm1234567890')
    # print(randomstr)
    verify += randomstr
sender = 'xxxxxxx@stu.lit.edu.cn'# 发送的邮箱号
receivers = ['xxxxxx@qq.com']# 接收者邮箱
# 发送的内容、格式、编码设置
message = MIMEText(f'验证码:{verify}','html','utf-8')
# SMTP服务器为
"""
163邮箱:
163邮箱smtp服务器
pop: pop.163.com
smtp: smtp.163.com
QQ邮箱
POP3:pop.qq.com
SMTP:smtp.qq.com
SMTP端口号:25

QQ邮箱smtp服务器及端口
接收邮件服务器:imap.qq.com,使用SSL,端口号993
发送邮件服务器:smtp.qq.com,使用SSL,端口号465或587
新浪邮箱
新浪邮箱smtp服务器
外发服务器:smtp.vip.sina.com
收件服务器:pop3.vip.sina.com
新浪免费邮件
外发服务器:smtp.sina.com.cn
收件服务器:pop3.sina.com.cn
新浪免费邮箱
POP3:pop.sina.com
SMTP:smtp.sina.com
SMTP端口号:25
新浪VIP邮箱
POP3:pop3.vip.sina.com
SMTP:smtp.vip.sina.com
SMTP端口号:25
新浪企业邮箱
POP3:pop.sina.com
SMTP:smtp.sina.com
SMTP端口号:25
"""
# SMTP邮箱服务器
smtpServer = 'smtp.exmail.qq.com'
# 设置发件人
message['From'] = Header('Python 机器人','utf-8')
# 设置收件人
message['To'] = Header('185386857XX@139.com','utf-8')
# 设置主题
message['Subject'] = "牵牛花微信小程序邮件验证码"
try:
    # 创建一个SMTP的对象
    smtpObj = smtplib.SMTP_SSL(smtpServer,465)
    # 登录验证自己的邮箱,密码是自己生成的SMTP对应的授权码
    smtpObj.login(sender,'JxKdWpY2ZST7Uw6EU')
    # 执行发送
    smtpObj.sendmail(sender,receivers,message.as_string())
    print ("邮件发送成功")
except Exception as ex :
    print ("Error: 无法发送邮件",ex)

魔道书生 发表于 2020-7-6 21:57

要是对接临时邮箱就美滋滋了

pkni1230 发表于 2020-7-6 22:46

不错不错 可以试一试

beyond1994 发表于 2020-7-6 22:58

落下了没技术的yanlei

senlinyiye 发表于 2020-7-6 23:10

优秀,我也是这么做的

raykeyor 发表于 2020-7-7 09:29

谢谢分享

qylisten 发表于 2020-7-7 15:10

以前想做到这个,没有一个成功过。这次再试试。

小飞象v 发表于 2020-7-8 09:40

学习了。。。。。

Windfall 发表于 2020-7-21 16:41

学习了感谢大佬分享
页: [1] 2
查看完整版本: Python实现发送邮件和邮件验证码