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 |