mail.py 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import smtplib
  2. import ssl
  3. from email.mime.text import MIMEText
  4. from email.mime.multipart import MIMEMultipart
  5. from collections import namedtuple
  6. MailConfig = namedtuple('MailConfig', 'server port secure username password email')
  7. mail_cfg = MailConfig(**{
  8. 'server': 'smtp.ionos.de',
  9. 'port': '465',
  10. 'secure': 'ssl',
  11. 'username': 'versand@global-cube.de',
  12. 'password': 'gc01smtp??',
  13. 'email': 'versand@global-cube.de'
  14. })
  15. mail_cfg = MailConfig(**{
  16. 'server': 'mail.psmanaged.com',
  17. 'port': '465',
  18. 'secure': 'ssl',
  19. 'username': 'gc@scharf-automobile.de',
  20. 'password': '+Js10TnD*km4E6',
  21. 'email': 'gc@scharf-automobile.de'
  22. })
  23. # receiver_email = 'bedner@global-cube.de'
  24. receiver_email = 'robert.bedner@gmail.com'
  25. context = ssl.create_default_context()
  26. message = MIMEMultipart('alternative')
  27. message['Subject'] = 'GAPS Mailversand'
  28. message['From'] = f'Global Cube <{mail_cfg.email}>'
  29. message['To'] = receiver_email
  30. text = 'Das ist der alternative Text. Auch okay, oder?!'
  31. html = '<html><body><h1>Coole Überschrift</h1><p>Und so geht es weiter. Gut lesbar?</p></body></html>'
  32. message.attach(MIMEText(text, 'plain'))
  33. message.attach(MIMEText(html, 'html'))
  34. try:
  35. with smtplib.SMTP_SSL(mail_cfg.server, mail_cfg.port, context=context) as mailserver:
  36. mailserver.login(mail_cfg.username, mail_cfg.password)
  37. result = mailserver.sendmail(mail_cfg.email, receiver_email, message.as_string())
  38. print(result)
  39. except smtplib.SMTPException as e:
  40. print(e)