@Ramplin

Не работает форма обратной связи. В чем проблема?

Здравствуйте.
Сделал форму обратной связи, на локальном сервере работает, сообщения приходят на почту.Потом залил проект на 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
  • Вопрос задан
  • 186 просмотров
Пригласить эксперта
Ответы на вопрос 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Django
Седой и строгий
Ошибка "Network is unreachable" означает, что с сервера pythonanywhere.com нельзя соединиться с smtp.mail.ru. Подозреваю, что mail.ru давно задрали спамеры с этих серверов.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы