Scrapy - Invio di un'e-mail
Descrizione
Scrapy può inviare e-mail utilizzando la propria funzione chiamata Twisted non-blocking IO che tiene lontano dall'IO non bloccante del crawler. È possibile configurare le poche impostazioni di invio di e-mail e fornire semplici API per l'invio di allegati.
Esistono due modi per creare un'istanza di MailSender come mostrato nella tabella seguente:
Suor n | Parametri | Metodo |
---|---|---|
1 | da scrapy.mail importa MailSender mailer = MailSender () | Utilizzando un costruttore standard. |
2 | mailer = MailSender.from_settings (impostazioni) | Utilizzando l'oggetto impostazioni Scrapy. |
La riga seguente invia un'e-mail senza allegati -
mailer.send(to = ["[email protected]"], subject = "subject data", body = "body data",
cc = ["[email protected]"])
Riferimento alla classe MailSender
La classe MailSender utilizza IO non bloccante Twisted per l'invio di e-mail da Scrapy.
class scrapy.mail.MailSender(smtphost = None, mailfrom = None, smtpuser = None,
smtppass = None, smtpport = None)
La tabella seguente mostra i parametri utilizzati nella classe MailSender -
Suor n | Parametro e descrizione |
---|---|
1 | smtphost (str) L'host SMTP viene utilizzato per inviare le e-mail. In caso contrario, verrà utilizzata l'impostazione MAIL_HOST . |
2 | mailfrom (str) L'indirizzo del destinatario viene utilizzato per inviare le e-mail. In caso contrario, verrà utilizzata l'impostazione MAIL_FROM . |
3 | smtpuser Specifica l'utente SMTP. Se non viene utilizzata, verrà utilizzata l'impostazione MAIL_USER e non ci sarà convalida SMTP se non viene menzionata. |
4 | smtppass (str) Specifica il passaggio SMTP per la convalida. |
5 | smtpport (int) Specifica la porta SMTP per la connessione. |
6 | smtptls (boolean) Si implementa utilizzando SMTP STARTTLS. |
7 | smtpssl (boolean) Si gestisce utilizzando una connessione SSL sicura. |
I seguenti due metodi sono presenti nel riferimento alla classe MailSender come specificato. Primo metodo,
classmethod from_settings(settings)
Incorpora utilizzando l'oggetto Impostazioni Scrapy. Contiene il seguente parametro:
settings (scrapy.settings.Settings object) - Viene considerato come un destinatario di posta elettronica.
Un altro metodo,
send(to, subject, body, cc = None, attachs = (), mimetype = 'text/plain', charset = None)
La tabella seguente contiene i parametri del metodo precedente:
Suor n | Parametro e descrizione |
---|---|
1 | to (list) Si riferisce al destinatario dell'e-mail. |
2 | subject (str) Specifica l'oggetto dell'email. |
3 | cc (list) Si riferisce all'elenco dei ricevitori. |
4 | body (str) Si riferisce ai dati del corpo dell'email. |
5 | attachs (iterable) Si riferisce all'allegato dell'e-mail, al tipo MIME dell'allegato e al nome dell'allegato. |
6 | mimetype (str) Rappresenta il tipo MIME dell'e-mail. |
7 | charset (str) Specifica la codifica dei caratteri utilizzata per i contenuti delle e-mail. |
Impostazioni della posta
Le seguenti impostazioni assicurano che senza scrivere alcun codice, possiamo configurare un'e-mail utilizzando la classe MailSender nel progetto.
Suor n | Impostazioni e descrizione | Valore predefinito |
---|---|---|
1 | MAIL_FROM Si riferisce all'e-mail del mittente per l'invio di e-mail. |
"scrapy @ localhost" |
2 | MAIL_HOST Si riferisce all'host SMTP utilizzato per l'invio di e-mail. |
"localhost" |
3 | MAIL_PORT Specifica la porta SMTP da utilizzare per l'invio di e-mail. |
25 |
4 | MAIL_USER Si riferisce alla convalida SMTP. Non ci sarà alcuna convalida, se questa impostazione è disabilitata. |
Nessuna |
5 | MAIL_PASS Fornisce la password utilizzata per la convalida SMTP. |
Nessuna |
6 | MAIL_TLS Fornisce il metodo per aggiornare una connessione non sicura a una connessione protetta utilizzando SSL / TLS. |
Falso |
7 | MAIL_SSL Implementa la connessione utilizzando una connessione crittografata SSL. |
Falso |