我正在尝试配置Django的send_email,以便我可以向用户发送密码重置电子邮件.到目前为止,我没有运气让它上班.我已经设置了一个基本的Gmail帐户(没有Google App等),并且在我的Django settings.py中我有:
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_PASSWORD = 'my_password'
EMAIL_HOST_USER = 'my_account@gmail.com'
EMAIL_PORT = 587
MAIL_USE_TLS = True
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
DEFAULT_FROM_EMAIL = 'admin@my-site.com'
Run Code Online (Sandbox Code Playgroud)
然后我尝试通过这样做来测试:
python manage.py shell
>>> from django.core.mail import send_mail
>>> send_mail('test', 'test', 'test@test.com', ['my-personal-email@gmail.com'])
Run Code Online (Sandbox Code Playgroud)
我收到错误信息
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "C:\Program Files\Python27\lib\site-packages\django\core\mail\__init__.py
", line 62, in send_mail
connection=connection).send()
File "C:\Program Files\Python27\lib\site-packages\django\core\mail\message.py"
, line 255, in send
return self.get_connection(fail_silently).send_messages([self])
File "C:\Program Files\Python27\lib\site-packages\django\core\mail\backends\sm
tp.py", line 88, in send_messages
new_conn_created = …
Run Code Online (Sandbox Code Playgroud) 我是Bluehost和Django的新手,我正在尝试使用Django在我的Bluehost服务器上设置"通过电子邮件重置密码"功能.我在设置主机和端口号时尝试了不同的组合,但由于某种原因它从未起作用.所以这就是我所拥有的:(我目前只在我的本地计算机上工作.)
在我可以配置我的电子邮件帐户的Bluehost网站上,它列出:
手动设置
在settings.py中,我将电子邮件配置为:(我将列出两个组合和相应的错误消息)
组合1
DEFAULT_FROM_EMAIL = 'admin@my_host.com'
SERVER_EMAIL = 'admin@my_host.com'
EMAIL_USE_TLS = False
EMAIL_HOST = 'box664.bluehost.com'
EMAIL_HOST_PASSWORD = 'my_email_password'
EMAIL_HOST_USER = 'admin+my_host.com'
EMAIL_PORT = 465
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
Run Code Online (Sandbox Code Playgroud)
错误消息:异常值:连接意外关闭
组合2
DEFAULT_FROM_EMAIL = 'admin@my_host.com'
SERVER_EMAIL = 'admin@my_host.com'
EMAIL_USE_TLS = True
EMAIL_HOST = 'mail.my_host.com'
EMAIL_HOST_PASSWORD = 'my_email_password'
EMAIL_HOST_USER = 'admin+my_host.com'
EMAIL_PORT = 26
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
Run Code Online (Sandbox Code Playgroud)
错误消息:异常值:(535,"身份验证数据不正确")
任何人都可以给我一些我做错的建议吗?任何帮助表示赞赏.
我有一个mat
初始化为NULL
. 我有一个迭代过程,它只会在某些条件下填充垫子。在这个过程之后,我检查是否mat
有超过一定数量的行,如果没有,做其他事情。
我正在寻找一种干净的方式来编写此条件,理想情况下,类似于is.null(mat) | nrow(mat) < n
. 虽然如果is.null(mat)
是TRUE
并且它们通过 OR 连接,整个语句应该是TRUE
,但nrow(mat) < n
会出错。
我可以通过将其重写为两个条件并将# do something
代码复制到两个位置来解决这个问题,但是有没有更简洁的方法来做到这一点?
mat = NULL
for(i in 1:10){
if(runif(1) > 0.8){
mat = rbind(mat, c(1,2,3))
}
}
if(is.null(mat)){
# do something...
} else if(nrow(mat) < 3){
# do something...
}
Run Code Online (Sandbox Code Playgroud)