大家好,我又来给大家更新,废话不多说,代码如下:
#导入所需的模块
import re
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
# 填写你的QQ邮箱和密码
username = ' 自己的QQ号+@qq.com'#填入自己的QQ邮箱
password = '改为自己QQ邮箱的授权码'#进入QQ邮箱官网:https://mail.qq.com/获取QQ授权码
# 设置SMTP服务器
smtp_server = 'smtp.qq.com'
smtp_port = 587 # 通常为465或587
# 创建邮件对象
msg = MIMEMultipart()
# 设置邮件内容
msg['From'] = username
while True:
qq_ID=str(input('请输入要接收邮件的QQ号:'))
pattern = re.compile(r'^[0-9]+$') # 只匹配由数字组成的字符串
if pattern.match(qq_ID) and len(qq_ID)<=10:
msg['To'] =qq_ID +'@qq.com' # 填写接收者的邮箱地址
break
else:
print("请输入正确的QQ号!")
msg['Subject'] = '更改为你的邮件主题' # 邮件主题
body = '更改为你需要写的邮件正文' # 邮件正文内容
msg.attach(MIMEText(body, 'plain'))
# 登录SMTP服务器
server = smtplib.SMTP(smtp_server, smtp_port)
server.starttls() # 安全连接
server.login(username, password)#登录个人邮箱
# 发送邮件
try:
text = msg.as_string()
server.sendmail(username, msg['To'], text)
print('发送成功')
except smtplib.SMTPDataError:
print('邮箱不存在')
server.quit()#退出SMTP服务器
这段代码是一个简单的Python用于发送邮件。它使用了Python的标准库中的一些模块,如:re, smtplib, email。以下是代码的详细介绍:
导入必要的模块:
re:正则表达式模块,用于匹配字符串。
smtplib:用于通过SMTP协议发送电子邮件。
email:提供了一些类用于创建和解析电子邮件。
填写你的QQ邮箱和密码:这一行代码只是为了注释说明,让读者知道应该在这里填写QQ邮箱和密码。
进入QQ邮箱官网获取QQ授权码:这行代码也是注释,提示用户需要去QQ邮箱官网获取授权码。
QQ邮箱授权码获取步骤如下:
1. 打开手机的器,访问腾讯官方网站(https://mail.qq.com/)
2. 点击页面上的"登录"按钮,在弹出的登录界面中输入您的QQ邮箱账号和密码,然后点击"登录"
3. 登录成功后,点击页面右上角的"设置"按钮,选择"账户"选项
4. 在"账户"选项卡下,找到"POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务",点击"开启"
5. 针对SMTP服务,点击"生成授权码",系统会为您生成一个唯一的授权码。请记下这个授权码,因为它是访问QQ邮箱SMTP服务所需的密码
设置SMTP服务器:这里设置了SMTP服务器为QQ的SMTP服务器。
创建邮件对象:使用MIMEMultipart类创建一个邮件对象。
设置邮件内容:
从用户输入中获取接收者的QQ号,并通过正则表达式检查和QQ长度输入是否为有效的数字组成的字符串
设置邮件的主题和正文内容。
登录SMTP服务器:使用之前设置的SMTP服务器和端口号,以及填写的QQ邮箱和密码来登录SMTP服务器。
发送邮件:在登录成功后,如果在发送过程中遇到错误,会打印出错误信息。
退出SMTP服务器:发送完邮件后,退出SMTP服务器。