创建专用应用,并设置密码
1、在你的google账号中选择“安全性”设置中的“两步验证”,在这里你需要在Google列举的几个验证方式中选取至少2个进行验证。其中必备的是“电话验证”,即验证你的手机号。在这里你可以使用你想验证的手机号,需要能够接收验证码。
另外一个最好是辅助邮箱验证,因为有的人在刚开始创建Google账号的时候,已经填写。或者也可以是其他的验证方式。(必须开启两步验证,不然无法创建项目!)
2、验证完成之后,接下来最重要的步骤来了(这是最快的步骤,没有之一):回到账号刚打开的界面,在左上角搜索框输入“专用密码”,点击进去之后启用“专用密码”,命名一个项目。创建之后,会弹出来一个专用密码,一定要复制,并且不要忘记!!!忘记之后,重新创建一个即可。
愉快用SMTP写代码就可以了
import os
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from email import encoders
# Gmail账户信息
gmail_user = "xxx@gmail.com"
gmail_password = "xxxx xxxx xxxx xxxx"
# 连接到Gmail的SMTP服务器
server = smtplib.SMTP("smtp.gmail.com", 587)
server.starttls() # 启用TLS加密
server.login(gmail_user, gmail_password) # 登录Gmail账户
# 发送信息
to_email = "xxxx@qq.com"
subject = "【test】Subject of the Email"
msg = MIMEMultipart()
msg["From"] = gmail_user
msg["To"] = to_email
msg["Subject"] = subject
# 创建 文本 对象
body = "This is the body of the email."
msg.attach(MIMEText(body, "plain", "utf-8"))
# 创建 html 对象
with open("tmp.html", "r", encoding="utf-8") as f:
body = f.read()
msg.attach(MIMEText(body, "html", "utf-8")) # html
# 创建 附件 (应该所有文件都可以)
file_path = "run.py" # xxx.png, xxx.doc xxx.py
file_name = os.path.basename(file_path)
with open(file_path, "rb") as f:
bdata = f.read()
part = MIMEBase("application", "octet-stream")
part.set_payload(bdata)
encoders.encode_base64(part)
part.add_header("Content-Disposition", f"attachment; filename={file_name}")
msg.attach(part)
# 发送
text = msg.as_string()
server.sendmail(gmail_user, to_email, text) # 发送邮件
server.quit()
print("Email sent successfully")