Wiadomości można wysyłać po utworzeniu hasła aplikacji lub zezwolenie na mniej bezpieczne logowanie w poczcie GMail.

Skrypt wymaga biblioteki SMTPEmail

pip3 install smtpemail --user
#!/usr/bin/env python3
# coding=utf-8

# File Name : mail.py
# Creation Date : 2019-03-07 23:37:09
# Last Modified : 2019-03-07 23:48:29


import smtplib
import ssl
from email.mime.text import MIMEText
from email.utils import COMMASPACE, formatdate

smtp_server = 'smtp.gmail.com'
port = 587
fromaddr = "user@gmail.com"
toaddrs = ['user1@gmail.com', 'user2@gmail.com']
username = "user@gmail.com"
password = ""

subject = "Temat wiadomości"
message = """Wiadomość testowa
halo

Data: {data}
Test: {test}

--
Wiadomość wysłana przez Pythona 3\n"""

message = message.format(data=formatdate(localtime=True), test='Test wiadomości')

msg = MIMEText(message)
msg['From'] = fromaddr
msg['To'] = COMMASPACE.join(toaddrs)
msg['Date'] = formatdate(localtime=True)
msg['Subject'] = subject

context = ssl.create_default_context()

try:
    server = smtplib.SMTP(smtp_server, port)
    server.ehlo_or_helo_if_needed()
    server.starttls(context=context)
    server.ehlo_or_helo_if_needed()
    server.login(username, password)
    server.sendmail(fromaddr, COMMASPACE.join(toaddrs), msg.as_string())
except smtplib.SMTPAuthenticationError:
    print(u"UWAGA! Błąd autoryzacji: nieprawidłowa nazwa użytkownika lub hasło.")
except smtplib.SMTPSenderRefused:
    print(u"UWAGA! Nadawca odrzucony.")
except smtplib.SMTPException:
    print(u"UWAGA! Błąd SMTP")
finally:
    server.close()

wstecz

Date: 2020-10-24T19:48:57+02:00