Scrapy - Senden einer E-Mail
Beschreibung
Scrapy kann E-Mails über seine eigene Funktion senden, die als Twisted Non-Blocking IO bezeichnet wird und sich von nicht blockierenden IO des Crawlers fernhält. Sie können die wenigen Einstellungen für das Senden von E-Mails konfigurieren und eine einfache API zum Senden von Anhängen bereitstellen.
Es gibt zwei Möglichkeiten, den MailSender zu instanziieren, wie in der folgenden Tabelle gezeigt:
Sr.Nr. | Parameter | Methode |
---|---|---|
1 | aus Scrapy.mail importieren MailSender mailer = MailSender () | Mit einem Standardkonstruktor. |
2 | mailer = MailSender.from_settings (Einstellungen) | Durch Verwendung des Scrapy-Einstellungsobjekts. |
Die folgende Zeile sendet eine E-Mail ohne Anhänge -
mailer.send(to = ["[email protected]"], subject = "subject data", body = "body data",
cc = ["[email protected]"])
MailSender-Klassenreferenz
Die MailSender-Klasse verwendet Twisted Non-Blocking IO zum Senden von E-Mails von Scrapy.
class scrapy.mail.MailSender(smtphost = None, mailfrom = None, smtpuser = None,
smtppass = None, smtpport = None)
Die folgende Tabelle zeigt die in der MailSender- Klasse verwendeten Parameter -
Sr.Nr. | Parameter & Beschreibung |
---|---|
1 | smtphost (str) Der SMTP-Host wird zum Senden der E-Mails verwendet. Wenn nicht, wird die Einstellung MAIL_HOST verwendet. |
2 | mailfrom (str) Die Adresse des Empfängers wird zum Senden der E-Mails verwendet. Wenn nicht, wird die Einstellung MAIL_FROM verwendet. |
3 | smtpuser Es gibt den SMTP-Benutzer an. Wenn es nicht verwendet wird, wird die Einstellung MAIL_USER verwendet und es findet keine SMTP-Validierung statt, wenn dies nicht erwähnt wird. |
4 | smtppass (str) Es gibt den SMTP-Pass für die Validierung an. |
5 | smtpport (int) Es gibt den SMTP-Port für die Verbindung an. |
6 | smtptls (boolean) Es implementiert die Verwendung von SMTP STARTTLS. |
7 | smtpssl (boolean) Es wird über eine sichere SSL-Verbindung verwaltet. |
Die folgenden zwei Methoden sind in der angegebenen MailSender-Klassenreferenz enthalten. Erste Methode,
classmethod from_settings(settings)
Es wird mithilfe des Scrapy-Einstellungsobjekts integriert. Es enthält den folgenden Parameter -
settings (scrapy.settings.Settings object) - Es wird als E-Mail-Empfänger behandelt.
Eine andere Methode,
send(to, subject, body, cc = None, attachs = (), mimetype = 'text/plain', charset = None)
Die folgende Tabelle enthält die Parameter der obigen Methode -
Sr.Nr. | Parameter & Beschreibung |
---|---|
1 | to (list) Es bezieht sich auf den E-Mail-Empfänger. |
2 | subject (str) Es gibt den Betreff der E-Mail an. |
3 | cc (list) Es bezieht sich auf die Liste der Empfänger. |
4 | body (str) Es bezieht sich auf E-Mail-Körperdaten. |
5 | attachs (iterable) Es bezieht sich auf den Anhang der E-Mail, den Mimetyp des Anhangs und den Namen des Anhangs. |
6 | mimetype (str) Es repräsentiert den MIME-Typ der E-Mail. |
7 | charset (str) Es gibt die Zeichenkodierung an, die für E-Mail-Inhalte verwendet wird. |
Mail-Einstellungen
Die folgenden Einstellungen stellen sicher, dass wir ohne Schreiben von Code eine E-Mail mithilfe der MailSender-Klasse im Projekt konfigurieren können.
Sr.Nr. | Einstellungen & Beschreibung | Standardwert |
---|---|---|
1 | MAIL_FROM Es bezieht sich auf Absender-E-Mails zum Senden von E-Mails. |
'Scrapy @ Localhost' |
2 | MAIL_HOST Es bezieht sich auf den SMTP-Host, der zum Senden von E-Mails verwendet wird. |
'localhost' |
3 | MAIL_PORT Es gibt den SMTP-Port an, der zum Senden von E-Mails verwendet werden soll. |
25 |
4 | MAIL_USER Es bezieht sich auf die SMTP-Validierung. Es erfolgt keine Validierung, wenn diese Einstellung deaktiviert ist. |
Keiner |
5 | MAIL_PASS Es enthält das Kennwort für die SMTP-Validierung. |
Keiner |
6 | MAIL_TLS Es bietet die Möglichkeit, eine unsichere Verbindung mithilfe von SSL / TLS auf eine sichere Verbindung zu aktualisieren. |
Falsch |
7 | MAIL_SSL Es implementiert die Verbindung über eine SSL-verschlüsselte Verbindung. |
Falsch |