python - 无法通过 python 发送电子邮件(gmail)
问题描述
我有一个半年前工作的代码。它基本上发送电子邮件。
import smtplib
import socket
gmail_user="SENDERMAIL"
gmail_password="SENDERPASS"
to = 'SENDTOTHIS'
email_text = "ADSADSADSA"
try:
server = smtplib.SMTP_SSL('smtp.gmail.com', 465)
server.ehlo()
server.login(gmail_user, gmail_password)
server.starttls()
server.sendmail(gmail_user, to, email_text)
server.close()
#I was using this code below and it was working. I tried above code but it also did not work.
#server = smtplib.SMTP("smtp.gmail.com:587")
#server.ehlo()
#server.starttls()
#server.ehlo()
#server.login(gmail_user, gmail_password)
#server.sendmail(gmail_user, to, email_text)
#server.close()
print("Done")
except Exception as exception:
print(exception)
这是例外
(534,b'5.7.14
5.7.14 KL7_2qGSLW9IBjP8dKKgP67bEgyKNc5ls76dnVDZcUlVQjJUQb0JX9BIVi_Agb84vKNOKB
5.7.14 fshB0ngZ_Tn8ocDpDHKavRKXmluVjHo5YM7ADKENtWn4aVTxyvaBlbXRGpA1EBh91bdV-o
5.7.14 pwiAWUHXKmRQEuSNSiFcv68DP4a7ghIu9YKnTyqtUEhGd4HgKtxa4Jz0mhSQDjD13UQWYB
5.7.14 -YEL5Sd2h5YxN8kkSAsK-J_hXMbpy7wNyeCov8lq1Aa3spZzgo> 请通过以下方式登录
5.7.14 你的网络浏览器然后再试一次。
5.7.14 了解更多信息
5.7.14 https://support.google.com/mail/answer/78754 f132-v6sm3660398wme.24 - gsmtp')
我确实尝试过
- 登录 gmail
- 将设备添加到受信任的设备
- 通过 gmail 开启 IMAP
- 让不太安全的应用程序
- 试过这个:
https://support.google.com/mail/answer/7126229?visit_id=636711453029417344-336837064&rd=2#cantsignin
解决方案
有很多方法可以解决这个问题。我希望这段代码有所帮助。您唯一需要做的就是填写所需的变量。
import socket
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
#
message = "Your message" # Type your message
msg = MIMEMultipart()
password = "********" # Type your password
msg['From'] = "from@gmail.com" # Type your own gmail address
msg['To'] = "To@gmail.com" # Type your friend's mail address
msg['Subject'] = "title" # Type the subject of your message
msg.attach(MIMEText(message, 'plain'))
server = smtplib.SMTP('smtp.gmail.com: 587')
server.starttls()
server.login(msg['From'], password)
server.sendmail(msg['From'], msg['To'], msg.as_string())
server.quit()
推荐阅读
- django - Django检查模板中的表单字段属性
- flutter - 将主抽屉添加到颤动的按钮
- javascript - js事件时套接字php到java
- c - OpenGL:我自己实现的截锥体函数导致黑屏
- javascript - 如何将 fetch api 与 .cfm 文件一起使用?
- javascript - 如何将单个标签添加到数组中的某些项目?
- python - BS4 无法选择正确的“跨度”
- django - nginx 错误 502 上游过早关闭连接,同时从上游读取响应标头
- oracle-sqldeveloper - 日期列导入问题
- c# - .Net Core 3.1 - 在大型文本文件上使用 HttpClient 的 Content.ReadAsStringAsync() 时出现异常