Python Django不发送电子邮件

Python Django不发送电子邮件,python,django,email,Python,Django,Email,我正在尝试使用Django的send_mail()从本地机器发送邮件,但遇到一些挑战 我在mysettings.py中设置了电子邮件设置,因此: 设置.py: EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST = 'localhost' EMAIL_PORT = '1025' EMAIL_USE_TLS = True LANGUAGE_CODE = 'en-us' def send_greeting

我正在尝试使用Django的
send_mail()
从本地机器发送邮件,但遇到一些挑战

我在my
settings.py中设置了电子邮件设置,因此:

设置.py

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'localhost'
EMAIL_PORT = '1025'
EMAIL_USE_TLS = True
LANGUAGE_CODE = 'en-us'
def send_greetings(request):
    from django.core.mail import send_mail
    send_mail('Invitation', 'Hi, how are you doing today?', 'info@greetings.com', [example@gmail.com], fail_silently=False)
视图.py

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'localhost'
EMAIL_PORT = '1025'
EMAIL_USE_TLS = True
LANGUAGE_CODE = 'en-us'
def send_greetings(request):
    from django.core.mail import send_mail
    send_mail('Invitation', 'Hi, how are you doing today?', 'info@greetings.com', [example@gmail.com], fail_silently=False)
如果我尝试上面的代码,我会得到:

SMTPException at /mysite/
STARTTLS extension not supported by server.
如果评论
#发送电子邮件#请在
settings.py
文件中使用_TLS=True
。它没有显示任何错误,但我的Gmail帐户中没有收到任何电子邮件

如果我更改
电子邮件端口=25
我会得到:

error at /mysite/
[Errno 10061] No connection could be made because the target machine actively refused it

对我来说,这非常有效,试试这个:

设置.py

# Change HOST, HOST_USER, and HOST_PASSWORD
EMAIL_USE_TLS=True
EMAIL_HOST='mail.example.com'
EMAIL_HOST_USER='test@example.com'
EMAIL_HOST_PASSWORD='test123'
EMAIL_PORT=26
def send_greetings(request):
     ...
     subject = 'email subject'
     message = "Hello"
     from_email = settings.EMAIL_HOST_USER
     to_email = "youremail@example.com"
     recipient = [to_email]
     send_mail(subject, message, from_email, recipient, fail_silently=True)
     ...
视图.py

# Change HOST, HOST_USER, and HOST_PASSWORD
EMAIL_USE_TLS=True
EMAIL_HOST='mail.example.com'
EMAIL_HOST_USER='test@example.com'
EMAIL_HOST_PASSWORD='test123'
EMAIL_PORT=26
def send_greetings(request):
     ...
     subject = 'email subject'
     message = "Hello"
     from_email = settings.EMAIL_HOST_USER
     to_email = "youremail@example.com"
     recipient = [to_email]
     send_mail(subject, message, from_email, recipient, fail_silently=True)
     ...

你能试试下面的吗。send_mail返回一个方法中未返回的值

def send_greetings(request):
    from django.core.mail import send_mail
    result = send_mail('Invitation', 'Hi, how are you doing today?', 'info@greetings.com', [example@gmail.com], fail_silently=False)
    return result

你能从本地机器发送电子邮件吗?如果不能,这是一个电子邮件服务器配置问题,而不是编程/django问题