• django实现发送邮件


    一、发送普通文本邮件

    1、settings.py中的设置

    # 发送邮件
    # 发送邮件设置
    EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
    EMAIL_USE_TLS = False   # 是否使用TLS安全传输协议
    EMAIL_USE_SSL = True    # 是否使用SSL加密,qq企业邮箱要求使用
    # SMTP地址
    EMAIL_HOST = 'smtp.qq.com'
    # SMTP端口
    EMAIL_PORT = 465
    # 自己的邮箱
    EMAIL_HOST_USER = '776265xxxx@qq.com'
    # 自己的邮箱授权码,非密码
    EMAIL_HOST_PASSWORD = 'qvsvaxxxxxxxxx'
    EMAIL_SUBJECT_PREFIX = '[迎风而来的博客]'

    2、视图函数实现发送文本

    from django.shortcuts import render, HttpResponse
    from django.core.mail import send_mail
    
    
    def send_email(request):
        """
        发送邮件
        :param request:
        :return:
        """
        send_mail(subject='发送邮件的标题',
                  message='发送邮件的内容',
                  from_email='776265233@qq.com',  #发送者邮箱
                  recipient_list=['1971956593@qq.com'], # 接收者邮箱可以写多个
                  fail_silently=False)
        return HttpResponse('邮件发送成功')

    二、发送带有附件的邮件

    1、settings.py中的设置

    # 发送邮件
    # 发送邮件设置
    EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
    EMAIL_USE_TLS = False   # 是否使用TLS安全传输协议
    EMAIL_USE_SSL = True    # 是否使用SSL加密,qq企业邮箱要求使用
    # SMTP地址
    EMAIL_HOST = 'smtp.qq.com'
    # SMTP端口
    EMAIL_PORT = 465
    # 自己的邮箱
    EMAIL_HOST_USER = '776265xxxx@qq.com'
    # 自己的邮箱授权码,非密码
    EMAIL_HOST_PASSWORD = 'qvsvabxxxxxxxxxx'
    EMAIL_SUBJECT_PREFIX = '[迎风而来的博客]'

    2、视图函数实现发送附件

    import os
    from django.conf import settings
    from django.core.mail import EmailMultiAlternatives
    from email.header import make_header
    
    
    def send_accessory_email(request):
        subject = '报告邮件'  # 邮件主题
        text_content = '这是一封重要的报告邮件.'  # 邮件文本内容
        html_content = '<p>这是一封<strong>重要的报告邮件</strong>.</p>'  # 邮件主题内容样式
        from_email = settings.EMAIL_HOST_USER    # 发送者邮箱
        receive_email_addr = ["19719xxxxxx@qq.com"]  # 接收者邮箱可以写多个
        msg = EmailMultiAlternatives(subject, text_content, from_email, receive_email_addr)
        msg.attach_alternative(html_content, "text/html")
        # 发送附件
        file_path = r"C:文件附件.xlsx"   # 发送附件的文件路径
        text = open(file_path, 'rb').read()
        file_name = os.path.basename(file_path)
        # 对文件进行编码处理
        b = make_header([(file_name, 'utf-8')]).encode('utf-8')
        msg.attach(b, text)   # 传入文件名和附件
        msg.send()
        if msg.send():
            return HttpResponse('邮件发送成功')
        else:
            return HttpResponse('邮件发送成功')
  • 相关阅读:
    Alpha 冲刺 (8/10)
    Alpha 冲刺 (7/10)
    Alpha 冲刺 (6/10)
    团 队 作 业 ———— 随 堂 小 测
    Alpha 冲刺 (5/10)
    Alpha 冲刺 (4/10)
    Beta冲刺博客汇总(麻瓜制造者)
    Beta冲刺(3/5)(麻瓜制造者)
    快速搭建一个Express工程骨架
    个人作业——软件产品案例分析
  • 原文地址:https://www.cnblogs.com/sui776265233/p/13085123.html
Copyright © 2020-2023  润新知