- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在 Django 中使用 send_mail,但是它不发送任何电子邮件。这是我的设置:
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'MY-GMAIL-USERNAME@gmail.com'
EMAIL_HOST_PASSWORD = 'MY-GMAIL-PASSWORD'
EMAIL_PORT = 465
EMAIL_USE_TLS = False
EMAIL_USE_SSL = True
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
SERVER_EMAIL = DEFAULT_FROM_EMAIL
然后,我运行 python manage.py shell
:
from django.conf import settings
from django.core.mail import send_mail
subject = 'Test Subject'
message = 'Test Message'
email_from = settings.EMAIL_HOST_USER
recipient_list = ['MY-YAHOO-USERNAME@yahoo.com']
send_mail(subject, message, email_from, recipient_list, fail_silently=False)
它不发送电子邮件,而是打印:
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Subject: Test Subject
From: MY-GMAIL-USERNAME@gmail.com
To: MY-YAHOO-USERNAME@yahoo.com
Date: Mon, 09 Dec 2019 21:02:16 -0000
Message-ID: <157592533640.18842.5494330274157836181@thinkpad-e560>
Test Message
-------------------------------------------------------------------------------
1
这似乎没有错误。为什么不发送电子邮件?怎么了?为什么它不记录任何错误?
正在关注 this page ,我已经尝试了一种纯 python 方式并且它工作正常:
import smtplib, ssl
smtp_server = "smtp.gmail.com"
port = 465
sender_email = "MY-GMAIL-USERNAME@gmail.com"
password = 'MY-GMAIL-PASSWORD'
receiver_email = 'MY-YAHOO-USERNAME@yahoo.com'
context = ssl.create_default_context()
server = smtplib.SMTP_SSL("smtp.gmail.com", port, context=context)
server.login(sender_email, password)
server.sendmail(sender_email, receiver_email, 'Test Message')
正如我提到的,这种纯 Python 方式工作正常!我很困惑。
我做错了什么?
最佳答案
感谢@IainShelvington 和@ivissani,我已经弄明白了。我在 django 之上使用 wagtail cms 并使用“wagtail start mysite”创建项目。有关详细信息,请参阅 this .
在wagtail标准项目结构中,有base.py、dev.py和production.py,而不是settings.py。
电子邮件设置在 base.py 中,但在 dev.py 中,EMAIL_BACKEND 被覆盖了。这是使用 wagtail 创建 django 项目时的 dev.py:
from .base import *
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = 'MY-SITE-KEY'
# SECURITY WARNING: define the correct hosts in production!
ALLOWED_HOSTS = ['*']
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
try:
from .local import *
except ImportError:
pass
所以我通过从 dev.py 中删除 EMAIL_BACKEND 解决了这个问题
关于django - 为什么 django send_mail 无法无误地发送电子邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59256862/
我如何获得电子邮件发送的 django send_mail 结果。我在本地运行它,我将 send_mail 发送到我的电子邮件,它返回 True,但信件未发送(因为我没有设置任何 smtp)。但结果是
为什么我会收到 NameError:global name 'send_mail' is not defined ? 从我的models.py: from django.template import
当使用发送电子邮件的 View 时没有任何反应,然后我在 python shell 中输入 send_mail(...) 并返回 1,但我没有收到任何电子邮件。 这是我的设置.py EMAIL_BAC
我正在尝试使用 django send_mail 方法。我遇到了两个问题,特别是将邮件地址从列表转换为 csv 以供收件人使用。第二个问题是从通知模型获取用户电子邮件列表。 我的模型 class no
我正在尝试创建一个功能,可以检查数据库中状态为 1 的活跃客户,如果活跃,他们应该收到电子邮件。对于电子邮件功能,我使用了 PHP Mailer 功能。 下面是我的脚本: "; $headers .=
我正在尝试在我的 views.py 文件中的函数中发送电子邮件。我已经按照与此处相同的方式在我的设置文件中设置了电子邮件。 Python Django Gmail SMTP setup 电子邮件发送确
我正在尝试使用此脚本发送电子邮件 $to = 'example@example.com'; $headers['To'] = $to; $headers['From'] = '"My Name" ';
我正在像这样使用 django send_mail: from django.core.mail import send_mail send_mail('Test', 'asdfasdfasdf\na
在我的 views.py 我有以下代码 def cpio(request): mainDict9=['hemant','jay','yash','Hari'] args={'mainD
我想在 Django 中使用 send_mail,但是它不发送任何电子邮件。这是我的设置: EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailB
当用户收到从 django send_mail() 发送的电子邮件时,我希望显示名称而不是电子邮件地址。 . 例如: 当发送带有以下代码的电子邮件时,收到它的人会看到 to@ex.com在他的收件箱里
我已经用 gmail 设置了 smtp。当我使用 send_mail 时,发件人电子邮件未显示在接收电子邮件的帐户中。 Django设置.py # DEFAULT_FROM_EMAIL = 'send
设置: EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' EMAIL_HOST = 'smtp.mailgun.org'
我在谷歌上搜索了很多关于这个问题的信息,我在很多地方都发现了这个错误,但我的问题没有答案。 我有一个新安装的 (debian) 系统,它基本上只包含一个 django (1.3.0) 安装和一个非常糟
我每天使用django (1.5.2) 发送邮件。在大约 2/3 分钟的间隔内大约 100 次。 直到最近我才真正遇到任何问题(这是可能的,因为我升级到 1.5.2)。现在发送这些邮件有时需要长达 2
用户注册时is_active默认为False。我希望当管理员激活用户时用户收到电子邮件通知。但 send_mail 并没有发送电子邮件。 我在我的views.py中创建了一个函数: def send_
我正在尝试使用 Django send_email、smtp 和 gmail 发送电子邮件。但是,代码返回 SMTPConnectError (-1, b") 我的 settings.py 文件: A
使用 Django 1.7 和 Python 2.7。 我想测试邮件是否发送成功,邮件内容是否正确。 我试过使用 django.core.mail 中的发件箱,但无济于事。我也可以只获取 stdout
我已经阅读了 send_mail() 的文档,但 fail_silently 的用途尚不清楚。 最佳答案 正如@Nifled 所说,fail_silently() 将从 smtplib 引发异常。我将
我正在 ubuntu 堆栈上部署一个 Django 项目,该堆栈带有一个 postfix SMTP 邮件服务器,托管在 Amazon 的 EC2 上。我可以使用 Linux 邮件程序从服务器发送电子邮
我是一名优秀的程序员,十分优秀!