django 简单的邮件系统

django邮件系统

Django发送邮件官方中文文档

总结如下:

1、首先这份文档看三两遍是不行的,很多东西再看一遍就通顺了。

2、send_mail()send_mass_mail()都是对EmailMessage类使用方式的一个轻度封装,所以要关注底层的EmailMessage

3、异常处理防止邮件头注入。

4、一定要弄懂Email backends 邮件发送后端

5、多线程的邮件发送。

个人简单配置如下:

首先是settings.py文件

#settings.py

#邮件配置
EMAIL_HOST = ‘smtp.gmail.com‘                   #SMTP地址
EMAIL_PORT = 25                                 #SMTP端口
EMAIL_HOST_USER = ‘[email protected]‘       #我自己的邮箱
EMAIL_HOST_PASSWORD = ‘******‘                  #我的邮箱密码
EMAIL_SUBJECT_PREFIX = u‘[CoorCar网]‘            #为邮件Subject-line前缀,默认是‘[django]‘
EMAIL_USE_TLS = True                             #与SMTP服务器通信时,是否启动TLS链接(安全链接)。默认是false
#管理员站点
SERVER_EMAIL = ‘[email protected]‘            #The email address that error messages come from, such as those sent to ADMINS and MANAGERS.

这里推荐:各大型邮箱smtp服务器及端口收集

各大型邮箱smtp服务器及端口收集:

新浪邮箱smtp服务器

外发服务器:smtp.vip.sina.com

收件服务器:pop3.vip.sina.com

新浪免费邮件

外发服务器:smtp.sina.com.cn

收件服务器:pop3.sina.com.cn

163邮箱smtp服务器

pop: pop.163.com

smtp: smtp.163.com

QQ邮箱smtp服务器及端口

接收邮件服务器:imap.exmail.qq.com,使用SSL,端口号993

发送邮件服务器:smtp.exmail.qq.com,使用SSL,端口号465或587

yahoo邮箱smtp服务器

接:pop.mail.yahoo.com.cn

发:smtp.mail.yahoo.com

126邮箱smtp服务器

pop: pop.126.com

smtp: smtp.126.com

新浪免费邮箱

POP3:pop.sina.com

SMTP:smtp.sina.com

SMTP端口号:25

新浪VIP邮箱

POP3:pop3.vip.sina.com

SMTP:smtp.vip.sina.com

SMTP端口号:25

新浪企业邮箱

POP3:pop.sina.com

SMTP:smtp.sina.com

SMTP端口号:25

雅虎邮箱

POP3:pop.mail.yahoo.cn

SMTP:smtp.mail.yahoo.cn

SMTP端口号:25

搜狐邮箱

POP3:pop3.sohu.com

SMTP:smtp.sohu.com

SMTP端口号:25

TOM邮箱

POP3:pop.tom.com

SMTP:smtp.tom.com

SMTP端口号:25

Gmail邮箱

POP3:pop.gmail.com

SMTP:smtp.gmail.com

SMTP端口号:587 或 25

QQ邮箱

POP3:pop.exmail.qq.com

SMTP:smtp.exmail.qq.com

SMTP端口号:25

263邮箱

域名:263.net

POP3:263.net

SMTP:smtp.263.net

SMTP端口号:25

域名:x263.net

POP3:pop.x263.net

SMTP:smtp.x263.net

SMTP端口号:25

域名:263.net.cn

POP3:263.net.cn

SMTP:263.net.cn

SMTP端口号:25

域名:炫我型

POP3:pop.263xmail.com

SMTP:smtp.263xmail.com

SMTP端口号:25

21CN 免费邮箱

POP3:pop.21cn.com

SMTP:smtp.21cn.com

IMAP:imap.21cn.com

SMTP端口号:25

21CN 经济邮邮箱

POP3:pop.21cn.com

SMTP:smtp.21cn.com

SMTP端口号:25

21CN 商务邮邮箱

POP3:pop.21cn.net

SMTP:smtp.21cn.net

SMTP端口号:25

21CN 快感邮箱

POP3:vip.21cn.com

SMTP:vip.21cn.com

SMTP端口号:25

21CN Y邮箱

POP3:pop.y.vip.21cn.com

SMTP:smtp.y.vip.21cn.com

SMTP端口号:25

中华网任我邮邮箱

POP3:rwpop.china.com

SMTP:rwsmtp.china.com

SMTP端口号:25

中华网时尚、商务邮箱

POP3:pop.china.com

SMTP:smtp.china.com

SMTP端口号:25

那么发送邮件如下:

def setEmail(request):

    if request.method == "POST":
#        方式一:
#         send_mail(‘subject‘, ‘this is the message of email‘, ‘[email protected]‘, [‘[email protected]‘,‘[email protected]‘], fail_silently=True)

#        方式二:
#         message1 = (‘subject1‘,‘this is the message of email1‘,‘[email protected]‘,[‘[email protected]‘,‘[email protected]‘])
#         message2 = (‘subject2‘,‘this is the message of email2‘,‘[email protected]‘,[‘[email protected]‘,‘[email protected]‘])
#         send_mass_mail((message1,message2), fail_silently=False)

#        方式三:防止邮件头注入
#         try:
#             send_mail(subject, message, from_email, recipient_list, fail_silently, auth_user, auth_password, connection)
#         except BadHeaderError:
#             return HttpResponse(‘Invaild header fount.‘)

#        方式四:EmailMessage()
        #首先实例化一个EmailMessage()对象
#         em = EmailMessage(‘subject‘,‘body‘,‘[email protected]‘,[‘[email protected]‘],[‘[email protected]‘],header={‘Reply-to‘:‘[email protected]‘})
        #调用相应的方法

#         方式五:发送多用途邮件
        subject,form_email,to = ‘hello‘,‘[email protected]‘,‘15652[email protected]‘
        text_content = ‘This is an important message‘
        html_content = u‘<b>激活链接:</b><a href="http://www.baidu.com">http:www.baidu.com</a>‘
        msg = EmailMultiAlternatives(subject,text_content,form_email,[to])
        msg.attach_alternative(html_content, ‘text/html‘)
        msg.send()

#       发送邮件成功了给管理员发送一个反馈
#         mail_admins(u‘用户注册反馈‘, u‘当前XX用户注册了该网站‘, fail_silently=True)
        return HttpResponse(u‘发送邮件成功‘)
    return render_to_response(‘common/test.html‘)
        

截图如下:

时间: 2024-10-17 08:12:57

django 简单的邮件系统的相关文章

Python django实现简单的邮件系统发送邮件功能

Python django实现简单的邮件系统发送邮件功能 本文实例讲述了Python django实现简单的邮件系统发送邮件功能. django邮件系统 Django发送邮件官方中文文档 总结如下: 1.首先这份文档看三两遍是不行的,很多东西再看一遍就通顺了.2.send_mail().send_mass_mail()都是对EmailMessage类使用方式的一个轻度封装,所以要关注底层的EmailMessage.3.异常处理防止邮件头注入.4.一定要弄懂Email backends 邮件发送后

django简单用户登陆验证

一.django简单用户登陆验证   前端页面:     <div class="container  col-lg-6  col-lg-offset-4">         <br><br><br><br><br>       <form class="form-signin col-sm-4 col-lg-offset-2" action="{% url 'login' %}

Django简单应用的实现

Django简单应用的实现 目录介绍: db.sqlite3:split数据库 manage.py:Django工程启动文件:项目管理器:与项目进行交互的命令行工具集的入口 MyFirstDjango asgi.py: 与ASGI兼容的web服务器为您的项目提供服务的入口点. settings.py: 项目的总配置文件 里面包含了数据库.Web应用.时间等各种配置 urls.py: url配置文件 Django项目中所有地址(页面)都需要我们自己去配置其URL views.py 处理用户发出的请

Django简单的数据库操作

当然,本篇的前提是你已经配置好了相关的环境,这里就不详细介绍. 一. 在settings.py文件中设置数据库属性. 如下: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', #MySQL数据库 'NAME': 'test1', #库名 'USER': 'root', #用户名 'PASSWORD': 'a8115080', #密码 'HOST':'localhost', 'PORT':'3306', } } 二.

websocket之django简单使用

WebSocket protocol: WebSocket protocol 是HTML5一种新的协议.它是实现了浏览器与服务器全双工通信(full-duplex).HTML5定义了WebSocket协议,能更好的节省服务器资源和带宽并达到实时通讯.我们知道,传统的HTTP协议是无状态的,每次请求(request)都要由客户端(如 浏览器)主动发起,服务端进行处理后返回response结果,而服务端很难主动向客户端发送数据:这种客户端是主动方,服务端是被动方的传统Web模式 对于信息变化不频繁的

django简单实现短url

一.短url的原理 什么是短url: 简单讲就是把普通正常访问的网址,转换成比较短的网址,例如:https://www.cnblogs.com/angelyan/articles/10667354.html#_label0 转成https://dwz.cn/p8VGVkMt 作用优点:短,字符少,美观,便于发布,传播,突破某些平台限制 原理步骤: 1.浏览器解析DNS,获取域名对应的ip 2.获取ip,发送http请求,获取p8VGVkMt对应的长链接地址 3.http通过301重定向,转到对应

python django简单操作

准备: pip3 install  django==1.10.3 cmd django-admin startproject  guest  创建一个guest的项目 cd guest manage.py 查看各种manage的命令 manage.py startapp sign 创建一个应用 manage.py runserver启动这个应用,默认127.0.0.1:8000 1.将sign 加入到guest/settings.py文件 INSTALLED_APPS中,配置/guest/url

centos 7 安装django 简单脚本

#!/bin/sh [ ! -d "~/temp/" ] && mkdir ~/temp/  cd ~/temp/ echo "###download setuptool" wget https://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg#md5=fe1f997bc722265116870bc7919059ea --no-check-certifica

Mac下django简单安装配置步骤

一.安装软件包并创建项目 $sudo pip install django$sudo python -c "import django;print django.VERSION"(1, 7, 0, 'final', 0)$sudo django-admin startproject cmdb #创建项目$sudo django-admin startapp cmdb #创建应用二.修改配置 1.修改settings.py,添加cmdb应用,以及其他设置 INSTALLED_APPS =