Python 发送邮件

Python 发送邮件

# -*- coding: utf-8 -*-
"""
功能描述: 发送邮件
"""
import smtplib
import logging
from email.header import Header
from email.mime.text import MIMEText


LOG = logging.getLogger("django")


class SendMail(object):
    def __init__(self, receiver, mail_msg, subject):
        self.sender = 'xiaocai_v@163.com'
        self.receiver = receiver
        self.mail_msg = mail_msg
        self.subject = subject

    def init_header(self):
        message = MIMEText(self.mail_msg, "html")
        message['From'] = Header("XiaoCai")
        message['To'] = Header(self.receiver)
        message['Subject'] = Header(self.subject)
        return message

    def send_mail(self):
        try:
            message = self.init_header()
            smtp_obj = smtplib.SMTP('smtp.163.com')
            smtp_obj.login('xiaocai_v@163.com', '163邮箱授权码')
            smtp_obj.sendmail(self.sender, self.receiver, message.as_string())
            LOG.info("邮件发送成功")
        except smtplib.SMTPException as e:
            LOG.error("无法发送邮件", e)


if __name__ == '__main__':
    receivers = ["xiaocai@163.com", "xiaoxiaocai@163.com"]
    for receiver in receivers:
        SendMail(receiver, """<h1>python 邮件发送测试</h1>""", "邮件测试").send_mail()

Django发送邮件

在setting配置中进行邮箱配置

# 邮箱配置
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.163.com'
EMAIL_PORT = 25
#发送邮件的邮箱
EMAIL_HOST_USER = 'xiaocai_v@163.com'
#在邮箱中设置的客户端授权密码
EMAIL_HOST_PASSWORD = '163邮箱授权码'
#收件人看到的发件人
EMAIL_FROM = 'xiaocai<xiaocai_v@163.com>'
from django.core.mail import send_mail
from django.conf import settings


def send_verify_email(to_email, verify_url):
    """
    发送验证邮箱邮件
    :param to_email: 收件人邮箱
    :param verify_url: 验证链接
    :return: None
    """
    subject = "邮箱验证"
    html_message = '<p>尊敬的用户您好!</p>' \
                   '<p>感谢您的使用。</p>' \
                   '<p>您的邮箱为:%s 。请点击此链接激活您的邮箱:</p>' \
                   '<p><a href="%s">%s<a></p>' % (to_email, verify_url, verify_url)

    send_mail(subject, "", settings.EMAIL_FROM, [to_email], html_message=html_message)
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值