python send email

本文提供了一段使用Python实现的邮件发送代码,通过smtplib和email.mime.text模块,实现了从指定SMTP服务器发送HTML格式邮件的功能。代码中包含了邮件发送的基本步骤,包括服务器连接、身份验证、邮件内容构造及发送过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# coding=utf-8

import smtplib
from email.mime.text import MIMEText
import sys, json, os
import base64

class SendEmail(object):
    def __init__(self, smtp_host, user, passwd, debug=False):
        self.__server = None
        try:
            server = smtplib.SMTP(host=smtp_host)
            server.set_debuglevel(debug if debug else 0)
            server.starttls()

            server.login(user, passwd)

            self.__user = user
            self.__server = server
        except Exception as e:
            self._error = e
            pass

    def __del__(self):
        if self.__server != None:
            self.__server.close()

    def sendTxt(self, to_list, sub, content):
        if self.__server == None:
            return self._error

        try:
            msg = MIMEText(content, _subtype='html', _charset='utf-8')
            msg['Subject'] = sub
            msg['From'] = self.__user
            msg['To'] = ";".join(to_list)
            
            self.__server.sendmail(self.__user, to_list, msg.as_string())

            return None
        except Exception as e:
            return e
            pass

def SendText(sender, recvs, title, text):
    recvs.sort()

    s = SendEmail(sender["host"], sender["account"], sender["pass"])

    title = title
    msg = text
    return s.sendTxt(recvs, title, msg)

if __name__ == '__main__':

    try:
        sender={
            "host": "smtp.yeah.net", 
            "account": "xxxxx@yeah.net", 
            "pass": "xxxxx"
        }

        sender={
            "host": "smtp-mail.outlook.com", 
            "account": "xxxxx@outlook.com", 
            "pass": "xxxx"
        }

        recvs=["xxxx@qq.com"]
        title="test"
        content="content"

        result = SendText(sender, recvs, title, content)
        print(result)
    except Exception as e:
        print(e)
    pass
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

nowaits

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值