几行代码轻松实现django群发邮件

  django是一个可以高效开发的web框架,能以最小的代价构建和维护高质量的web应用。

  话不多说,我们今天用几行代码实现django发送邮件。

 

1、设置邮箱的授权码,才有权限发邮件,可以代替邮件的密码。

 

 

2、在setting.py最后面中配置以下内容(新建工程和APP不做赘述了):

 

# 配置邮箱发邮件的相关功能
EMAIL_USE_SSL = False
EMAIL_HOST = 'smtp.sina.com'  # 如果是 163 改成 smtp.163.com,QQ邮箱也改成相应的
EMAIL_PORT = 25                 #端口号,每个邮箱端口号可能不一样
EMAIL_HOST_USER = 'test@sina.cn' # 帐号
EMAIL_HOST_PASSWORD = 'password'  # 密码
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER

 

3、在view.py中编写发送邮件的方法

from django.conf import settings
from django.core.mail import send_mail

from django.http import HttpResponse

 

#发送邮件
def send(request):

#send_mail的参数分别是邮件标题,邮件内容,发件箱(settings.py中设置过的那个)
    send_mail('django邮件发送','这是第一个django邮件',settings.EMAIL_HOST_USER,[to@qq.com'], fail_silently=False)
    return HttpResponse('ok')

 

#发送多个人、多封邮件,可以这样写:

from django.core.mail import send_mass_mail

def send(request):
    #send_mail的参数分别是  邮件标题,邮件内容,发件箱(settings.py中设置过的那个) ,接收人,接收人必须是元组或者列表的形式
    message1 = ('标题1', '内容1', settings.EMAIL_HOST_USER, ['first@qq.com','other@163.com'])
    message2 = ('标题2', '内容2', settings.EMAIL_HOST_USER, ['second@163.com'])
    send_mass_mail((message1,message2), fail_silently=False)
    return HttpResponse('ok')

 

 注意:

邮件接收人需要是列表或者元组形式,里面可以写多个接收人

 

4、urls.py中添加映射关系:

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^send',views.send)
]

5、启动项目python manage.py runserver,并访问url:

http://127.0.0.1:8000/send

  

一个简单的django邮件就完全了,是不是很简单 很粗暴!django就是这么perfect

 

posted @ 2018-12-12 00:11  孤影笑  阅读(317)  评论(0编辑  收藏  举报