django 发送邮件的两个问题

基本配置

参考django doc中的文档:发送邮件

  • 配置如下,settings中配置:
EMAIL_HOST = ‘smtp.163.com‘
EMAIL_PORT = ‘25‘
EMAIL_HOST_USER = ‘[email protected]‘
EMAIL_HOST_PASSWORD = ‘******‘   # 填密码
  • 然后调用send_mail发送邮件即可
        subject = u‘号码通激活‘
        print name
        message = u‘用户:‘ + name + u‘ 您好,首先非常感谢你的注册‘                  + u"\n点击链接就可以激活邮箱,从而用邮箱进行登陆:"                   + u"http://192.168.1.163:8080/account/activate/?activation_key=" + activation_key                  + u"\n我们将为你提供非常好的号码相关服务:比如号码备份/群组建立/号码查找/群组活动等等,来自108网络教研室"

        print message
        send_mail(subject, message, settings.EMAIL_HOST_USER, [dst_email])

问题一:系统退信

在发送邮件的时候,遇到系统退信的情况,后来分析发现是由于中文字符太少,url太长,被邮件系统过滤掉了,加一些汉字和内容就好了; 或者考虑使用企业邮箱

问题二:发送邮件时报错

  • 报错如下:
SMTPAuthenticationError at /account/register/
(550, ‘User has no permission‘)
Request Method: POST
Request URL:    http://192.168.1.163:8080/account/register/
Django Version: 1.7.1
Exception Type: SMTPAuthenticationError
Exception Value:
(550, ‘User has no permission‘)
Exception Location: /usr/lib/python2.7/smtplib.py in login, line 615
Python Executable:  /usr/bin/python
Python Version: 2.7.6
Python Path:
[‘/home/zy/code/python/app/git/app/webcode‘,
 ‘/usr/local/lib/python2.7/dist-packages/gitosis-0.2-py2.7.egg‘,
 ‘/usr/lib/python2.7/dist-packages‘,
 ‘/usr/lib/python2.7‘,
 ‘/usr/lib/python2.7/plat-i386-linux-gnu‘,
 ‘/usr/lib/python2.7/lib-tk‘,
 ‘/usr/lib/python2.7/lib-old‘,
 ‘/usr/lib/python2.7/lib-dynload‘,
 ‘/home/zy/.local/lib/python2.7/site-packages‘,
 ‘/usr/local/lib/python2.7/dist-packages‘,
 ‘/usr/lib/python2.7/dist-packages/PILcompat‘,
 ‘/usr/lib/python2.7/dist-packages/gst-0.10‘,
 ‘/usr/lib/python2.7/dist-packages/gtk-2.0‘,
 ‘/usr/lib/python2.7/dist-packages/ubuntu-sso-client‘]
Server time:    Tue, 14 Apr 2015 22:23:39 +080

解决方法:因为另外一个项目也用到了相同的方法去发送邮件,然后测试可以正常发送邮件,排除邮件服务器的问题。 然后想到了该邮箱smtp服务的开启问题。于是,登陆邮箱,开启服务就OK了。

时间: 2024-07-31 13:14:40

django 发送邮件的两个问题的相关文章

Django 发送邮件

Django 发送邮件 本章节涉及django的发邮件模块send_mail.send_mass_mail.EmailMultiAlternatives from django.core.mail import send_mail from django.core.mail import send_mass_mail from django.core.mail import EmailMultiAlternatives 1. 配置相关参数 如果用的是 163的企业邮箱,settings配置类似于

Django下存在两个及其以上的APP时,不同APP下templates目录中同名.html文件造成冲突。

解决方法: 下面给大家详细说明: 我这里就用两个应用(APP)给大家进行讲解,大家可以看到django目录下两个应用(APP)blog与blog2. 但是在浏览器中的运行结果却相同,为什么会出现这样的情况呢?下面我来给大家解释一下? Django查找templates Django按照INSTALLED_APPS中的添加顺序查找templates,下面应用的templates都是运用的第一个应用templates下HTNL文件.当然,你可以修改templates下HTML文件的名字,这样也是可以

django发送邮件的坑

django发送邮件的坑 配置django发邮件的时候本地发送时好好的,但是放到阿里云的服务器上却不能发送. 经过一系列的排查后终于发现是阿里云把25端口给封了. 后来改用smtps的方式发送,更改django的setting的邮件配置 1 EMAIL_PORT = 465 2 3 4 5 6 EMAIL_USE_SSL = True 将端口改为465 增加配置项: EMAIL_USE_SSL = True 到阿里云控制台开放465端口 重新运行django和celery 原文地址:https:

django发送邮件

在Python中已经内置了一个smtp邮件发送模块,Django在此基础上进行了简单地封装,让我们在Django环境中可以更方便更灵活的发送邮件. 所有的功能都在django.core.mail中. 一.快速上手 两行就可以搞定一封邮件: from django.core.mail import send_mail send_mail( 'Subject here', 'Here is the message.', '[email protected]', ['[email protected]

Django——发送邮件

在Python中已经内置了一个smtp邮件发送模块,Django在此基础上进行了简单地封装,让我们在Django环境中可以更方便更灵活的发送邮件. 所有的功能都在django.core.mail中. 记录一个简单的示例 1.配置 首先获取邮箱的授权码(以新浪邮箱为例) 然后是settings.py的配置 EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST = 'smtp.sina.com' # 中间的“

ubuntu下部署Django Web的两种方法

一.利用django自带服务器框架发布web 系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份.ftp 传输等等.通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为它们执行的时间太长了.必须等待它们执行完毕,在此期间不能关掉窗口或者断开连接,否则这个任务就会被杀掉,一切半途而废了.这时screen就可以派上用场了. screen进入一个新建的screen,此时关闭shell窗口,screen为detached

关于PHP发送邮件的两个类(找了好久......)

需要用PHP发送邮件,不想要PHPmailer那么复杂,找来找去,总算找到了一个好用的,分享出来,PHP邮件发送类,一共包含两个文件.代码如下: sent_mail.php <?php require_once('email.class.php'); //########################################## $smtpserver = "smtp.163.com";//SMTP服务器 $smtpserverport = 25;//SMTP服务器端口

Django发送邮件及邮件激活

根据前端请求头中传入的JWT token的信息,使用DRF中追加的JWT认证判断是否登录 axios.get(this.host + '/user/', { // 向后端传递JWT token的方法 headers: { 'Authorization': 'JWT ' + this.token }, responseType: 'json', }) 在settins配置文件中添加配置DRF的JWT # 配置DRF REST_FRAMEWORK = { # 异常处理 'EXCEPTION_HAND

Django发送邮件方法

在Django中将渲染后的模板进行邮件发送,可以使用send_email方法 首先在settings.py中添加如下配置 # 邮件配置SSL加密方式 EMAIL_HOST = 'smtp.qq.com' EMAIL_PORT = 465 # 使用SSL加密方式端口为465 EMAIL_HOST_USER = '[email protected]' EMAIL_HOST_PASSWORD = 'pwd' EMAIL_USE_SSL = True # 使用SSL加密方式 EMAIL_FROM = '