我想发送HTML电子邮件,使用这样的Django模板:
<html>
<body>
hello <strong>{{username}}</strong>
your account activated.
<img src="mysite.com/logo.gif" />
</body>
Run Code Online (Sandbox Code Playgroud)
我找不到任何东西send_mail,django-mailer只发送HTML模板,没有动态数据.
如何使用Django的模板引擎生成电子邮件?
我想在Django中为default_from_email地址添加一个名称,并想知道你是否通过settings.py文件执行此操作?
你有不同的选择.
DEFAULT_FROM_EMAIL
EMAIL_HOST
EMAIL_PASSWORD
...
Run Code Online (Sandbox Code Playgroud)
但是电子邮件结果仍然来自:noreply@mydomain.com我希望将其更改为My Domain.
Django错误报告通过发送电子邮件处理未捕获的异常,并(可选)向用户显示一个不错的500错误页面.
这非常有效,但在少数情况下,我想让用户不间断地继续他们的业务,但仍然让Django向我发送有关异常的电子邮件错误报告.
所以基本上:即使我发现异常,我还可以手动发送电子邮件错误报告吗?
当然,我想避免手动生成错误报告电子邮件.
我对django的电子邮件发送能力非常熟悉,但我从未见过有关它接收和处理来自用户的电子邮件的任何信息.这个功能可用吗?
一些谷歌搜索没有出现非常有希望的结果.虽然我找到了这个:在python中接收和发送电子邮件
我是否必须自己动手?如果是这样,我会比你说的更快地发布那个应用程序......不管你说什么.
谢谢,吉姆
更新:我不是要创建一个电子邮件服务器,我只需要添加一些功能,您可以将图像通过电子邮件发送到网站并将其弹出到您的帐户中.
想象一下,用户在网站上执行操作并通知管理员的情况.想象一下,有20个管理员要通知.通过使用常规方法与Django发送电子邮件,用户必须等到所有电子邮件发送后才能继续.
如何在单独的过程中发送所有电子邮件,以便用户无需等待?可能吗?
如何使用托管的SMTP帐户(特别是在Namecheap上)从Django发送电子邮件?
我认为这是直截了当的,只需填写我的settings.py中的标准EMAIL_*字段.
然而,进入我的证书后,这两个我的settings.py和Thunderbird雷鸟可以下载和发送电子邮件,但Django的超时出现错误:试图做同样的,当"SMTPServerDisconnected连接意外关闭".
我的传出服务器(SMTP)在Thunderbird中的工作设置:
Server Name: oxmail.registrar-servers.com
Port: 465
User Name: myuser@mydomain.com
Authentication method: Normal password
Connection Security: SSL/TLS
Run Code Online (Sandbox Code Playgroud)
我的Django settings.py中的非工作设置:
EMAIL_HOST = 'oxmail.registrar-servers.com'
EMAIL_HOST_USER = 'myuser@mydomain.com'
EMAIL_HOST_PASSWORD = 'mypassword'
EMAIL_PORT = 465
EMAIL_USE_TLS = True
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
Run Code Online (Sandbox Code Playgroud)
这些设置不一样吗?我究竟做错了什么?为什么一个工作而另一个失败?
我正在使用Gmail SMTP服务器向我网站的用户发送电子邮件.
这些是我的settings.py中的默认设置
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'example@example.com'
EMAIL_HOST_PASSWORD = 'pwd'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
SERVER_EMAIL = EMAIL_HOST_USER
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
Run Code Online (Sandbox Code Playgroud)
如果我希望用户发送电子邮件,我将覆盖这些设置并使用Django的电子邮件发送方法发送电子邮件.当系统发生异常时,我会收到来自example@example.com的电子邮件.有时我收到一些登录用户的电子邮件.这也可能意味着当用户收到从我的网站发送的电子邮件时,它的发送地址与实际用户不同.
应该怎么做才能避免这种情况?
我的Django应用程序发出了相当多的电子邮件,我已经尝试过彻底测试它.但是,在最初几个月,我想记录所有外发电子邮件,以确保一切顺利.是否有一个Django模块允许我这样做,并通过管理面板显示外发电子邮件
谢谢.
当发送电子邮件的视图没有使用时,我然后输入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) 我正在使用Django密码重置.
我在settings.py中有这个代码:
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'myusername@gmail.com'
EMAIL_HOST_PASSWORD = 'mypassword'
DEFAULT_FROM_EMAIL = 'myusername@gmail.com'
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
SERVER_EMAIL = 'myusername@gmail.com'
Run Code Online (Sandbox Code Playgroud)
它将我重定向到正确的页面,但它不会发送电子邮件.我检查了垃圾邮件文件夹等,但仍然没有:(
任何想法都非常感谢!
编辑
我试图使用控制台测试它,但我收到以下错误:
>>> email = EmailMessage('Mail test', 'this is a test', to=['myusername@gmail.com'])
>>> email.send()
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/django/core/mail/message.py", line 255, in send
return self.get_connection(fail_silently).send_messages([self])
File "/usr/local/lib/python2.7/dist-packages/django/core/mail/backends/smtp.py", line 88, in send_messages
new_conn_created = self.open()
File "/usr/local/lib/python2.7/dist-packages/django/core/mail/backends/smtp.py", line 55, in open
self.connection.login(self.username, self.password) …Run Code Online (Sandbox Code Playgroud)