一: 基本操作
首先创建一个Django项目, 配置好app和templates
然后配置好urls相关配置
这里的操作可以查看博主其它博客
二: 在settings.py中添加相关信息
# 账号与密码
EMAIL_HOST_USER = '邮箱账号'
EMAIL_HOST_PASSWORD = '邮箱密码'
# 邮箱服务器地址
# 每个邮箱软件都不一样
EMAIL_HOST = '地址'
# 邮箱端口号(默认)
EMAIL_PORT = 25
# 是否使用TLS安全传输协议
EMAIL_USE_TLS = True
三: 在html文件中进行配置
这里只写个主要的, 其它的自行书写
<input name="email" type="email" placeholder="请输入要发送到的地址">
样式:
四: 在views.py文件中
# 引入django自带的发送邮件的两个包
from django.core.mail import send_mail, send_mass_mail
# 引入settings.py文件
from YouXiang import settings
1> 一封邮件发送给多人
def email_one(request):
if request.method == 'POST':
# 取出邮箱地址
to_email = request.POST.get('email', None)
if to_email:
# 1. 邮件的标题 2. 邮件内容 3. 发送邮件的账号 4. 接收邮箱的账号
res = send_mail('这是一封测试邮件', 'hello word', settings.EMAIL_HOST_USER, [to_email, '837497936@qq.com'])
if res == 1:
return HttpResponse('邮件发送成功')
return redirect('/')
else:
redirect('/')
2> 多封邮件发送给多个人
def email_more(request):
def email_one(request):
if request.method == 'POST':
# 取出邮箱地址
to_email = request.POST.get('email', None)
if to_email:
# 1. 邮件的标题 2. 邮件内容 3. 发送邮件的账号 4. 接收邮箱的账号
res = send_mail('这是一封测试邮件', 'hello word', settings.EMAIL_HOST_USER, [to_email, '837497936@qq.com'])
if res == 1:
return HttpResponse('邮件发送成功')
return redirect('/')
else:
redirect('/')
2> 多封邮件发送给多个人
def email_more(request):
if request.method == 'POST':
# 取出要发送至的邮箱
email1 = request.POST.get('email1', None)
email2 = request.POST.get('email2', None)
email3 = request.POST.get('email3', None)
if email1 and email2 and email3:
message1 = ('申通快递', '你的快放在菜鸟驿站, 验证码:2581314', settings.EMAIL_HOST_USER, [email1, email3])
message2 = ('美团外卖', '你的猪肉炖粉条已经送达, 请取餐', settings.EMAIL_HOST_USER, [email2])
message3 = ('中国移动', '亲, 您的手机已欠费, 请及时充值!', settings.EMAIL_HOST_USER, [email3])
try:
res = send_mass_mail((message1, message2, message3))
except Exception as e:
print(e)
return HttpResponse('发送失败!')
return redirect('/')
五: 意外
可能在操作完成后系统提示没问题, 有时候邮箱收不见邮件, 属于正常现象, 一般在邮箱的垃圾邮件里
# 取出要发送至的邮箱
email1 = request.POST.get('email1', None)
email2 = request.POST.get('email2', None)
email3 = request.POST.get('email3', None)
if email1 and email2 and email3:
message1 = ('申通快递', '你的快放在菜鸟驿站, 验证码:2581314', settings.EMAIL_HOST_USER, [email1, email3])
message2 = ('美团外卖', '你的猪肉炖粉条已经送达, 请取餐', settings.EMAIL_HOST_USER, [email2])
message3 = ('中国移动', '亲, 您的手机已欠费, 请及时充值!', settings.EMAIL_HOST_USER, [email3])
try:
res = send_mass_mail((message1, message2, message3))
except Exception as e:
print(e)
return HttpResponse('发送失败!')
return redirect('/')
五: 意外
可能在操作完成后系统提示没问题, 有时候邮箱收不见邮件, 属于正常现象, 一般在邮箱的垃圾邮件里
六: 一些邮箱的服务器地址
1> 新浪
2> QQ邮箱(建议不要使用这个, 很麻烦)
3> 网易邮箱