用python来发送邮件

import smtplib
from email.mime.text import MIMEText


class Email(object):
    def __init__(self, sender=None, receivers=None):
        self._sender = sender
        self._receivers = receivers
        self._message = None
        self._subject = None
        self._host = None
        self._user = None
        self._password = None

    @property
    def sender(self):
        return self._sender

    @sender.setter
    def sender(self, sender):
        """设置发送人"""
        self._sender = sender

    @property
    def receivers(self):
        return self._receivers

    @receivers.setter
    def receivers(self, receivers):
        """设置接受人,应该为列表,但是一次发多个又出现问题"""
        self._receivers = [receivers,]

    def setMessage(self, message=None):
        """设置发送信息"""
        self._message = message

    def setSubject(self, subject="No Subject"):
        """设置邮件主题"""
        self._subject = subject

    def setHost(self, host="smtp.126.com"):
        """设置服务器"""
        self._host = host

    def setAccount(self, user, password):
        """设置账户密码"""
        self._user = user
        self._password = password

    def send(self, text_format='plain', encoding='utf-8'):
        """发送邮件"""
        message = MIMEText(self._message, text_format, encoding)

        message["From"] = self._sender
        message["To"] = self._receivers[0]
        message["Subject"] = self._subject

        try:
            smtpObj = smtplib.SMTP()
            smtpObj.connect(self._host, 25)
            smtpObj.login(self._user, self._password)
            smtpObj.sendmail(self._sender, self._receivers, message.as_string())
            print("邮件发送成功")
        except Exception as e:
            print(e)
        except smtplib.SMTPException:
            print("Error: 发送邮件失败")


if __name__ == '__main__':
    email = Email()
    email.sender = 'xxxxxx'
    email.receivers = 'xxxxxx'
    email.setAccount("xxxxx", "xxxxx")  # 开启授权时,使用授权码
    email.setSubject("This is a test")
    email.setHost()
    email.setMessage("Hello, this is just a test")
    email.send()




效果:
python-email

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值