mail.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. '''
  2. usage:
  3. m = Mail("mail-auto@bas-rhin.fr", ["destinataire@bas-rhin.fr"], "mon mail", "mon message")
  4. m.send()
  5. '''
  6. from email.mime.multipart import MIMEMultipart
  7. from email.mime.text import MIMEText
  8. import smtplib
  9. class Mail():
  10. HOST = ""
  11. def __init__(self, fromaddr, toaddrs, subject, msg):
  12. self.mailport = None
  13. self.fromaddr = fromaddr
  14. self.toaddrs = toaddrs
  15. self.subject = subject
  16. self.msg = msg
  17. self.mail = MIMEMultipart('alternative')
  18. self.mail['Subject'] = self.subject
  19. self.mail['From'] = self.fromaddr
  20. self.mail['To'] = ",".join(self.toaddrs)
  21. self.mail.attach(MIMEText(self.msg, 'html', _charset='utf-8'))
  22. def send(self):
  23. if not self.HOST:
  24. raise ValueError("Mail.HOST has to be defined before sending any mail")
  25. port = self.mailport if self.mailport else smtplib.SMTP_PORT
  26. with smtplib.SMTP(self.HOST, port) as smtp:
  27. smtp.sendmail(self.fromaddr, self.toaddrs, self.mail.as_string())
  28. if __name__ == "__main__":
  29. mail = Mail("",
  30. ["olinox14@yahoo.fr"],
  31. "test",
  32. "test")
  33. mail.send()