Maison >développement back-end >Tutoriel Python >Explication détaillée de l'exemple d'utilisation du module smtplib pour implémenter l'envoi de courrier SMTP tiers en python
Cet article explique principalement en détail comment utiliser le module smtplib en Python pour implémenter l'envoi de courrier SMTP tiers. Il a une certaine valeur de référence. Les amis intéressés peuvent s'y référer
#_*_ 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> ''' % message html = MIMEText(html_msg, 'html', 'utf-8') Sendmail.msg.attach(html) def files(self,path,filenames): files = path + filenames att = MIMEText(open(files, 'rb').read(), 'base64', 'utf-8') att["Content-Type"] = 'application/octet-stream' att["Content-Disposition"] = 'attachment; filename=%s' % 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('xxxx.xxxx.com','xxxxx@xxxx.com','xxxxxx') #实例化一个发送邮件的对象 a.mess('hello world','this is test mail') #定义主题,消息 a.files('/var/log/','syslog.2.gz') #这是发送邮件 定义路径、文件名 a.send('xxxx@qq.com') #收件人.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!