Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Python

Python - Mengirim Email menggunakan SMTP

Halaman SebelumnyaHalaman Berikutnya

Simple Mail Transfer Protocol (SMTP) adalah protokol, yang menangani pengiriman email dan perutean email antar server email.

Python menyediakan smtplib modul, yang mendefinisikan objek sesi klien SMTP yang dapat digunakan untuk mengirim email ke mesin Internet mana pun dengan daemon pendengar SMTP atau ESMTP.

Berikut adalah sintaks sederhana untuk membuat satu objek SMTP, yang nantinya dapat digunakan untuk mengirim email −

import smtplibsmtpObj =smtplib.SMTP( [host [, port [, local_hostname]]] )

Berikut adalah detail dari parameter

Objek SMTP memiliki metode instance yang disebut sendmail , yang biasanya digunakan untuk melakukan pekerjaan pengiriman pesan. Dibutuhkan tiga parameter

Contoh

Berikut adalah cara sederhana untuk mengirim satu email menggunakan skrip Python. Cobalah sekali

#!/usr/bin/pythonimport smtplibsender ='from@fromdomain.com'receivers =['to@todomain.com']message ="""Dari:Dari Orang Kepada:Kepada Orang Subjek:Tes email SMTPIni adalah pesan email percobaan."""coba:smtpObj =smtplib.SMTP('localhost') smtpObj.sendmail(pengirim, penerima, pesan) print "Email berhasil terkirim"kecuali SMTPException:print "Error:tidak dapat mengirim email"

Di sini, Anda telah menempatkan email dasar dalam pesan, menggunakan kutipan rangkap tiga, berhati-hati dalam memformat header dengan benar. Sebuah email memerlukan Dari , Kepada , dan Subjek header, dipisahkan dari badan email dengan baris kosong.

Untuk mengirim email, Anda menggunakan smtpObj untuk terhubung ke server SMTP pada mesin lokal dan kemudian gunakan sendmail metode bersama dengan pesan, alamat dari, dan alamat tujuan sebagai parameter (meskipun dari dan ke alamat berada di dalam email itu sendiri, ini tidak selalu digunakan untuk merutekan email).

Jika Anda tidak menjalankan server SMTP pada mesin lokal Anda, Anda dapat menggunakan smtplib klien untuk berkomunikasi dengan server SMTP jarak jauh. Kecuali jika Anda menggunakan layanan webmail (seperti Hotmail atau Yahoo! Mail), penyedia email Anda harus telah memberi Anda rincian server email keluar yang dapat Anda berikan kepada mereka, sebagai berikut −

smtplib.SMTP('mail.domain-anda.com', 25)

Mengirim email HTML menggunakan Python

Saat Anda mengirim pesan teks menggunakan Python, maka semua konten diperlakukan sebagai teks sederhana. Bahkan jika Anda menyertakan tag HTML dalam pesan teks, itu akan ditampilkan sebagai teks sederhana dan tag HTML tidak akan diformat menurut sintaks HTML. Tetapi Python menyediakan opsi untuk mengirim pesan HTML sebagai pesan HTML yang sebenarnya.

Saat mengirim pesan email, Anda dapat menentukan versi Mime, tipe konten, dan set karakter untuk mengirim email HTML.

Contoh

Berikut adalah contoh untuk mengirim konten HTML sebagai email. Cobalah sekali

#!/usr/bin/pythonimport smtplibmessage ="""Dari:Dari Orang Ke:Ke Orang Versi MIME:1.0Content -type:text/htmlSubject:SMTP HTML e-mail testIni adalah pesan email yang akan dikirim dalam format HTMLIni adalah pesan HTML.

Ini adalah headline.

"" "coba:smtpObj =smtplib.SMTP('localhost') smtpObj.sendmail(sender, receivers, message) print "Email berhasil terkirim"kecuali SMTPException:print "Error:tidak dapat mengirim email"

Mengirim Lampiran sebagai Email

Untuk mengirim email dengan konten campuran perlu mengatur Content-type tajuk ke multibagian/campuran . Kemudian, bagian teks dan lampiran dapat ditentukan dalam batas .

Batas dimulai dengan dua tanda hubung diikuti dengan nomor unik, yang tidak dapat muncul di bagian pesan email. Batas akhir yang menunjukkan bagian akhir email juga harus diakhiri dengan dua tanda hubung.

File terlampir harus dikodekan dengan pack("m") berfungsi untuk memiliki pengkodean base64 sebelum transmisi.

Contoh

Berikut adalah contoh yang mengirimkan file /tmp/test.txt sebagai lampiran. Cobalah sekali

#!/usr/bin/pythonimport smtplibimport base64filename ="/tmp/test.txt"# Membaca file dan mengkodekannya ke format base64fo =open(filename, "rb")filecontent =fo .read()encodedcontent =base64.b64encode(filecontent) # base64sender ='webmaster@tutorialpoint.com'reciever ='amrood.admin@gmail.com'marker ="AUNIQUEMARKER"body ="""Ini adalah email percobaan untuk dikirim an attachment."""# Tentukan header utama.part1 ="""Dari:Dari Orang Ke:Ke Orang Subjek:Mengirim AttachementMIME-Version:1.0Content -Tipe:multipart/campuran; batas=%s--%s""" % (penanda, penanda)# Tentukan pesan actionpart2 ="""Jenis Konten:teks/plainContent-Transfer-Encoding:8bit%s-- %s""" % (body,marker)# Tentukan bagian lampiranpart3 ="""Jenis Konten:multibagian/campuran; name=\"%s\"Content-Transfer-Encoding:base64Content-Disposition:lampiran; namafile=%s%s--%s--""" %(nama file, nama file, konten yang disandikan, penanda)pesan =part1 + part2 + part3t ry:smtpObj =smtplib.SMTP('localhost') smtpObj.sendmail(sender, reciever, message) print "Email berhasil terkirim"kecuali Pengecualian:print "Error:tidak dapat mengirim email"

Python

  1. Python vs Go:Apa Bedanya?
  2. Matriks Python:Transpose, Perkalian, Contoh Array NumPy
  3. Python - Kamus
  4. Konversi Jenis Python dan Pengecoran Jenis
  5. Enumerate() Fungsi di Python:Loop, Tuple, String (Contoh)
  6. Pernyataan Bersyarat Python:IF…Else, ELIF &Switch Case