Scrapy - Mengirim E-mail
Deskripsi
Scrapy dapat mengirim email menggunakan fasilitasnya sendiri yang disebut sebagai IO non-pemblokiran Twisted yang menjauhkan dari IO non-pemblokiran crawler. Anda dapat mengkonfigurasi beberapa pengaturan pengiriman email dan menyediakan API sederhana untuk mengirim lampiran.
Ada dua cara untuk membuat instance MailSender seperti yang diperlihatkan dalam tabel berikut -
| Sr Tidak | Parameter | metode |
|---|---|---|
| 1 | dari scrapy.mail impor MailSender mailer = MailSender () | Dengan menggunakan konstruktor standar. |
| 2 | mailer = MailSender.from_settings (pengaturan) | Dengan menggunakan objek pengaturan Scrapy. |
Baris berikut mengirimkan email tanpa lampiran -
mailer.send(to = ["[email protected]"], subject = "subject data", body = "body data",
cc = ["[email protected]"])
Referensi Kelas MailSender
Kelas MailSender menggunakan Twisted non-blocking IO untuk mengirim email dari Scrapy.
class scrapy.mail.MailSender(smtphost = None, mailfrom = None, smtpuser = None,
smtppass = None, smtpport = None)
Tabel berikut menunjukkan parameter yang digunakan di kelas MailSender -
| Sr Tidak | Parameter & Deskripsi |
|---|---|
| 1 | smtphost (str) Host SMTP digunakan untuk mengirim email. Jika tidak, maka setelan MAIL_HOST akan digunakan. |
| 2 | mailfrom (str) Alamat penerima digunakan untuk mengirim email. Jika tidak, maka pengaturan MAIL_FROM akan digunakan. |
| 3 | smtpuser Ini menentukan pengguna SMTP. Jika tidak digunakan, maka pengaturan MAIL_USER akan digunakan dan tidak akan ada validasi SMTP jika tidak disebutkan. |
| 4 | smtppass (str) Ini menentukan lulus SMTP untuk validasi. |
| 5 | smtpport (int) Ini menentukan port SMTP untuk koneksi. |
| 6 | smtptls (boolean) Ini mengimplementasikan menggunakan SMTP STARTTLS. |
| 7 | smtpssl (boolean) Ini mengelola menggunakan koneksi SSL yang aman. |
Berikut dua metode yang ada di referensi kelas MailSender seperti yang ditentukan. Metode pertama,
classmethod from_settings(settings)
Ini digabungkan dengan menggunakan objek pengaturan Scrapy. Ini berisi parameter berikut -
settings (scrapy.settings.Settings object) - Ini diperlakukan sebagai penerima email.
Metode lain,
send(to, subject, body, cc = None, attachs = (), mimetype = 'text/plain', charset = None)
Tabel berikut berisi parameter dari metode di atas -
| Sr Tidak | Parameter & Deskripsi |
|---|---|
| 1 | to (list) Ini mengacu pada penerima email. |
| 2 | subject (str) Ini menentukan subjek email. |
| 3 | cc (list) Ini mengacu pada daftar penerima. |
| 4 | body (str) Ini mengacu pada data badan email. |
| 5 | attachs (iterable) Ini mengacu pada lampiran email, mimetype dari lampiran dan nama lampiran. |
| 6 | mimetype (str) Ini mewakili tipe MIME dari email. |
| 7 | charset (str) Ini menentukan pengkodean karakter yang digunakan untuk konten email. |
Pengaturan Mail
Pengaturan berikut memastikan bahwa tanpa menulis kode apa pun, kita dapat mengkonfigurasi email menggunakan kelas MailSender dalam proyek tersebut.
| Sr Tidak | Pengaturan & Deskripsi | Nilai Default |
|---|---|---|
| 1 | MAIL_FROM Ini mengacu pada email pengirim untuk mengirim email. |
'scrapy @ localhost' |
| 2 | MAIL_HOST Ini mengacu pada host SMTP yang digunakan untuk mengirim email. |
'localhost' |
| 3 | MAIL_PORT Ini menentukan port SMTP yang akan digunakan untuk mengirim email. |
25 |
| 4 | MAIL_USER Ini mengacu pada validasi SMTP. Tidak akan ada validasi, jika pengaturan ini disetel ke nonaktif. |
Tidak ada |
| 5 | MAIL_PASS Ini memberikan kata sandi yang digunakan untuk validasi SMTP. |
Tidak ada |
| 6 | MAIL_TLS Ini menyediakan metode untuk meningkatkan koneksi yang tidak aman ke koneksi yang aman menggunakan SSL / TLS. |
Salah |
| 7 | MAIL_SSL Ini mengimplementasikan koneksi menggunakan koneksi terenkripsi SSL. |
Salah |