Simple Mail Transfer Protocol (SMTP) viene utilizzato come protocollo per gestire il trasferimento di posta elettronica utilizzando Python. Viene utilizzato per instradare le e-mail tra i server di posta elettronica. È un protocollo a livello di applicazione che consente agli utenti di inviare posta a un altro. Il destinatario recupera la posta elettronica utilizzando i protocolli POP (protocollo postale) E IMAP (protocollo di accesso ai messaggi Internet) .
rinominare una directory linux
Quando il server ascolta la connessione TCP da un client, avvia una connessione sulla porta 587.
Python fornisce a smtplib modulo, che definisce un oggetto di sessione client SMTP utilizzato per inviare e-mail a una macchina Internet. A questo scopo dobbiamo importare il file smtplib modulo utilizzando l'istruzione import.
$ import smtplib
L'oggetto SMTP viene utilizzato per il trasferimento di posta elettronica. La seguente sintassi viene utilizzata per creare l'oggetto smtplib.
import smtplib smtpObj = smtplib.SMTP(host, port, local_hostname)
Accetta i seguenti parametri.
Il metodo sendmail() dell'oggetto SMTP viene utilizzato per inviare la posta alla macchina desiderata. La sintassi è riportata di seguito.
list per array java
smtpObj.sendmail(sender, receiver, message)
Esempio
#!/usr/bin/python3 import smtplib sender_mail = '[email protected]' receivers_mail = ['[email protected]'] message = '''From: From Person %s To: To Person %s Subject: Sending SMTP e-mail This is a test e-mail message. '''%(sender_mail,receivers_mail) try: smtpObj = smtplib.SMTP('localhost') smtpObj.sendmail(sender_mail, receivers_mail, message) print('Successfully sent email') except Exception: print('Error: unable to send email')
Invio di email da Gmail
Ci sono casi in cui le email vengono inviate utilizzando il server SMTP di Gmail. In questo caso possiamo passare Gmail come server SMTP invece di utilizzare il localhost con la porta 587.
Utilizzare la seguente sintassi.
buona fortuna
$ smtpObj = smtplib.SMTP('gmail.com', 587)
Qui, dobbiamo accedere all'account Gmail utilizzando il nome utente e la password Gmail. A questo scopo smtplib fornisce il metodo login(), che accetta il nome utente e la password del mittente.
Ciò potrebbe far sì che Gmail ti chieda l'accesso ad app meno sicure se utilizzi Gmail. Sarà necessario attivarlo temporaneamente affinché funzioni.
Considera il seguente esempio.
Esempio
#!/usr/bin/python3 import smtplib sender_mail = '[email protected]' receivers_mail = ['[email protected]'] message = '''From: From Person %s To: To Person %s Subject: Sending SMTP e-mail This is a test e-mail message. '''%(sender_mail,receivers_mail) try: password = input('Enter the password'); smtpObj = smtplib.SMTP('gmail.com',587) smtpobj.login(sender_mail,password) smtpObj.sendmail(sender_mail, receivers_mail, message) print('Successfully sent email') except Exception: print('Error: unable to send email')
Invio di codice HTML tramite posta elettronica
Possiamo formattare l'HTML nel messaggio specificando la versione MIME, il tipo di contenuto e il set di caratteri per inviare l'HTML.
Considera il seguente esempio.
terminale kali linux
Esempio
#!/usr/bin/python3 import smtplib sender_mail = '[email protected]' receivers_mail = ['[email protected]'] message = '''From: From Person %s To: To Person %s MIME-Version:1.0 Content-type:text/html Subject: Sending SMTP e-mail <h3>Python SMTP</h3> <strong>This is a test e-mail message.</strong> '''%(sender_mail,receivers_mail) try: smtpObj = smtplib.SMTP('localhost') smtpObj.sendmail(sender_mail, receivers_mail, message) print('Successfully sent email') except Exception: print('Error: unable to send email')