jax*_*jax 2 python sockets python-sockets
几个小时后我发布了一篇与"Django email sending API"相关的帖子及其错误.所以我认为首先我应该尝试一下"smtplib".不幸的是,在与"smtplib"挣扎之后,我意识到它也行不通,因为我的代码或我的网络或机器出了问题,我无法弄明白.
任何人都可以帮我这个吗?
截至目前,经过艰苦的努力,我已经尝试了数百个解决方案,并且我已经尝试自己解决,但在我的情况下没有任何工作可以帮助.
代码如下.
import smtplib
from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText
import socks
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS4, "172.16.0.2", '8084')
socks.wrapmodule(smtplib)
#smtp = smtplib.SMTP()
msg = MIMEMultipart()
msg['From'] = 'my@yahoo.com'
msg['To'] = 'example@gmail.com'
msg['Subject'] = 'simple email in python'
message = 'here is the email'
msg.attach(MIMEText(message))
mailserver = smtplib.SMTP('smtp.mail.yahoo.com',465)
# identify ourselves to smtp gmail client
mailserver.ehlo()
# secure our email with tls encryption
mailserver.starttls()
# re-identify ourselves as an encrypted connection
mailserver.ehlo()
mailserver.login('my@yahoo.com', 'pswd12345678')
mailserver.sendmail('my@yahoo.com','example@gmail.com',msg.as_string())
mailserver.quit()
Run Code Online (Sandbox Code Playgroud)
这是一次又一次的错误:
Traceback (most recent call last):
File "import_mail.py", line 21, in <module>
mailserver = smtplib.SMTP('smtp.mail.yahoo.com',465)
File "/usr/lib/python2.7/smtplib.py", line 256, in __init__
(code, msg) = self.connect(host, port)
File "/usr/lib/python2.7/smtplib.py", line 316, in connect
self.sock = self._get_socket(host, port, self.timeout)
File "/usr/lib/python2.7/smtplib.py", line 291, in _get_socket
return socket.create_connection((host, port), timeout)
File "/usr/lib/python2.7/socket.py", line 557, in create_connection
for res in getaddrinfo(host, port, 0, SOCK_STREAM):
socket.gaierror: [Errno -3] Temporary failure in name resolution
Run Code Online (Sandbox Code Playgroud)
由于设置文件中缺少"EMAIL_BACKEND"定义,因此引发此错误.确保settings.py文件包含以下行: -
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
Run Code Online (Sandbox Code Playgroud)
如果您使用Gmail帐户设置默认的交互式邮件,请使用以下值: -
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587 #PORT NO
EMAIL_HOST_USER = #e-MAIL ID
EMAIL_HOST_PASSWORD = #PASSWORD
Run Code Online (Sandbox Code Playgroud)