资源简介

基于smtp发送,支持发送附件

资源截图

代码片段和文件信息

import os
import time
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication
from email.mime.text import MIMEText

“““
邮件对象继承关系
MIMEbase
    |-- MIMENonMultipart
        |-- MIMEApplication
        |-- MIMEAudio
        |-- MIMEImage
        |-- MIMEMessage
        |-- MIMEText
    |-- MIMEMultipart
“““

“““
SSL:465TLS:587
to_addr用server.sendmail时传列表
sys.argv:传参的列表,第0个为当前文件名
“““
class SendMail:
    def __init__(self from_addr password to_addr smtp_server smtp_port):
        self.from_addr = from_addr
        self.password = password
        self.to_addr = to_addr   #‘xxxyyy;zzz;aaa’发送给xxxyyy;抄送给zzz;暗送给aaa
        self.smtp_server = smtp_server
        self.smtp_port = smtp_port

    def __del__(self):
        self.server.quit()

    def try_repeat(self function pause_time = 1 repeat_time = 10000):
        for rt in range(repeat_time):
            try:
                function()
            except Exception as e:
                print(e)
                print(‘连接超时,%ds后重试......‘%pause_time)
                time.sleep(pause_time)
            else:
                print(‘账号登陆成功!‘)
                return True
        else:
            print(‘连接失败!‘)
            return False

    def connect(self):
        self.server = smtplib.SMTP(self.smtp_server self.smtp_port)
        #self.server = smtplib.SMTP_SSL(self.smtp_server 465)
        self.server.starttls()  # 创建安全链接,加密传输
        #self.server.set_debuglevel(1)  # 打印出和SMTP服务器交互的所有信息
     

评论

共有 条评论