Проблема SMTP в веб-приложении Django - PullRequest
0 голосов
/ 20 сентября 2018

Меня попросили добавить функцию в существующую программу, которая реализована с использованием фреймворка Django / Python.Эта функция позволит пользователю нажать на кнопку, которая покажет небольшое диалоговое окно / форму для ввода значения.

Я написал некоторый код, который показывает сообщение о том, что электронное письмо отправлено, но на самом деле ононе отправляет!

Мой код:

from django.shortcuts import render
from django.core.mail import send_mail


# Create your views here.
def index(request):

    send_mail('Request for a Clause',
    'This is an automated email. Jeff, please submit the case for 1234567',
    'akohan@mycompay.com',
    ['jjohnson@mycompany.com'],
    fail_silently=False)

    return render(request, 'send/index.html')

В корне проекта, в setting.py я добавил конфигурацию SMTP:

EMAIL_HOST = 'mail.mycompany.com'
EMIAL_PORT = 587

#EMAIL_HOST_USER = 'akohan@mycompany.com'  ;no need it is on the white list
#EMAIL_HOST_PASSWORD = '' ;no need it is on the white list

EMAIL_USE_TLS = True
EMAIL_USE_SSL = False

Iзапустите его, набрав:

python manage.py  SendEmailApp

Что мне здесь не хватает?

1 Ответ

0 голосов
/ 20 сентября 2018

Лично я ранее отправлял электронные письма таким образом в проекте Django, и он работал отлично.Вам нужно будет разрешить SMTP доступ к вашей электронной почте.

import smtplib

def sendEmail():

    server = smtplib.SMTP('smtp.gmail.com', 587)
    server.starttls()
    server.login('yourEmailAddress@gmail.com', 'yourEmailPassword')

    try:
        server.sendmail('yourEmailAddress@gmail.com', 'emailAddressBeingSentTo', 'messageBeingSent')
    except:
        print('An error occurred when trying to send an email')

    server.quit()

Примечание.Безопасность не была проблемой для меня, поэтому я не проверял ее.

Надеюсь, это поможет:)

...