在django中发送邮件

作者: 盗花 | 来源:发表于2018-10-05 20:33 被阅读2次

    在Django中发送邮件很简单,只需要使用django.core.mail中的send_mail函数即可实现。
    具体来说,需要一些简单配置:
    1.在邮箱内开通smtp等服务,如下图所示。126邮箱开通的过程中要设置客户端授权码(授权码后面会用到)。

    2.settings.py中的设置
    在django中的settings.py中添加如下代码:

    EMAIL_HOST = 'smtp.126.com'  # 发送邮件的服务器地址
    EMAIL_HOST_USER = '替换成自己的邮箱用户名'  # 不含‘@126.com’的后缀
    EMAIL_HOST_PASSWORD = '替换成自己的邮箱授权码'  # 非邮箱登录密码
    EMAIL_PORT = 25
    DEFAULT_FROM_EMAIL = 'XXXX@126.com'  # 设置默认的发件人,不设置的话,本例中不会出现问题,但是在实际django中实际运用时,会出现问题,参见 http://blog.chinaunix.net/uid-21142030-id-5768057.html
    

    3.代码文件
    settings.py的同级目录中,新建一个Python代码文件(后缀名为.py),输入如下代码:

    import os
    
    from django.core.mail import send_mail
    
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "blog_shizhan.settings")  # 设置django的环境变量,不设置的话,不能读取到步骤2中的EMAIL_HOST等参数。
    
    send_mail(
        '邮件主题',
        '邮件内容',
        'xxxx@126.com',  # 发件人
        ['xxxx@qq.com'],  # 收件人,必须是列表类型
        fail_silently=False,
    )
    print('Done!')
    

    运行该代码文件,即可发送邮件了。

    相关文章

      网友评论

        本文标题:在django中发送邮件

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