提供了一个给管理员发送邮件的快捷方式,启用这个功能的话,先要在你的设置文件里面配置好ADMINS和SERVER_EMAIL,前者是收件人,后者是发件人。如果你提供了html_message的话,邮件内容会被替换成html_message的内容
还有mail_managers(),和mail_admins类似
语法:mail_managers(subject, message, fail_silently=False, connection=None,html_message=None)
send_mass_mail()
语法:send_mass_mail(datatuple, fail_silently=False, auth_user=None,auth_password=None,connection=None)
send_mass_mail()提供了一个把发送内容封装成元组然后再封装在一个元组里面的参数datatuple,这有利于批量发送编辑好的邮件,datatuple每��个元素都是以下的格式
(subject,message, from_email, recipient_list)
send_mass_mail的其他参数和send_mail的一样
例:
message1= ('Subject here', 'Here is the message', 'from@example.com',['first@example.com', 'other@example.com'])
message2= ('Another Subject', 'Here is another message', 'from@example.com',['second@test.com'])
send_mass_mail((message1,message2), fail_silently=False)
3、各种邮件后端
我们可以指定不同的邮件后端去适用不同的场景
SMTP后端
默认的邮件后端,这是真的将邮件发送到指定邮箱的后端
EMAIL_BACKEND ='django.core.mail.backends.smtp.EmailBackend'
Console后端
console后端把邮件写入到stdout 在python27 manager.py runserver 控制台上输出显示,测试用比较直观
EMAIL_BACKEND ='django.core.mail.backends.console.EmailBackend'
文件后端
把邮件写到文件里面,需要提供一个EMAIL_FILE_PATH参数,可以在配置文件settings.py里面直接指明,或者用get_connection()函数里面传入file_path关键字参数
EMAIL_BACKEND ='django.core.mail.backends.filebased.EmailBackend'
EMAIL_FILE_PATH ='/tmp/app-messages'
内存中的后端
发送的邮件存在内存中。。。。。
EMAIL_BACKEND ='django.core.mail.backends.locmem.EmailBackend'
假后端
如其名,假的
EMAIL_BACKEND ='django.core.mail.backends.dummy.EmailBackend'
设置连接中断警报
如果你安装有CommonMiddleware(比如,你的MIDDLEWARE_CLASSES设置包含了’django.middleware.common.CommonMiddleware’的情况下,默认就安装了CommonMiddleware),你就具有了设置这个选项的能力:有人在访问你的Django网站的一个非空的链接而导致一个404错误的发生和连接中断的情况,你将收到一封邮件. 如果你想激活这个特性,设置SEND_BROKEN_LINK_EMAILS 为True(默认为False),并设置你的MANAGERS为某个人或某些人的邮件地址,这些邮件地址将会收到报告连接中断错误的邮件. MANAGERS使用和ADMINS 同样的语法.例如:
MANAGERS= (
('GeorgeHarrison', 'gharrison@example.com'),
('RingoStarr', 'ringo@example.com'),
)
针对生产环境、测试环境或不同环境设置配置文件settings.py