相关疑难解决方法(0)

如何通过Django发送电子邮件?

在我settings.py,我有以下内容:

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'

# Host for sending e-mail.
EMAIL_HOST = 'localhost'

# Port for sending e-mail.
EMAIL_PORT = 1025

# Optional SMTP authentication information for EMAIL_HOST.
EMAIL_HOST_USER = ''
EMAIL_HOST_PASSWORD = ''
EMAIL_USE_TLS = False
Run Code Online (Sandbox Code Playgroud)

我的邮箱代码:

from django.core.mail import EmailMessage
email = EmailMessage('Hello', 'World', to=['user@gmail.com'])
email.send()
Run Code Online (Sandbox Code Playgroud)

当然,如果我通过设置调试服务器python -m smtpd -n -c DebuggingServer localhost:1025,我可以看到终端中的电子邮件.

但是,我如何实际将电子邮件发送到调试服务器而不是user@gmail.com?

在阅读完答案后,让我直截了当:

  1. 你不能使用localhost(简单的ubuntu pc)发送电子邮件吗?

  2. 我认为django 1.3 send_mail()有点弃用,EmailMessage.send()而是用来代替?

python email django smtp

145
推荐指数
7
解决办法
16万
查看次数

Django没有发送错误电子邮件 - 我该如何调试?

我正在使用Django 1.8.这是我的基本设置文件:

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'filters': {
        'require_debug_false': {
            '()': 'django.utils.log.RequireDebugFalse'
        }
    },
    'handlers': {
        'mail_admins': {
            'level': 'ERROR',
            'filters': ['require_debug_false'],
            'class': 'django.utils.log.AdminEmailHandler'
        }
    },
    'loggers': {
        'django.request': {
            'handlers': ['mail_admins'],
            'level': 'ERROR',
            'propagate': True,
        },
    }
}
ADMINS = (
   ('ME', 'me@gmail.com'),
)
MANAGERS = ADMINS
Run Code Online (Sandbox Code Playgroud)

这些是我的制作设置:

########## EMAIL CONFIGURATION
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'my.error.account@gmail.com'
EMAIL_HOST_PASSWORD = utils.get_env_setting('GMAIL_PASS')
EMAIL_SUBJECT_PREFIX = '[%s] ' % SITE_NAME
SERVER_EMAIL …
Run Code Online (Sandbox Code Playgroud)

python django

7
推荐指数
1
解决办法
4509
查看次数

标签 统计

django ×2

python ×2

email ×1

smtp ×1