Python实战技巧(9)Python发送邮件

Python实战技巧(1)Python字典类型数据如何递归地通过点‘.’的方式访问

Python实战技巧(2)Python的pdb调试代码方法详解

Python实战技巧(3)多版本兼容安装部署(py27,py34,py35,py36,py37,py38,py39)

Python实战技巧(4)正式在pypi网站发布包的流程详解

Python实战技巧(5)Python版本兼容性测试工具tox实战详解

Python实战技巧(6)Miniconda+Pipenv安装部署开发环境实战详解

Python实战技巧(7)Pycharm如何远程调试远程执行

Python实战技巧(8)Python调用C语言

Python实战技巧(9)Python发送邮件

Python实战技巧(10)Python解析邮件

Python实战技巧(11)使用python收发邮件时需要的邮箱授权码如何获取

Python实战技巧(12)一个非常好用收发邮件、解析邮件的库caterpillar_mail

1、使用python编写发送邮件的类库

代码如下:

import smtplib
from email.mime.text import MIMEText

class SendEmail(object):
    def __init__(self,send_mail_server):
        self.__smtp = smtplib.SMTP(send_mail_server, port=25)
        self.__From=""
        self.__To=""
        self.__password=""
        self.__subject=""
        self.__context=""
        self.__mail=None

    def __del__(self):
        try:
            self.__smtp.quit()
        except:
            pass

    @property
    def From(self):
        return self.__From

    @From.setter
    def From(self, From):
        self.__From = From

    @property
    def To(self):
        return self.__To

    @To.setter
    def To(self, To):
        self.__To = To

    @property
    def password(self):
        return self.__password

    @password.setter
    def password(self,pwd):
        self.__password=pwd

    @property
    def context(self):
        return self.__context

    @context.setter
    def context(self,ctx):
        self.__context=ctx

    @property
    def subject(self):
        return self.__subject

    @subject.setter
    def subject(self,subject):
        self.__subject=subject

    def send(self):
        self.__mail=MIMEText(self.__context)
        self.__mail["From"]=self.__From
        self.__mail["To"]=self.__To
        self.__mail["Subject"]=self.__subject
        self.__smtp.login(self.__From,self.__password)
        self.__smtp.sendmail(self.__From, self.__To, self.__mail.as_string())

2、使用上述封装类发送邮件

直接使用上述封装类即可

send_email=SendEmail("smtp.163.com")    # 初始化的时候需要填入发送邮件服务器地址,如163的发送邮件服务器地址是 smtp.163.com
send_email.From="[email protected]"    # 发送邮件的邮箱地址
send_email.To="[email protected]"     # 接收人的邮件地址
send_email.password="LRRDUVG-xxx-YHEMLK"  # 发送邮件的邮箱的授权码,这里不能使用密码,要去邮箱配置授权码
send_email.subject="测试邮件标题"     # 邮件标题
send_email.context="测试邮件内容\n你好啊,哈哈哈\n邮件结束"    # 邮件内容
send_email.send()    

猜你喜欢

转载自blog.csdn.net/redrose2100/article/details/121336678