Saya mengalami masalah dalam memahami cara mengirim email lampiran menggunakan Python. Saya telah berhasil mengirim email pesan sederhana dengan smtplib
. Bisakah seseorang tolong jelaskan bagaimana cara mengirim lampiran dalam email. Saya tahu ada posting lain secara online tetapi sebagai pemula Python saya menemukan mereka sulit dimengerti.
283
Jawaban:
Ini yang lain:
Sama seperti contoh pertama ... Tapi itu seharusnya lebih mudah untuk diterima.
sumber
file
menjadif
.part = MIMEApplication(open(f, 'rb').read())
Ini adalah versi yang dimodifikasi dari
Oli
untuk python 3sumber
import pathlib
denganfrom pathlib import Path
ini kode yang akhirnya saya gunakan:
Kode hampir sama dengan pos Oli. Terima kasih semuanya
Kode berdasarkan dari posting masalah lampiran file Binary email .
sumber
from email.mime.base import MIMEBase
Diadaptasi dari sini .
sumber
smtplib
mendukung. Untuk mengirim lampiran, Anda menyandikannya sebagai pesan MIME dan mengirimkannya dalam email plaintext. Ada modul email python baru, meskipun: docs.python.org/library/email.mime.htmlmsg.as_string()
dan itu terlihat seperti badan email multipart MIME. Wikipedia menjelaskan MIME: en.wikipedia.org/wiki/MIMELine 6, in <module> msg.attach(MIMEText(file("text.txt").read())) NameError: name 'file' is not defined
Cara lain dengan python 3 (Jika seseorang mencari):
Pastikan untuk mengizinkan " aplikasi yang kurang aman " di akun Gmail Anda
sumber
Versi Gmail, bekerja dengan Python 3.6 (perhatikan bahwa Anda perlu mengubah pengaturan Gmail Anda untuk dapat mengirim email melalui smtp dari itu:
Pemakaian:
Untuk digunakan dengan penyedia email lain, cukup ubah konfigurasi smtp.
sumber
Kode paling sederhana yang bisa saya dapatkan adalah:
Itu didasarkan pada dokumentasi resmi Django
sumber
Jawaban lain sangat bagus, walaupun saya masih ingin berbagi pendekatan yang berbeda jika seseorang mencari alternatif.
Perbedaan utama di sini adalah bahwa dengan menggunakan pendekatan ini Anda dapat menggunakan HTML / CSS untuk memformat pesan Anda, sehingga Anda bisa menjadi kreatif dan memberikan gaya pada email Anda. Meskipun Anda tidak dipaksa untuk menggunakan HTML, Anda juga masih dapat menggunakan teks biasa.
Perhatikan bahwa fungsi ini menerima pengiriman email ke banyak penerima dan juga memungkinkan untuk melampirkan banyak file.
Saya hanya mencoba ini di Python 2, tapi saya pikir itu harus berfungsi dengan baik pada 3 juga:
Saya harap ini membantu! :-)
sumber
Untuk penjelasan, Anda dapat menggunakan tautan ini menjelaskan dengan benar https://medium.com/@sdoshi579/to-send-an-email-along-with-attachment-using-smtp-7852e77623
sumber
sumber
Di bawah ini adalah kombinasi dari apa yang saya temukan dari posting SoccerPlayer di sini dan tautan berikut yang membuatnya lebih mudah bagi saya untuk melampirkan file xlsx. Ditemukan di sini
sumber
Dengan kode saya, Anda dapat mengirim lampiran email menggunakan gmail, Anda harus:
setel alamat gmail Anda di " EMAIL SMTP ANDA DI SINI "
setel kata sandi akun gmail Anda di " PASSWORD SMTP ANDA DI SINI "
Di bagian ___EMAIL UNTUK MENERIMA PESAN_ Anda perlu mengatur alamat email tujuan.
Pemberitahuan alarm adalah subjek,
Seseorang telah memasuki ruangan, gambar terlampir adalah tubuh
["/home/pi/webcam.jpg"] adalah lampiran gambar.
sumber
Anda juga dapat menentukan jenis lampiran yang Anda inginkan dalam email Anda, sebagai contoh saya menggunakan pdf:
inspirasi / kredit untuk: http://linuxcursor.com/python-programming/06-how-to-send-pdf-ppt-attachment-with-html-body-in-python-script
sumber