Scrapy - การส่งอีเมล
คำอธิบาย
Scrapy สามารถส่งอีเมลโดยใช้สิ่งอำนวยความสะดวกของตัวเองที่เรียกว่าTwisted non-blocking IOซึ่งอยู่ห่างจากIOที่ไม่ปิดกั้นของโปรแกรมรวบรวมข้อมูล คุณสามารถกำหนดการตั้งค่าบางอย่างในการส่งอีเมลและจัดเตรียม API ง่ายๆสำหรับการส่งไฟล์แนบ
มีสองวิธีในการสร้างอินสแตนซ์ MailSender ดังแสดงในตารางต่อไปนี้ -
ซีเนียร์ No | พารามิเตอร์ | วิธี |
---|---|---|
1 | จาก scrapy.mail นำเข้า MailSender mailer = MailSender () | โดยใช้ตัวสร้างมาตรฐาน. |
2 | mail = MailSender.from_settings (การตั้งค่า) | โดยใช้วัตถุการตั้งค่า Scrapy |
บรรทัดต่อไปนี้ส่งอีเมลโดยไม่มีไฟล์แนบ -
mailer.send(to = ["[email protected]"], subject = "subject data", body = "body data",
cc = ["[email protected]"])
การอ้างอิงคลาส MailSender
คลาส MailSender ใช้Twisted non-blocking IOสำหรับการส่งอีเมลจาก Scrapy
class scrapy.mail.MailSender(smtphost = None, mailfrom = None, smtpuser = None,
smtppass = None, smtpport = None)
ตารางต่อไปนี้แสดงพารามิเตอร์ที่ใช้ในคลาสMailSender -
ซีเนียร์ No | พารามิเตอร์และคำอธิบาย |
---|---|
1 | smtphost (str) โฮสต์ SMTP ใช้สำหรับส่งอีเมล ถ้าไม่เช่นนั้นจะใช้การตั้งค่าMAIL_HOST |
2 | mailfrom (str) ที่อยู่ของผู้รับใช้ในการส่งอีเมล ถ้าไม่เช่นนั้นจะใช้การตั้งค่าMAIL_FROM |
3 | smtpuser ระบุผู้ใช้ SMTP หากไม่ได้ใช้การตั้งค่าMAIL_USERจะถูกใช้และจะไม่มีการตรวจสอบ SMTP หากไม่ได้กล่าวถึง |
4 | smtppass (str) ระบุ SMTP pass สำหรับการตรวจสอบความถูกต้อง |
5 | smtpport (int) ระบุพอร์ต SMTP สำหรับการเชื่อมต่อ |
6 | smtptls (boolean) ดำเนินการโดยใช้ SMTP STARTTLS |
7 | smtpssl (boolean) จัดการโดยใช้การเชื่อมต่อ SSL ที่ปลอดภัย |
สองวิธีต่อไปนี้มีอยู่ในการอ้างอิงคลาส MailSender ตามที่ระบุ วิธีแรก
classmethod from_settings(settings)
มันรวมเข้าด้วยกันโดยใช้วัตถุการตั้งค่า Scrapy ประกอบด้วยพารามิเตอร์ต่อไปนี้ -
settings (scrapy.settings.Settings object) - ถือว่าเป็นผู้รับอีเมล
อีกวิธีหนึ่ง
send(to, subject, body, cc = None, attachs = (), mimetype = 'text/plain', charset = None)
ตารางต่อไปนี้มีพารามิเตอร์ของวิธีการข้างต้น -
ซีเนียร์ No | พารามิเตอร์และคำอธิบาย |
---|---|
1 | to (list) หมายถึงผู้รับอีเมล |
2 | subject (str) ระบุหัวเรื่องของอีเมล |
3 | cc (list) มันหมายถึงรายชื่อผู้รับ |
4 | body (str) หมายถึงข้อมูลเนื้อหาอีเมล |
5 | attachs (iterable) หมายถึงไฟล์แนบของอีเมลประเภทของไฟล์แนบและชื่อของไฟล์แนบ |
6 | mimetype (str) หมายถึงประเภท MIME ของอีเมล |
7 | charset (str) ระบุการเข้ารหัสอักขระที่ใช้สำหรับเนื้อหาอีเมล |
การตั้งค่าเมล
การตั้งค่าต่อไปนี้ช่วยให้มั่นใจได้ว่าโดยไม่ต้องเขียนโค้ดใด ๆ เราสามารถกำหนดค่าอีเมลโดยใช้คลาส MailSender ในโครงการได้
ซีเนียร์ No | การตั้งค่าและคำอธิบาย | ค่าเริ่มต้น |
---|---|---|
1 | MAIL_FROM หมายถึงอีเมลของผู้ส่งสำหรับการส่งอีเมล |
'scrapy @ localhost' |
2 | MAIL_HOST หมายถึงโฮสต์ SMTP ที่ใช้สำหรับส่งอีเมล |
"localhost" |
3 | MAIL_PORT ระบุพอร์ต SMTP ที่จะใช้ในการส่งอีเมล |
25 |
4 | MAIL_USER หมายถึงการตรวจสอบ SMTP จะไม่มีการตรวจสอบความถูกต้องหากตั้งค่านี้เป็นปิดใช้งาน |
ไม่มี |
5 | MAIL_PASS มีรหัสผ่านที่ใช้สำหรับการตรวจสอบ SMTP |
ไม่มี |
6 | MAIL_TLS มีวิธีการอัปเกรดการเชื่อมต่อที่ไม่ปลอดภัยเป็นการเชื่อมต่อที่ปลอดภัยโดยใช้ SSL / TLS |
เท็จ |
7 | MAIL_SSL ดำเนินการเชื่อมต่อโดยใช้การเชื่อมต่อที่เข้ารหัส SSL |
เท็จ |