smtp.py 911 B

123456789101112131415161718192021222324252627
  1. import smtplib
  2. from email.mime.multipart import MIMEMultipart
  3. from email.mime.text import MIMEText
  4. class SMTPClient:
  5. def __init__(self, server: str, port: int, username: str, password: str, _from: str, use_tls=False):
  6. self.server = server
  7. self.port = port
  8. self._from = _from
  9. self.username = username
  10. self.password = password
  11. self._use_tls = use_tls
  12. def send(self, mail: dict):
  13. smtp = smtplib.SMTP(self.server, self.port)
  14. if self._use_tls:
  15. smtp.starttls()
  16. if self.username and self.password:
  17. smtp.login(self.username, self.password)
  18. msg = MIMEMultipart()
  19. msg['Subject'] = mail['subject']
  20. msg['From'] = self._from
  21. msg['To'] = mail['to']
  22. msg.attach(MIMEText(mail['html'], 'html'))
  23. smtp.sendmail(self.username, mail['to'], msg.as_string())
  24. smtp.quit()