Jak wysłać e -mail za pomocą Pythona

Jak wysłać e -mail za pomocą Pythona

Protokół Simple Mail Transfer (SMTP) wydaje się być standardem e-mailowym do przesyłania i kierowania wiadomości między systemami pocztowymi. Pakiet SMTPLIB w Python tworzy jednostkę konferencji klientów SMTP, którą można odrzucić, aby wyreżyserować wiadomość e -mail na dowolny komputer w Internecie, który ma usługi słuchania SMTP lub ESMTP.

W tym samouczku damy Ci znać o metodach wysyłania wiadomości e -mail za pomocą SMTP w twoim systemie. Używamy nowej wersji Spyder do wykonania wdrożenia wiadomości e -mail za pośrednictwem Python w Ubuntu 20.04. Zaloguj się z Ubuntu 20.04 System, aby rozpocząć wdrażanie.

Przykład 01:

Otwórz aplikację Spyder z obszaru aplikacji systemu Linux. Okno poniżej podskoczenia zostanie otwarte. Napisz w nim poniższy kod. Najpierw importujemy smtplib w naszym kodzie. Następnie zdefiniowaliśmy e -maile nadawcy i odbiorników osobno. Następnie użyliśmy potrójnej cytatu, aby zawierać prosty e-mail do tekstu, a ty upewniłeś się, że nagłówki są właściwie sformatowane w wiadomości. Pusta linia oddziela od, do, a także nagłówki przedmiotów od treści e -mail.

W instrukcji TRY, aby dostarczyć pocztę, najpierw dołącz do natywnego serwera SMTP za pomocą SMTPOBJ, a wcześniej za pomocą funkcji Sendmail tylko z tekstem, adresem z adresu, a także adresu docelowego jako opcji. Możemy pochłonąć klienta SMTPLIB do interakcji z odległym serwerem SMTP, jeśli nie używasz serwera SMTP działającego na natywnej stacji roboczej. Tak więc, jeśli konsumujesz platformę internetową, taką jak Hotmail, a także poczta Yahoo, twój dostawca e-mail powinien dostarczyć Ci odpowiednie informacje o serwerze pocztowej wychodzącego. Jeśli połączenie odniesie sukces, wyśle ​​pocztę do odbiornika i wydrukuje wiadomość sukcesu. W przeciwnym razie, z wyjątkiem instrukcji zostanie wykonana z komunikatem o błędzie.

Zapisz kod Pythona i wykonaj ten kod, klikając przycisk „Uruchom” aplikacji Spyder.

Po wykonaniu pokaże komunikat sukcesu, jak pokazano na poniższym zrzucie ekranu, jeśli wysłanie e -maila zakończyło się sukcesem.

Przykład 02:

Jak wcześniej wspomniano, Python zawiera bibliotekę SMTPLIB, która zarządza wszystkimi aspektami swoich protokołów, w tym łączeniem, weryfikacją, sprawdzaniem poprawności i wysyłania wiadomości e -mail. Wykorzystując smtplib, tworzenie tych interakcji jest proste. Na ich najbardziej podstawowym poziomie e -maile to jedynie sekwencje tekstu oddzielone NOWYMI SYMBILE. Sekcje „From”, „to”, „Temat”, a także „ciało” byłyby obecne w większości maili. Do budowy odszyfrowanego wariantu można użyć funkcji ehlo (). W całym pakiecie SMTPLIB wydaje się, że istnieje kilka bardzo różnych sposobów ochrony komunikacji SMTP.

Początkowo pierwszą metodą jest ustanowienie niezabezpieczonego połączenia, a następnie uaktualnienie do TLS. Do tego używana jest funkcja startutls (). Aby wzmocnić link do ochrony, wykorzystujemy funkcję starttls (). Każda linia ma nowy obszar z danymi, jak widziałeś. Nie ma protokołów binarnych, XML ani JSON; Obsługiwane są tylko znaki oddzielone linią.

Edycja strun w Pythonie jest rzeczywiście prostym podejściem do lepszego zarządzania niektórymi dziedzinami. To, co musisz zrobić, to wysłać argument tekstu e -mail do SMTPLIB, którego nauczymy Cię, jak osiągnąć w następnym kroku. Jeśli wysyłanie poczty odniesie sukces, w przeciwnym razie wydrukuje komunikat sukcesu, wydrukuj komunikat o błędzie z instrukcji oprócz.

Uruchommy ponownie plik, stukając przyciskiem „Uruchom” w aplikacji Spyder. Jeśli kod otrzyma błąd lub połączenie nie może pomyślnie połączyć serwera Gmaila, wyświetli komunikat o błędzie „Coś poszło nie tak…”.

Jeśli kod odniesie sukces w wysyłaniu poczty do serwera Gmaila po wykonaniu, wyświetli komunikat sukcesu „Wysłany e -mail!„To zostało użyte w instrukcji TRY powyższego kodu Pythona. Wyjście będzie wyglądać jak coś, jak przedstawiono na poniższym obrazku.

Przykład 03:

Odkryjemy, co zrobić, aby wysłać szybki e -mail z wykorzystaniem skryptu Pythona w tym samouczku. Python, jako dominujący język, nie wymaga korzystania z innych bibliotek i zawiera lokalną bibliotekę do wysyłania e -maili o nazwie „SMTP Lib.„Funkcja„ SMTPLIB ”tworzy prosty protokół przesyłania poczty Customer Session, który może być używany do napisania wiadomości e -mail na dowolny prawidłowy adres e -mail w Internecie. Różne porty były używane przez różne strony internetowe. W tym poście wyślemy wiadomość e -mail za pomocą konta Gmail. Numer portu wykorzystywany w tym przypadku to 587. Jeśli chcesz wysłać wiadomość e -mail za pośrednictwem witryny oprócz Gmaila, musisz najpierw uzyskać niezbędne poświadczenia.

Przede wszystkim moduł „smtplib” musi zostać załadowany. Następnie użyjemy jego obiektu SMTP do zawinięcia połączenia SMTP do ustanowienia sesji. Musimy podać pierwszy argument, który byłby adresem serwera, a także drugą wartością, która byłaby portem do użycia. Numer portu 587 jest używany do Gmaila. Ustaw teraz połączenie SMTP w stanie TLS ze względu na obawy dotyczące bezpieczeństwa. Wszystkie instrukcje SMTP są szyfrowane za pomocą TLS (bezpieczeństwo warstwy transportowej).

Następnie musisz wprowadzić swoje szczegóły logowania Gmaila w formularzu logowania dla prywatności i bezpieczeństwa. Po wprowadzeniu nieprawidłowego adresu e -mail lub hasła tłumacz wyświetli błąd identyfikacyjny. Zapisz wiadomość, którą wyślesz w zmiennej o nazwie wiadomość. Opublikuj swój komentarz metodą sendmail (). Trzy argumenty są używane przez sendmail (): nadawca, identyfikator e -maila odbiornika i tekst, aby być wiodącym. Wszystkie wartości powinny być w podobnej kolejności.

Wniosek:

Oprócz procesów uprawnień specyficznych dla Gmaila (które obejmują mniej bezpieczne aplikacje itp.), te skrypty i przykłady działałyby z prawie każdą inną usługą pocztową, która zapewnia łączność SMTP, o ile masz niezbędny adres serwera, a także portu.