阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

高阶应用-邮件

176次阅读
没有评论

共计 2024 个字符,预计需要花费 6 分钟才能阅读完成。

官网:https://docs.djangoproject.com/en/3.0/

一、邮箱配置

  • 163 邮箱配置

    第一步百度搜索网易 163 邮箱,登录自己的邮箱账号进去

    第二步点击右上方的设置,选择“POP3/SMTP/IMAP”

高阶应用 - 邮件

第三步勾选 POP3/SMTP,会弹出需要客户端授权密码登录,点击确定

高阶应用 - 邮件

第四步进去之后,选择开启

高阶应用 - 邮件

第五步点击之后需要短信验证,输入验证码之后,再输入自己要设置的授权密码,点击确定

高阶应用 - 邮件

高阶应用 - 邮件

  • QQ 邮箱配置

    第一步百度搜索 qq 邮箱,登录自己的邮箱账号进去

    第二步点击右上方的设置,选择“账户”

高阶应用 - 邮件
第三步将账户拉到中下部的位置上,把这两项勾选上

高阶应用 - 邮件

第四步点击生成授权码

高阶应用 - 邮件

第五步输入弹出的验证框(每个人的可能不同)

高阶应用 - 邮件

二、配置 settings

settings.py

EMAIL_HOST = os.environ.get('MAIL_SERVER','smtp.163.com') EMAIL_HOST_USER = os.environ.get('MAIL_USER','15611833906@163.com') EMAIL_HOST_PASSWORD = os.environ.get('MAIL_PASSWORD',123456)

三、单人邮件

from django.core.mail import send_mail send_mail('Subject here', 'Here is the message.', 'from@example.com', ['to@example.com'], fail_silently=False, )

使用 [EMAIL_HOST] 和[EMAIL_PORT]设置中指定的 SMTP 主机和端口发送邮件。在 [EMAIL_HOST_USER]和 [EMAIL_HOST_PASSWORD] 设置,如果设置,用来验证到 SMTP 服务器,[EMAIL_USE_TLS]并 [EMAIL_USE_SSL] 设置控制安全连接是否被使用

四、多人邮件

  • 说明

    用于处理大量电子邮件

  • 导入

    from django.core.mail import send_mass_mail
    
  • 方法 send_mass_mail()

    send_mass_mail(datatuple,fail_silently = False,auth_user = None*,auth_password = None,*connection = None)

  • 说明

    每个单独的元素都会 datatuple 产生单独的电子邮件。与中 [send_mail()] 的相同,收件人 recipient_list都将在电子邮件的“收件人:”字段中看到其他地址

  • 示例

    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)

    返回值将是成功传递的消息数

  • send_mass_mail()与 send_mail()区别

    [send_mass_mail()]和 之间的主要区别 [send_mail()] 是,[send_mail()]每次执行时都会打开与邮件服务器的连接,而 [send_mass_mail()] 对所有邮件使用单个连接。这使得 [send_mass_mail()]效率更高

五、发送替代内容类型

  • 说明

    在电子邮件中包含内容的多个版本可能很有用;经典示例是发送消息的文本版本和 HTML 版本。使用 Django 的电子邮件库,您可以使用 EmailMultiAlternatives 类进行此操作。的此子类[EmailMessage] 具有一种 attach_alternative()方法,用于在电子邮件中包括消息正文的其他版本。所有其他方法(包括类初始化)都直接继承自[EmailMessage]

  • 示例

    from django.core.mail import EmailMultiAlternatives subject, from_email, to = 'hello', 'from@example.com', 'to@example.com' text_content = 'This is an important message.' html_content = '<p>This is an <strong>important</strong> message.</p>' msg = EmailMultiAlternatives(subject, text_content, from_email, [to]) msg.attach_alternative(html_content, "text/html") msg.send()

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-05-26发表,共计2024字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中