Come inviare e -mail utilizzando Python

Come inviare e -mail utilizzando Python

Il Simple Mail Transfer Protocol (SMTP) sembra essere uno standard di posta elettronica per trasmettere e dirigere i messaggi tra i sistemi di posta elettronica. Il pacchetto SMTPLIB in Python crea un'entità della conferenza del cliente SMTP che potrebbe essere lanciata per dirigere un'e -mail a qualsiasi computer su Internet che ha un servizio di ascolto SMTP o ESMTP.

In questo tutorial, ti faremo conoscere i metodi per inviare e -mail utilizzando SMTP nel tuo sistema. Abbiamo utilizzato la nuova versione di Spyder per eseguire l'implementazione di invio e -mail tramite Python in Ubuntu 20.04. Accedi dal tuo Ubuntu 20.04 Sistema per iniziare a implementarlo.

Esempio 01:

Apri l'applicazione Spyder dall'area dell'applicazione del sistema Linux. Verrà aperta la finestra di seguito. Scrivi il codice seguente in esso. Stiamo importando SMTPLIB nel nostro codice prima. Quindi abbiamo definito le e -mail di mittente e ricevitore separatamente. Quindi abbiamo usato una tripla citazione per includere una semplice e-mail all'interno del testo e hai assicurato che le intestazioni fossero formattate correttamente nel messaggio. Una linea vuota separa da, a, nonché intestazioni in materia dal contenuto e -mail.

Nell'istruzione Try, per consegnare la posta, primo join a un server SMTP nativo utilizzando SMTPOBJ e precedentemente utilizzando la funzione Sendmail solo con il testo, l'indirizzo e l'indirizzo target come opzioni. Potremmo consumare un client SMTPLIB per interagire con un server SMTP lontano se non si utilizza un server SMTP che opera sulla workstation nativa. Quindi, se stai consumando una piattaforma Web come Hotmail e Yahoo Mail, il tuo fornitore di e-mail avrebbe dovuto fornire informazioni appropriate per il server di posta in uscita. Se la connessione avrà successo, invierà una posta a un ricevitore e stampa un messaggio di successo. Altrimenti, tranne l'istruzione verrà eseguita con un messaggio di errore.

Salva il codice Python ed esegui questo codice facendo clic sul pulsante "Esegui" dell'applicazione Spyder.

Al momento dell'esecuzione, ti mostrerà il messaggio di successo come mostrato nella schermata seguente se l'e -mail Invia ha avuto successo dalla tua fine.

Esempio 02:

Come affermato in precedenza, Python include la libreria SMTPLIB, che gestisce tutti gli aspetti dei suoi protocolli, tra cui la connessione, la verifica, la convalida e l'invio di un'e -mail. Utilizzare SMTPLIB, fare queste interazioni è un gioco da ragazzi. Al loro livello più elementare, le e -mail sono semplicemente sequenze di testo separate dai simboli di Newline. Le sezioni "da" da "a", "soggetto" e "corpo" sarebbero tutte presenti nella maggior parte delle postazioni. La funzione Ehlo () può essere utilizzata per creare una variante decrittografata. Durante tutto il pacchetto SMTPLIB, sembrano esserci alcuni modi molto vari per salvaguardare le tue comunicazioni SMTP.

Inizialmente, il primo metodo è stabilire una connessione non protetta, quindi aggiornare a TLS. La funzione startTls () viene utilizzata per farlo. Per migliorare il collegamento alla protezione, stiamo utilizzando la funzione startTls (). Ogni riga ha una nuova area con i suoi dati, come hai visto. Non ci sono protocolli binari, XML o JSON; Sono supportati solo i caratteri separati dalla linea.

La modifica delle stringhe in Python è davvero un approccio semplice per gestire meglio alcuni campi. Quello che devi fare è inviare l'argomento del testo e -mail a Smtplib, che ti insegneremo come realizzare nel passaggio seguente. Se l'invio della posta avrà successo, stamperà un messaggio di successo altrimenti, stampare il messaggio di errore dall'istruzione TREST.

Eseguiamo di nuovo il file toccando il pulsante "Esegui" nell'applicazione Spyder. Se il codice ottiene qualche errore o connessione non è possibile ottenere correttamente per collegare il server Gmail, visualizzerà il messaggio di errore "qualcosa è andato storto ..." dall'istruzione tranne come di seguito.

Se il codice ha successo nell'invio di una posta al server Gmail in caso di esecuzione, visualizzerà il messaggio di successo "Email inviata!"Questo è stato utilizzato nella dichiarazione di prova del codice Python sopra. L'output sembrerà qualcosa come presentato nell'immagine qui sotto.

Esempio 03:

Scopriremo cosa fare per inviare una rapida e -mail utilizzando lo script Python in questo tutorial. Python, come lingua dominante, non richiede l'uso di altre biblioteche e include una biblioteca locale per l'invio di e -mail chiamate "SMTP Lib."La funzione" SMTPLIB "produce una semplice entità di sessione del cliente del protocollo di trasferimento di posta che può essere utilizzata per scrivere un'e -mail verso qualsiasi indirizzo e -mail valido sul Web. Varie porte sono state utilizzate da vari siti Web. Durante tutto questo post, invieremo un'e -mail utilizzando un account Gmail. Il numero di porta utilizzato in questo caso è 587. Se si desidera inviare un'e -mail tramite un sito a parte Gmail, devi prima ottenere le credenziali necessarie.

Innanzitutto, il modulo "Smtplib" deve essere caricato. Successivamente, useremo il suo oggetto SMTP per avvolgere una connessione SMTP per stabilire una sessione. Dobbiamo fornire il primo argomento, che sarebbe l'indirizzo del server e l'altro valore, che sarebbe la porta da utilizzare. Il numero di porta 587 viene utilizzato per Gmail. Imposta ora la connessione SMTP nello stato TLS a causa di problemi di sicurezza. Tutte le istruzioni SMTP sono crittografate utilizzando TLS (Sicurezza del livello di trasporto).

Successivamente, è necessario inserire i dettagli di accesso Gmail all'interno del modulo di accesso per la privacy e la sicurezza. Quando si inserisce un indirizzo e -mail o una password errata, il traduttore visualizzerà un errore di identificazione. Salva il messaggio che invierai in una variabile chiamata messaggio. Pubblica il tuo commento con il metodo SendMail (). Tre argomenti vengono utilizzati da SendMail (): mittente, ID e -mail del ricevitore e testo per essere lead. Tutti i valori dovrebbero essere in un ordine simile.

Conclusione:

Oltre ai processi di autorizzazione specifici per Gmail (che includono applicazioni meno sicure, ecc.), questi script ed esempi funzionerebbero con quasi tutti gli altri servizi di posta che forniscono connettività SMTP, purché si disponga dell'indirizzo del server necessario e della porta.