Здравствуйте.
Сделал форму обратной связи, на локальном сервере работает, сообщения приходят на почту.Потом залил проект на pythonanywhere.com форма перестала работать.
В логах выдаёт это:
Internal Server Error: /contact#012Traceback (most recent call last):#012 File "/home/Ramplin/HomeSky/myvenv/lib/python3.6/site-packages/django/core/handlers/exception.py", line 41, in inner#012 response = get_response(request)#012 File "/home/Ramplin/HomeSky/myvenv/lib/python3.6/site-packages/django/core/handlers/base.py", line 187, in _get_response#012 response = self.process_exception_by_middleware(e, request)#012 File "/home/Ramplin/HomeSky/myvenv/lib/python3.6/site-packages/django/core/handlers/base.py", line 185, in _get_response#012 response = wrapped_callback(request, *callback_args, **callback_kwargs)#012 File "/home/Ramplin/HomeSky/emailform/views.py", line 23, in contactView#012 send_mail(subject, message, 'rampl123@mail.ru', recipients)#012 File "/home/Ramplin/HomeSky/myvenv/lib/python3.6/site-packages/django/core/mail/__init__.py", line 62, in send_mail#012 return mail.send()#012 File "/home/Ramplin/HomeSky/myvenv/lib/python3.6/site-packages/django/core/mail/message.py", line 348, in send#012 return self.get_connection(fail_silently).send_messages([self])#012 File "/home/Ramplin/HomeSky/myvenv/lib/python3.6/site-packages/django/core/mail/backends/smtp.py", line 104, in send_messages#012 new_conn_created = self.open()#012 File "/home/Ramplin/HomeSky/myvenv/lib/python3.6/site-packages/django/core/mail/backends/smtp.py", line 64, in open#012 self.connection = self.connection_class(self.host, self.port, **connection_params)#012 File "/usr/lib/python3.6/smtplib.py", line 1029, in __init__#012 source_address)#012 File "/usr/lib/python3.6/smtplib.py", line 251, in __init__#012 (code, msg) = self.connect(host, port)#012 File "/usr/lib/python3.6/smtplib.py", line 335, in connect#012 self.sock = self._get_socket(host, port, self.timeout)#012 File "/usr/lib/python3.6/smtplib.py", line 1035, in _get_socket#012 self.source_address)#012 File "/usr/lib/python3.6/socket.py", line 722, in create_connection#012 raise err#012 File "/usr/lib/python3.6/socket.py", line 713, in create_connection#012 sock.connect(sa)#012OSError: [Errno 101] Network is unreachable
Это у меня в views
from django.shortcuts import render
from django.http import HttpResponse
from django.core.mail import send_mail, BadHeaderError
from emailform.forms import ContactForm
def contactView(request):
if request.method == 'POST':
form = ContactForm(request.POST)
# Если форма заполнена корректно, сохраняем все введённые пользователем значения
if form.is_valid():
subject = form.cleaned_data['subject']
sender = form.cleaned_data['sender']
message = form.cleaned_data['message']
copy = form.cleaned_data['copy']
recipients = ['моя почта']
# Если пользователь захотел получить копию себе, добавляем его в список получателей
if copy:
recipients.append(sender)
try:
send_mail(subject, message, 'моя почта', recipients)
except BadHeaderError: # Защита от уязвимости
return HttpResponse('Invalid header found')
# Переходим на другую страницу, если сообщение отправлено
return render(request, 'thanks/thanks.html')
else:
# Заполняем форму
form = ContactForm()
# Отправляем форму на страницу
return render(request, 'thanks/error.html', {'form': form})
Это то что вставлял в настройки
EMAIL_HOST = 'smtp.mail.ru'
EMAIL_HOST_USER = 'моя почта'
EMAIL_HOST_PASSWORD = 'пароль от почты'
EMAIL_PORT = 465
EMAIL_USE_SSL = True