- Scrapy 教程
- Scrapy - 首頁
- Scrapy 基本概念
- Scrapy - 概述
- Scrapy - 環境
- Scrapy - 命令列工具
- Scrapy - 爬蟲 (Spider)
- Scrapy - 選擇器 (Selector)
- Scrapy - 專案 (Item)
- Scrapy - 專案載入器 (Item Loader)
- Scrapy - Shell
- Scrapy - 專案管道 (Item Pipeline)
- Scrapy - 資料匯出 (Feed exports)
- Scrapy - 請求 & 響應
- Scrapy - 連結提取器 (Link Extractor)
- Scrapy - 設定
- Scrapy - 異常
- Scrapy 實戰專案
- Scrapy - 建立專案
- Scrapy - 定義專案
- Scrapy - 第一個爬蟲
- Scrapy - 爬取
- Scrapy - 提取專案
- Scrapy - 使用專案
- Scrapy - 跟蹤連結
- Scrapy - 抓取資料
- Scrapy 有用資源
- Scrapy - 快速指南
- Scrapy - 有用資源
- Scrapy - 討論
Scrapy - 傳送電子郵件
描述
Scrapy可以使用其自身名為Twisted 非阻塞IO的工具來發送電子郵件,這避免了爬蟲的非阻塞IO。您可以配置傳送電子郵件的少量設定,並提供傳送附件的簡單API。
如以下表格所示,有兩種方法可以例項化MailSender:
| 序號 | 引數 | 方法 |
|---|---|---|
| 1 | from scrapy.mail import MailSender mailer = MailSender() |
使用標準建構函式。 |
| 2 | mailer = MailSender.from_settings(settings) |
使用Scrapy設定物件。 |
以下程式碼行傳送一封不帶附件的電子郵件:
mailer.send(to = ["receiver@example.com"], subject = "subject data", body = "body data", cc = ["list@example.com"])
MailSender 類參考
MailSender類使用Twisted 非阻塞IO從Scrapy傳送電子郵件。
class scrapy.mail.MailSender(smtphost = None, mailfrom = None, smtpuser = None, smtppass = None, smtpport = None)
下表顯示了MailSender類中使用的引數:
| 序號 | 引數 & 描述 |
|---|---|
| 1 |
用於傳送電子郵件的SMTP主機。如果未指定,則使用MAIL_HOST設定。 |
| 2 |
用於傳送電子郵件的傳送方地址。如果未指定,則使用MAIL_FROM設定。 |
| 3 |
指定SMTP使用者。如果未指定,則使用MAIL_USER設定,如果沒有提到則不會進行SMTP驗證。 |
| 4 |
指定用於驗證的SMTP密碼。 |
| 5 |
指定用於連線的SMTP埠。 |
| 6 |
實現使用SMTP STARTTLS。 |
| 7 |
使用安全的SSL連線。 |
MailSender類參考中指定了以下兩種方法。第一種方法:
classmethod from_settings(settings)
它透過使用Scrapy設定物件來整合。它包含以下引數:
settings (scrapy.settings.Settings object) - 被視為電子郵件接收者。
另一種方法:
send(to, subject, body, cc = None, attachs = (), mimetype = 'text/plain', charset = None)
下表包含上述方法的引數:
| 序號 | 引數 & 描述 |
|---|---|
| 1 |
指電子郵件接收者。 |
| 2 |
指定電子郵件的主題。 |
| 3 |
指接收者列表。 |
| 4 |
指電子郵件正文資料。 |
| 5 |
指電子郵件的附件、附件的MIME型別和附件的名稱。 |
| 6 |
表示電子郵件的MIME型別。 |
| 7 |
指定用於電子郵件內容的字元編碼。 |
郵件設定
以下設定確保無需編寫任何程式碼即可在專案中使用MailSender類配置電子郵件。
| 序號 | 設定 & 描述 | 預設值 |
|---|---|---|
| 1 |
指用於傳送電子郵件的傳送方郵箱。 |
'scrapy@localhost' |
| 2 |
指用於傳送電子郵件的SMTP主機。 |
'localhost' |
| 3 |
指定用於傳送電子郵件的SMTP埠。 |
25 |
| 4 |
指SMTP驗證。如果此設定設定為停用,則不會進行驗證。 |
None |
| 5 |
提供用於SMTP驗證的密碼。 |
None |
| 6 |
提供使用SSL/TLS將不安全連線升級到安全連線的方法。 |
False |
| 7 |
實現使用SSL加密連線。 |
False |