如何使用python向gmail发送电子邮件?

2024-03-29 15:52:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用下面的代码,但是我一直收到一个错误。。我做错了什么

import os
import smtplib

sender_email = "myemail@gmail.com"
rec_email = "myemail@gmail.com"
username = "myemail@gmail.com"
password = input(str("EnterPassword"))
message = "Hey, this was sent using python"
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
print("connected")
server.login(username,password)
print("Login success")
server.sendmail(sender_email,rec_email,message)
print("Email has been sent")

错误:

connected
Traceback (most recent call last):
  File "C:/Users/<user>/PycharmProjects/Report/main.py", line 12, in <module>
    server.login(username,password)
  File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\lib\smtplib.py", line 730, in login
    raise last_exception
  File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\lib\smtplib.py", line 721, in login
    initial_response_ok=initial_response_ok)
  File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\lib\smtplib.py", line 642, in auth
    raise SMTPAuthenticationError(code, resp)
smtplib.SMTPAuthenticationError: (535, b'5.7.8 Username and Password not accepted. Learn more at\n5.7.8  https://support.google.com/mail/?p=BadCredentials q15sm575467pje.29 - gsmtp')

Process finished with exit code 1

Tags: inpycomserveremaillineusernamelogin
1条回答
网友
1楼 · 发布于 2024-03-29 15:52:26

首先,确保你的gmail电子邮件和密码是正确的。通过浏览器登录进行验证

然后在设置服务器后尝试添加扩展HELO(ehlo)消息

server = smtplib.SMTP('smtp.gmail.com', 587)
server.ehlo()
server.starttls()

此外,gmail要求您:

只有在这些步骤之后,gmail才允许第三方库允许SMTP登录

相关问题 更多 >