最近在加紧学习python2.7+django1.2,操作系统使用的是ubutntu11.
而且充分利用了SAE(Sina AppEngine)几乎免费的云服务,还可以更好的实践在生产环境的效果。
新浪SAE的python环境的详细情况,可以参看:SAE Python 开发者手册。
今天学到了发送邮件这一课。刚开始没有使用sae的邮件服务,直接使用django.core.mail.send_mail函数。
首先在settings.py文件中设置如下
# email function, email notification EMAIL_ADMIN="jorden008@gmail.com" EMAIL_USE_TLS=True #是否需要传输层安全 EMAIL_HOST="smtp.gmail.com" #发送邮件的主机地址 EMAIL_PORT=587#25#465 #端口 EMAIL_HOST_USER="jorden008@gmail.com" #验证账号 EMAIL_HOST_PASSWORD ="login_password"#验证密码 DEFAULT_FROM_EMAIL="jorden008@gmail.com"#默认的from地址
准备使用gmail作为邮件发送代理,设置了host等信息。
在代码中按照下面的格式写即可
from django.core.mail import send_mail mail_body=" %s posted a new comment on the entry %s." % (comment.name, comment.content_object) def send_mail('new comment posted', mail_body, settings.EMAIL_HOST_USER, [settings.EMAIL_ADMIN], fail_silently=False):
可是就是现实失败,几次尝试都没有成功,上网搜索了一些资料也未果。
然后打开django shell,尝试在shell中发送。
进入程序根目录,启动shell
python manage.py shell
进入shell之后,键入下面的代码
from django.core.mail import send_mail send_mail('title','content','jorden008@163.com',['jorden008@163.com'])
还是报错,提示我应该使用application-specific passwords,还给出一个地址,我打开看完之后,恍然大悟,也想起来了,之前进行android开发也遇到过类似情况,是google的设置,使用代码或者是第三方工具利用gmail作为代理发邮件的话,不能使用gmail的登录密码,需要申请一个临时密码,然后使用临时密码发送,这个临时密码是在google的用户后台界面生成了,还可以随时手动收回这个密码,这样加强了对于登录密码的保护,其实有点像是oauth的token,或者是令牌,会失效的,可以收回。详细情况参看http://support.google.com/accounts/bin/answer.py?hl=en&answer=185833。
于是我通过上面的网址进入下面的页面
返回栏目页:http://www.bianceng.cnhttp://www.bianceng.cn/Servers/Mail/
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索密码
, sae
, 邮件
, sae 部署java...
, 新浪sae
, shell
, django
, python tokenize
, com
, gmail
, python 2.7代码跳转
, python2.7
, python发送邮件
Core邮件发送
django send mail、python2.7 django版本、python 2.7 django、python2.7安装django、python send mail,以便于您获取更多的相关知识。