如何解决尝试通过python发送电子邮件并使用套接字出错
这是我的代码
import smtplib
from datetime import datetime
print("Sending Mail")
with smtplib.SMTP('smpt.gmail.com',587) as smtp:
smtp.ehlo()
smtp.starttls()
smtp.ehlo()
smtp.login('gmail','password')
print("Logged In")
subject = "Current Time: " + datetime.now.strftime("%d/%m/%Y %H:%M:%S")
smtp.sendmail('myemail@gmail.com','myemail@gmail.com',"hello")
print("Sent Email")
我正在尝试使用 smtplib 通过 gmail 发送电子邮件,这是我收到的错误:
Sending Mail
Traceback (most recent call last):
File "c:/Users/12488/Downloads/Key Logger/keylog.py",line 43,in <module>
with smtplib.SMTP('smpt.gmail.com',587) as smtp:
File "C:\Users\12488\AppData\Local\Programs\Python\Python38\lib\smtplib.py",line 253,in __init__
(code,msg) = self.connect(host,port)
File "C:\Users\12488\AppData\Local\Programs\Python\Python38\lib\smtplib.py",line 339,in connect
self.sock = self._get_socket(host,port,self.timeout)
File "C:\Users\12488\AppData\Local\Programs\Python\Python38\lib\smtplib.py",line 308,in _get_socket
return socket.create_connection((host,port),timeout,File "C:\Users\12488\AppData\Local\Programs\Python\Python38\lib\socket.py",line 787,in create_connection
for res in getaddrinfo(host,SOCK_STREAM):
File "C:\Users\12488\AppData\Local\Programs\Python\Python38\lib\socket.py",line 918,in getaddrinfo
for res in _socket.getaddrinfo(host,family,type,proto,flags):
socket.gaierror: [Errno 11001] getaddrinfo failed
我确保在 gmail 上检查了不太安全的设备,但我没有尝试过互联网上的所有解决方案,因为我是 python 新手,这是我第一次使用 smtp,我没有得到很多,我认为这与套接字有关,因为这是我读过的另一个流行的 python 模块,但我对此知之甚少,我不确定,是否有人可以简化问题并向我解释我今年 5 岁,将不胜感激。
解决方法
您使用的域不正确,DNS 服务器无法解析该域。
smpt.gmail.com
应该是:
smtp.gmail.com
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。