Acest tutorial va oferi o introducere în SMTP, un modul Python folosit pentru trimiterea de e-mailuri. Acesta va demonstra, de asemenea, modul de trimitere a diferitelor tipuri de e-mail, cum ar fi e-mailuri simple de text, e-mailuri cu atașamente și e-mailuri cu conținut HTML.
Simple Mail Transfer Protocol (SMTP) gestionează trimiterea și rutarea e-mail-urilor între serverele de e-mail.
În Python, smtplib
modul definește un obiect de sesiune de client SMTP care poate fi utilizat pentru a trimite poșta către orice mașină de Internet cu un daemon de ascultător SMTP sau ESMTP.
Iată cum se creează un obiect SMTP.
server smtplib de import = smtplib.SMTP (host = 'host_address', port = your_port)
Următorul script vă va permite să trimiteți un e-mail prin serverul SMTP Gmail. Cu toate acestea, Google nu va permite autentificarea prin intermediul smtplib
deoarece a semnalat acest tip de login ca fiind "mai puțin sigur". Pentru a rezolva acest lucru, accesați https://www.google.com/settings/security/lesssecureapps în timp ce sunteți conectat (ă) la contul dvs. Google și "Permiteți aplicații mai puțin sigure". Vedeți captura de ecran de mai jos.
Vom urma următorii pași pentru a realiza acest proces:
MIMEMultipart
mesaj și atașați anteturile relevante, de exemplu, de la, la, și subiect.MIMEMultipart
obiect.Acest proces este la fel de simplu ca cel prezentat mai jos.
# import pachete necesare de la email.mime.multipart import MIMEMultipart de la email.mime.text import MIMEText imt smtplib # creare mesaj mesaj instanță msg = MIMEMultipart () message = "Multumesc" # setați parametrii parolei mesajului = "parola dvs." msg ['Address '] = "Adresa ta" msg [' To '] =' to_address 'msg [' Subject '] = server server = smtplib.SMTP ('smtp.gmail.com: 587') server.starttls () # Autentificare acreditări pentru trimiterea serverului mail.login (msg ['From'], parola) # trimite mesajul prin server . server.sendmail (msg ['Din'], msg ['To'], msg.as_string ()) server.quit () print "
Rețineți că adresele "To" și "From" trebuie să fie incluse explicit în anteturile mesajelor.
În acest exemplu, vom trimite un e-mail cu un atașament de imagine. Procesul este similar cu trimiterea unui e-mail de text simplu.
MIMEMultipart
mesaj și atașați anteturile relevante, de exemplu, de la, la, și subiect.MIMEMultipart
obiect.# send_attachment.py # importați pachetele necesare de la email.mime.multipart importați MIMEMultipart din email.MIMEImage import MIMEImage de la email.mime.text import MIMEText imt smtplib # crea mesajul de instanță msg = MIMEMultipart () # configura parametrii parolei de mesaj = "poșta" [msg '' '' = 'adresa ta' msg ['To'] = "to_address" msg ['Subject'] = .jpg ") citește ())) # create server server = smtplib.SMTP ('smtp.gmail.com: 587') server.starttls () # Autentificare acreditări pentru trimiterea serverului mail.login (msg ['From' ], parola) # trimite mesajul prin server. server.sendmail (msg ['Din'], msg ['To'], msg.as_string ()) server.quit () print "
MIMEImage
clasa este o subclasă de MIMENonMultipart
care este folosit pentru a crea obiecte de mesaje MIME de tipuri de imagini.Alte clase disponibile includMIMEMessage
și MIMEAudio
.
Primul lucru pe care îl vom face este să creați un șablon de e-mail HTML.
Aici este codul HTML pentru șablon și conține două coloane de tabel fiecare cu o imagine și un conținut de previzualizare. Dacă preferați o soluție pregătită, profesională, luați cele mai bune șabloane de e-mail. Avem o serie de opțiuni receptive cu funcții ușor de personalizat pentru a începe.
Tutsplus E-mail Newsletter
|
Șablonul va arăta în sfârșit astfel:
Mai jos este scriptul pentru trimiterea unui e-mail cu conținut HTML. Conținutul șablonului va fi mesajul nostru de e-mail.
import smtplib import email.message server = smtplib.SMTP ('smtp.gmail.com:587') email_content = "" "Tutsplus E-mail Newsletter
|
Executați codul și, dacă nu apare nici o eroare, e-mailul a avut succes. Acum du-te în căsuța dvs. poștală și ar trebui să vedeți adresa dvs. de e-mail sub formă de conținut HTML frumos formatat.
Acest tutorial a acoperit majoritatea a ceea ce este necesar pentru a trimite e-mailuri pentru aplicația dvs. Există mai multe API-uri disponibile pentru trimiterea de e-mailuri, deci nu trebuie să începeți de la zero, de ex. SendGrid, dar este, de asemenea, important să înțelegeți elementele de bază. Pentru mai multe informații, vizitați documentele Python.
În plus, nu ezitați să vedeți ce avem la dispoziție pentru vânzare și pentru studiul în piața Envato și vă rugăm să puneți întrebările și să oferiți feedback-ul dvs. valoros folosind feed-ul de mai jos.