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

เท็จ