几行代码轻松实现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