Home  >  Article  >  Backend Development  >  Detailed explanation of how to use the smtplib module in Python to implement third-party SMTP mail sending examples

Detailed explanation of how to use the smtplib module in Python to implement third-party SMTP mail sending examples

高洛峰
高洛峰Original
2017-03-26 17:57:161077browse

This article mainly explains in detail how to use the smtplib module in Python to implement third-party SMTP mail sending. It has certain reference value. Interested friends can refer to it

#_*_ coding:utf-8 _*_
import  smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
 
class Sendmail:
 
    local_hostname = ['toby-ThinkPad-T430shhhh']
    msg = MIMEMultipart('related')
 
    def __init__(self,smtp_server,mail_user,mail_pass):
        self.smtp_server = smtp_server
        self.mail_user = mail_user
        self.mail_pass = mail_pass
 
    def mess(self,theme,message):
        Sendmail.msg['Subject'] = theme  # 邮件主题
        html_msg = '''
                <html><head><body>
                <p>%s</p>
                </body></head></html>
            &#39;&#39;&#39; % message
        html = MIMEText(html_msg, &#39;html&#39;, &#39;utf-8&#39;)
        Sendmail.msg.attach(html)
 
    def files(self,path,filenames):
        files = path + filenames
        att = MIMEText(open(files, &#39;rb&#39;).read(), &#39;base64&#39;, &#39;utf-8&#39;)
        att["Content-Type"] = &#39;application/octet-stream&#39;
        att["Content-Disposition"] = &#39;attachment; filename=%s&#39; % filenames
        Sendmail.msg.attach(att)
 
    def send(self,receiver):
        smtp = smtplib.SMTP()
        smtp.connect(self.smtp_server)
        smtp.ehlo(self.local_hostname)  # 使用ehlo指令向smtp服务器确认身份
        smtp.starttls()  # smtp连接传输加密
        smtp.login(self.mail_user, self.mail_pass)
        smtp.sendmail(self.mail_user, receiver, Sendmail.msg.as_string())
        smtp.quit()
if __name__ == "__main__":
 
    a = Sendmail(&#39;xxxx.xxxx.com&#39;,&#39;xxxxx@xxxx.com&#39;,&#39;xxxxxx&#39;) #实例化一个发送邮件的对象
    a.mess(&#39;hello world&#39;,&#39;this is test mail&#39;)   #定义主题,消息
    a.files(&#39;/var/log/&#39;,&#39;syslog.2.gz&#39;) #这是发送邮件 定义路径、文件名
    a.send(&#39;xxxx@qq.com&#39;)  #收件人

The above is the detailed content of Detailed explanation of how to use the smtplib module in Python to implement third-party SMTP mail sending examples. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn