try:
import smtplib, textwrap
from email.utils import formatdate
odbiorcaEmail = input('\nPodaj adres e-mail odbiorcy: ')
tematEmail = input('\n\nPodaj temat wiadomości: ')
przywitanie = input('\n\nNapisz treść przywitania (np. Dzień Dobry): ')
trescListu = input('\n\nWpisz treść wiadomości: ')
trescListu = textwrap.fill(trescListu, width=72)
nadawcaEmail = 'login_do_poczty'
podpis = 'Imie_i_nazwisko'
adresSerweraSMTP ='adres_serwera_SMTP'
portSSL = 465
password = 'haslo_do_poczty'
nadawcaNaglowek = f"From: {nadawcaEmail}"
odbiorcaNaglowek = f"To: {odbiorcaEmail}"
tematNaglowek = f"Subject: {tematEmail}"
dataWyslania = f"Date: {formatdate(localtime=True)}"
klientEmail = 'X-Mailer: Python'
formatWiadomosci = 'Content-Type: text/plain; charset=UTF-8'
kodowanie = 'Content-Transfer-Encoding: 8bit'
delimeter = f'-- \n{podpis}'
calaWiadomosc = f"{nadawcaNaglowek}\n{odbiorcaNaglowek}\n{tematNaglowek}\n{dataWyslania}\n{klientEmail}\n{formatWiadomosci}\n{kodowanie}\n{przywitanie}\n{trescListu}\n\n{delimeter}"
print(calaWiadomosc)
print('\n\nPoczekaj... Wysyłam...\n\n')
server = smtplib.SMTP_SSL(f"{adresSerweraSMTP}:{portSSL}")
server.login(nadawcaEmail, password)
server.sendmail(nadawcaEmail, odbiorcaEmail, calaWiadomosc.encode("utf-8"))
server.quit()
print("\n\nWiadomość została wysłana.\n\n")
except (ModuleNotFoundError, ImportError):
print('\n\nJest jakiś problem z importem modułu. Sprawdź dokładnie nazwy\nipołączenie z siecią.\n\n')
raise SystemExit
except NameError as bladZmiennej:
print('\n\nProblem z nazwami zmiennych. Szczegóły: {}.\n\n' . format(bladZmiennej))
raise SystemExit
except AttributeError as bladAtrybutu:
print('\n\nJest problem z nazwami / atrybutami poleceń. Szczegóły: {}.\n\n' . format(bladAtrybutu))
raise SystemExit
except LookupError as bladLookup:
print('\n\nJest problem ze wpisanymi wartościami. Szczegóły: {}.\n\n' . format(bladLookup))
raise SystemExit
except smtplib.SMTPRecipientsRefused:
print('\n\nNiewłaściwy adres odbiorcy lub niewłaściwa kompozycja wiadomości.\n\n')
raise SystemExit
except (smtplib.SMTPAuthenticationError, smtplib.SMTPServerDisconnected):
print('\n\nNiewłaściwy login lub hasło do serwera SMTP.\n\n')
raise SystemExit
except (smtplib.socket.gaierror, OSError, ConnectionRefusedError):
print('\n\nProblem z przeprowadzeniem połączenia. Możliwe przyczyny:\nniewłaściwy adres nadawcy/odbiorcy;\n- niewłaściwy adres serwera SMTP;\n- niewłaściwy numer portu;\n- lub niepoprawne hasło.\n\n')
raise SystemExit
finally:
input('\n\nNaciśnij ENTER, aby zakończyć\n\n')
Pobierz program