Django send_mail无法正常工作

Cha*_*arl 11 django django-email

当发送电子邮件的视图没有使用时,我然后输入send_mail(...)到python shell中它返回1但我没有收到任何电子邮件.

这是我的settings.py

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'workorbit@gmail.com'
EMAIL_HOST_PASSWORD = 'P@ssw0rd5'
EMAIL_USE_TLS = True
Run Code Online (Sandbox Code Playgroud)

这是观点:

def send_email(request):
    send_mail('Request Callback', 'Here is the message.', 'workorbit@gmail.com',
        ['charl@byteorbit.com'], fail_silently=False)
    return HttpResponseRedirect('/')
Run Code Online (Sandbox Code Playgroud)

Bur*_*lid 14

调整您的设置:

DEFAULT_FROM_EMAIL = 'workorbit@gmail.com'
SERVER_EMAIL = 'workorbit@gmail.com'
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'workorbit@gmail.com'
EMAIL_HOST_PASSWORD = 'P@ssw0rd5'
Run Code Online (Sandbox Code Playgroud)

调整你的代码:

from django.core.mail import EmailMessage

def send_email(request):
    msg = EmailMessage('Request Callback',
                       'Here is the message.', to=['charl@byteorbit.com'])
    msg.send()
    return HttpResponseRedirect('/')
Run Code Online (Sandbox Code Playgroud)

  • 我只添加了 DEFAULT_FROM_EMAIL 和 SERVER_EMAIL 设置,它对我有用。send_mail() 方法有什么问题? (4认同)