django发送邮件

今天小看了一下有关django发送邮件,自己也动手写了一下,用163邮箱给qq邮箱发送邮件,贴出代码供大家参考一下

第一步,肯定是现有一个django环境框架,个人用的是pycharm直接创建的django工程

第二步,找到setting.py,然后在最后添加以下代码

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'#指定发送邮件的后端模块
EMAIL_HOST = 'smtp.163.com'#发送方的smtp服务器地址
EMAIL_PORT = 25
EMAIL_HOST_USER = 'xxx@163.com'
EMAIL_HOST_PASSWORD = 'xxx'

只需要把xxx替换为你自己的163邮箱账号和密码就可以啦

第三步,就是开始写代码啦

在manage.py同目录下创建send_mail.py文件(注:一定要在同一目录下,否则无法加载settings)

#!/usr/bin/env python3
# encoding:utf-8
'''
@author: lierl
@file: send_mail.py
@time: 2018/4/2 13:42
'''
__author__ = 'lierl'

import os
from django.core.mail import send_mail
from django.core.mail import EmailMultiAlternatives

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "djtest.settings")


subject = '来自xxx邮件'
text_content = "这是一封测试邮件,请忽略"
html_content = "<h1>这是一封测试邮件,请忽略</h1>"
from_email = 'xxx@163.com'
to_email = ['xxx@qq.com']#可以是多个

#发一封普通邮件
send_mail(
        subject=subject,
        message=text_content,
        from_email=from_email,
        recipient_list=to_email
    )

#发一封带有附件的html邮件
msg = EmailMultiAlternatives(subject=subject, from_email=from_email, to=to_email)
msg.attach_alternative(html_content, 'text/html')
msg.attach_file("E:\\aa.xls")#添加附件
msg.send()

把from_email和to_email改成你自己对应的邮箱就可以啦,切记:from_email必须和settings.py中的EMAIL_HOST_USER一样

看一下发送后的效果吧

普通邮件:


带附件的html邮件:


小伙伴们可以自己亲自去测试一下吧,真正在项目中可能不会用的这么简单,比如发送邮件进行验证等,需要自定义模板,下次再写运用模板发送邮件

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值