Python
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 smtplib smtpObj = smtplib.SMTP( [host [, port [, local_hostname]]] )
Berikut adalah detail dari parameter
tuan rumah Ini adalah host yang menjalankan server SMTP Anda. Anda dapat menentukan alamat IP dari host atau nama domain seperti tutorialspoint.com. Ini adalah argumen opsional.
pelabuhan Jika Anda menyediakan host argumen, maka Anda perlu menentukan port, di mana server SMTP mendengarkan. Biasanya port ini adalah 25.
namahost_lokal Jika server SMTP Anda berjalan pada mesin lokal Anda, maka Anda dapat menentukan localhost saja pada opsi ini.
Objek SMTP memiliki metode instance yang disebut sendmail , yang biasanya digunakan untuk melakukan pekerjaan pengiriman pesan. Dibutuhkan tiga parameter
Pengirim String dengan alamat pengirim.
Penerima Daftar string, satu untuk setiap penerima.
Pesan Pesan sebagai string yang diformat seperti yang ditentukan dalam berbagai RFC.
Berikut adalah cara sederhana untuk mengirim satu email menggunakan skrip Python. Cobalah sekali
#!/usr/bin/python import smtplib sender = 'from@fromdomain.com' receivers = ['to@todomain.com'] message = """From: From Person <from@fromdomain.com> To: To Person <to@todomain.com> Subject: SMTP e-mail test This is a test e-mail message. """ try: smtpObj = smtplib.SMTP('localhost') smtpObj.sendmail(sender, receivers, message) print "Successfully sent email" except SMTPException: print "Error: unable to send email"
Di sini, Anda telah menempatkan email dasar dalam pesan, menggunakan kutipan rangkap tiga, berhati-hati untuk 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 di 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 memberikan detail server email keluar yang dapat Anda berikan kepada mereka, sebagai berikut −
smtplib.SMTP('mail.your-domain.com', 25)
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 sesuai dengan 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.
Berikut adalah contoh untuk mengirim konten HTML sebagai email. Cobalah sekali
#!/usr/bin/python import smtplib message = """From: From Person <from@fromdomain.com> To: To Person <to@todomain.com> MIME-Version: 1.0 Content-type: text/html Subject: SMTP HTML e-mail test This is an e-mail message to be sent in HTML format <b>This is HTML message.</b> <h1>This is headline.</h1> """ try: smtpObj = smtplib.SMTP('localhost') smtpObj.sendmail(sender, receivers, message) print "Successfully sent email" except SMTPException: print "Error: unable to send 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.
Berikut adalah contoh yang mengirimkan file /tmp/test.txt sebagai lampiran. Cobalah sekali
#!/usr/bin/python import smtplib import base64 filename = "/tmp/test.txt" # Read a file and encode it into base64 format fo = open(filename, "rb") filecontent = fo.read() encodedcontent = base64.b64encode(filecontent) # base64 sender = 'webmaster@tutorialpoint.com' reciever = 'amrood.admin@gmail.com' marker = "AUNIQUEMARKER" body =""" This is a test email to send an attachement. """ # Define the main headers. part1 = """From: From Person <me@fromdomain.net> To: To Person <amrood.admin@gmail.com> Subject: Sending Attachement MIME-Version: 1.0 Content-Type: multipart/mixed; boundary=%s --%s """ % (marker, marker) # Define the message action part2 = """Content-Type: text/plain Content-Transfer-Encoding:8bit %s --%s """ % (body,marker) # Define the attachment section part3 = """Content-Type: multipart/mixed; name=\"%s\" Content-Transfer-Encoding:base64 Content-Disposition: attachment; filename=%s %s --%s-- """ %(filename, filename, encodedcontent, marker) message = part1 + part2 + part3 try: smtpObj = smtplib.SMTP('localhost') smtpObj.sendmail(sender, reciever, message) print "Successfully sent email" except Exception: print "Error: unable to send email"
Python
Abstrak CdSSe nanobelts (NBs) disintesis dengan penguapan termal dan kemudian dikarakterisasi dengan pemindaian mikroskop elektron (SEM), difraksi sinar-X (XRD), mikroskop elektron transmisi (TEM), mikroskop elektron resolusi tinggi (HRTEM), spektroskopi fotoelektron sinar-X (XPS), photoluminescenc
– Kit perakitan mandiri DIY – Volume cetak XL 1200 x 600 x 660 mm – Duet 2 Wifi, pengontrol 32Bit yang dikembangkan oleh Duet3D – Reprap Firmware dikembangkan dan didukung oleh Duet3D – Layar sentuh 7 inci yang dibuat oleh Duet3D – E3D Titan Aero extruder dengan E3D Volcano hotend – Sistem gerakan l
Abstrak Meskipun perkembangan signifikan telah dibuat dalam pemantauan formaldehida konsentrasi rendah di udara dalam ruangan dengan menggunakan sensor gas, mereka masih mengalami kinerja yang tidak memadai untuk mencapai deteksi tingkat ppb. Dalam karya ini, kawat nano Si (SiNWs) berorientasi de
Penjembatanan PETG semakin populer dalam pencetakan 3D tetapi bukan tanpa tantangan yang terkadang membuat pencetakan menjadi berantakan. Masalah menjembatani yang paling umum di PETG adalah deformasi jembatan dengan melorot dari bawah, menciptakan loop yang tidak diinginkan. Apa yang Menjembatan
Latar Belakang Meskipun ski adalah olahraga populer saat ini, ski pertama digunakan sebagai sarana transportasi yang cepat dan efisien daripada untuk rekreasi. Diyakini bahwa ski berasal dari negara-negara Skandinavia sekitar 5.000 tahun yang lalu. Penduduk awal Swedia, Norwegia, dan Finlandia mun
Tarikan pegangan biasanya digunakan pada lemari, laci, kendaraan, peralatan dan produk lainnya. Seperti namanya, mereka memungkinkan Anda untuk membuka produk yang digunakannya. Namun, tidak semua pegangan tarik memiliki desain yang sama. Ada pegangan tarik tersembunyi yang dibedakan dari semua pega