在我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?
在阅读完答案后,让我直截了当:
你不能使用localhost(简单的ubuntu pc)发送电子邮件吗?
我认为django 1.3 send_mail()有点弃用,EmailMessage.send()而是用来代替?
我无法登录我的Django Web应用程序.
我的设置文件如下所示:
EMAIL_HOST = "smtp.gmail.com"
EMAIL_PORT = 465
EMAIL_HOST_USER = "paulhtremblay@gmail.com"
EMAIL_HOST_PASSWORD = "password"
EMAIL_USE_TLS = True
DEFAULT_FROM_EMAIL = "paulhtremblay@gmail.com"
SERVER_EMAIL = 'smtp.gmail.com'
ADMINS = (
('Paul Tremblay', 'paulhtremblay@gmail.com'),
)
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'file': {
'level': 'ERROR',
'class': 'logging.FileHandler',
'filename': '/var/log/django_logs/debug.log'
},
'mail_admins': {
'level': 'ERROR',
'class': 'django.utils.log.AdminEmailHandler'
},
},
'loggers': {
'django': {
'handlers': ['file'],
'level': 'ERROR',
'propagate': True,
},
'django.request': {
'handlers': ['file'],
'level': 'ERROR',
'propagate': True,
},
},
}
Run Code Online (Sandbox Code Playgroud)
我在我的视图文件中有这个: …