我正在try 使用python发送邮箱.在谷歌禁用"不太安全的应用程序"之前,我的代码运行良好.我的邮箱地址和密码都正确.

server = smtplib.SMTP_SSL("smtp.gmail.com", 465)
serverEmail = "EMAILADDRESS"
serverPw = "QWERTY"
server.login(serverEmail, serverPw)
subject = "Rejection"
body = "Hi! You've been unfortunately declined access to our system."
message = f'Subject: {subject}\n\n{body}'
server.sendmail("EMAILADDRESS", doctorEmail['email'], message)
server.quit()

我现在收到此错误:

smtplib.SMTPAuthenticationError:(535,b'5.7.8用户名和密码不接受.

我在使用server.starttls()时出现此错误:

smtplib.SMTPNotSupportedError:服务器不支持STARTTLS扩展.

推荐答案

这对我有用.您需要为此生成应用程序密码.参见https://support.google.com/accounts/answer/185833?hl=en

import smtplib as smtp

connection = smtp.SMTP_SSL('smtp.gmail.com', 465)
    
email_addr = 'my_email@gmail.com'
email_passwd = 'app_password_generated_in_Google_Account_Settings'
connection.login(email_addr, email_passwd)
connection.sendmail(from_addr=email_addr, to_addrs='recipient@something.com', msg="Sent from my IDE. Hehe")
connection.close()

由于某种原因,我所有的邮箱最终都被放在收件人帐户的垃圾邮件文件夹中.

Python相关问答推荐

剧作家Python没有得到回应

计算相同形状的两个张量的SSE损失

如何在Python中使用io.BytesIO写入现有缓冲区?

多处理代码在while循环中不工作

返回nxon矩阵的diag元素,而不使用for循环

如何比较numPy数组中的两个图像以获取它们不同的像素

使用索引列表列表对列进行切片并获取行方向的向量长度

将两只Pandas rame乘以指数

如何在Python中并行化以下搜索?

Telethon加入私有频道

python中字符串的条件替换

如何启动下载并在不击中磁盘的情况下呈现响应?

Python全局变量递归得到不同的结果

ModuleNotFoundError:没有模块名为x时try 运行我的代码''

不允许 Select 北极滚动?

多个矩阵的张量积

如何根据一定条件生成段id

遍历列表列表,然后创建数据帧

FileNotFoundError:[WinError 2]系统找不到指定的文件:在os.listdir中查找扩展名

普洛特利express 发布的人口普查数据失败