美文网首页
邮件发送

邮件发送

作者: 垃圾桶边的狗 | 来源:发表于2019-03-12 23:07 被阅读0次

配置

EMAIL_USE_SSL = True

EMAIL_HOST = 'smtp.qq.com'  # 如果是 163 改成 smtp.163.com

EMAIL_PORT = 465

EMAIL_HOST_USER = environ.get("EMAIL_SENDER") # 帐号

EMAIL_HOST_PASSWORD = environ.get("EMAIL_PWD")  # 授权码(****)

DEFAULT_FROM_EMAIL = EMAIL_HOST_USER

注意:邮箱要开启smtp服务 并且记录授权码

https://docs.djangoproject.com/zh-hans/2.0/topics/email/

笔记

为什么用

​ 及时通知,还有邮箱验证等等

怎么用

修改setting.py 加入邮箱配置

EMAIL_USE_SSL = True

EMAIL_HOST = 'smtp.qq.com'  # 如果是 163 改成 smtp.163.com

EMAIL_PORT = 465

EMAIL_HOST_USER = "xxx@qq.com" # 帐号

EMAIL_HOST_PASSWORD = "xxxxx"  # 授权码(****)

DEFAULT_FROM_EMAIL = EMAIL_HOST_USER

views里使用

普通单封邮件

def send_my_mail(req):

   title = "阿里offer"

   message = "恭喜您 成为我们公司CEO"

   email_from = "1625211623@qq.com"

   recs = ["17694871425@163.com", "569677884@qq.com", "ichenyouzhi@163.com"]

   #发送邮件

   send_mail(title, message, email_from, recs)

   return HttpResponse("CEO开始嗨起来")

多封普通邮件的发送

def send_emailss(req):

   title1 = "腾讯offer"

   message1 = "恭喜您 被骗了"

   email_from = "1625211623@qq.com"

   title2 = "这是一封挑事的邮件"

   message2 = "大哥大哥别杀我"

   recs1 = ["17694871425@163.com",

           "569677884@qq.com",

           "ichenyouzhi@163.com"]

   recs2 = ["17694871425@163.com",

            "569677884@qq.com",

            "ichenyouzhi@163.com",

            "m18742863100@163.com"]

   senders1 = (title1, message1, email_from, recs1)

   senders2 = (title2, message2, email_from, recs2)

   send_mass_mail((senders1, senders2), fail_silently=False)

   return HttpResponse("OK")

send_mail和send_mass_mail的区别

​ send_mail每次都连接SMTP服务

​ send_mass_mail 连一次就可以发多个

发送html的邮件

def email_html(req):

   title = "阿里offer"

   message = "恭喜您 成为我们公司CEO"

   email_from = "493024318@qq.com"

   recs = [

           "liuda@1000phone.com",

           ]

   html_content = '{url}'.format(url=url)

   msg = EmailMultiAlternatives(title,message, email_from, recs)

   msg.attach_alternative(html_content, "text/html")

   msg.send()

   return HttpResponse("OK")

邮箱验证码

​ 1 生成验证码

​ 2 准备邮件内容 拼接验证url

​ 3 发送邮件

​ 4 拿到url里的那个token

​ 5 改变邮箱对应用户的状态

生成验证连接发送邮件

from django.core.mail import send_mail

from django.http import HttpResponse

from django.shortcuts import render

from email_verfiry import myutil

from django.core.cache import cache

# Create your views here.

def get_verify_code(req):

   param = req.GET

   email = param.get('email')

   name = param.get('name')

   #验证邮箱书写规则合法性

   #验证这个邮箱是否在我们的系统注册过了

   #生成验证码

   token = myutil.get_token()

   #拼接验证连接

   verify_url = "http://sharemsg.cn:12348/verify/" + token

   # 保存验证码

   cache.set(token, email, 60)

   # 发送邮件

   title = "欢迎注册1806会员"

   message = "请将如下连接 复制到浏览器访问{url}".format(

       url=verify_url

   )

   email_from = "493024318@qq.com"

   send_mail(title, message, email_from, [email])

   return HttpResponse("注册成功,请查看激活邮件")

验证url的正确性

def verify(req, token):

   email = cache.get(token)

   if email:

  # 去数据库找Email对应人

       return HttpResponse("修改用户状态,可以使用"+email)

   else:

       return HttpResponse("验证链接不正确")

相关文章

  • spring boot 邮件发送基础详解(4种邮件超级详细)

    本文将介绍spring boot邮件发送将介绍以下几个方面: 邮件使用场景 邮件发送原理 邮件发送流程 邮件发送步...

  • SKPSMTPMessage

    SKPSMTPMessage 可以自己实现邮件发送,采用系统的邮件发送会弹出邮件发送框,如果要求静默发送邮件可参照...

  • SpringBoot 发送邮件

    # 依赖 # 配置 # 发送简单文本邮件 # 发送html邮件 # 使用邮件模板发送邮件 添加依赖 配置 新建ht...

  • 2018-10-11

    文本邮件的发送 1.邮件发送流程 ​ 邮件的发送是主动行为:主要通过 MUA/邮件客户端软件,将邮件内容发送给对应...

  • python自动发送邮件

    python自动发送邮件 在说python发送邮件之前,需要了解一下简单的邮件发送知识,邮件发送一般通过SMTP协...

  • python -- Email , send(smtp), re

    python Email功能: 发送普通文本邮件 发送带有html格式的邮件 发送带有附件的邮件 发送插入图片到正...

  • 2018-07-02

    发送邮件 //发送邮件 @ResponseBody @RequestMapping("email") public...

  • Golang使用SMTP发送邮件

    使用SMTP发送邮件 发送邮件测试 邮箱如下

  • python学习(21)smtp发送邮件

    本文介绍python发送邮件模块smtplib以及相关MIME模块。smtplib用于生成邮件发送的代理,发送邮件...

  • email

    1. django 发送邮件 settings.py中配置发送邮件邮箱 使用send_mail方法发送邮件

网友评论

      本文标题:邮件发送

      本文链接:https://www.haomeiwen.com/subject/jlpnyftx.html