J'ai des problèmes pour envoyer du courrier Django
Je configure mon compte Gmail en suivant ce lien:
Et j’ai essayé chaque solution en ligne mais j’ai quand même [Errno -2]
J'ai trouvé quelqu'un qui disait que c'était à cause du problème de DNS, quelqu'un peut-il me dire ce qui ne va pas avec mon code et existe-t-il une solution?
views.py
import django
from django import settings
from django.core.mail import send_mail
def contact(request):
send_mail("subject","message",settings.EMAIL_HOST_USER,["zwt467875460@gmail.com"],fail_silently = False)
return HttpResponseRedirect("/contact/thanks")
def thanks(request):
return HttpResponse("thanks!")
settings.py
#email config
EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend"
EMAIL_HOST = "smtp.gamil.com"
EMAIL_PORT = 587
EMAIL_HOST_USER="zwt467875460@gmail.com"
EMAIL_HOST_PASSWORD="*********" #my gmail password
EMAIL_USER_TLS = True
DEFAULT_FORM_EMAIL = EMAIL_HOST_USER
ACCOUNT_EMAIL_VERIFICATION = "none"
erreur de traçage
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/Django-1.10.6-py2.7.egg/django/core/handlers/exception.py", line 42, in inner
response = get_response(request)
File "/usr/local/lib/python2.7/dist-packages/Django-1.10.6-py2.7.egg/django/core/handlers/base.py", line 187, in _get_response
response = self.process_exception_by_middleware(e, request)
File "/usr/local/lib/python2.7/dist-packages/Django-1.10.6-py2.7.egg/django/core/handlers/base.py", line 185, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/wenting/WTDjango/mysite/books/views.py", line 30, in contact
send_mail("subject","message",settings.EMAIL_HOST_USER,["zwt467875460@gmail.com"],fail_silently = False)
File "/usr/local/lib/python2.7/dist-packages/Django-1.10.6-py2.7.egg/django/core/mail/__init__.py", line 62, in send_mail
return mail.send()
File "/usr/local/lib/python2.7/dist-packages/Django-1.10.6-py2.7.egg/django/core/mail/message.py", line 342, in send
return self.get_connection(fail_silently).send_messages([self])
File "/usr/local/lib/python2.7/dist-packages/Django-1.10.6-py2.7.egg/django/core/mail/backends/smtp.py", line 100, in send_messages
new_conn_created = self.open()
File "/usr/local/lib/python2.7/dist-packages/Django-1.10.6-py2.7.egg/django/core/mail/backends/smtp.py", line 58, in open
self.connection = connection_class(self.host, self.port, **connection_params)
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):
gaierror: [Errno -2] Name or service not known
[15/Apr/2017 18:45:56] "GET /contact/ HTTP/1.1" 500 102295
et dans la page d'erreur Django:
Exception Location: /usr/lib/python2.7/socket.py in create_connection, line 557
Je suppose que mon problème est que Gmail pense que je n'ai pas de DNS fixe ou correct donc je ne peux pas créer une prise
Et puis j'ai essayé sendmail: après avoir installé sendmail, sendmail-cf et le configurer,
j'ai essayé :
echo "Subject: sendmail test" | sendmail -v zwt467875460@gmail.com
et la sortie est (j'omet les détails d'envoi):
354 Enter mail, end with "." on a line by itself
>>> .
050 <zwt467875460@gmail.com>... Connecting to smtp.gmail.com via relay...
050 <zwt467875460@gmail.com>... Deferred: Connection refused by smtp.gmail.com
250 2.0.0 v3GKMtLU003555 Message accepted for deliveryzwt467875460@gmail.com... Sent (v3GKMtLU003555 Message accepted for delivery)
Closing connection to [127.0.0.1]
>>> QUIT
221 2.0.0 localhost.localdomain closing connection
La connexion est refusée par smtp.gmail.com
Réponses:
0 pour la réponse № 1Vérifiez si les paramètres IMAP / POP sont activés à partir des paramètres de votre compte Gmail. Vérifiez également que l'accès aux "applications moins sécurisées" est activé. Sinon, suivez le lien:https://support.google.com/accounts/answer/6010255