Scrapy: envío de un correo electrónico
Descripción
Scrapy puede enviar correos electrónicos utilizando su propia función denominada E / S sin bloqueo Twisted, que evita la E / S sin bloqueo del rastreador. Puede configurar los pocos ajustes para enviar correos electrónicos y proporcionar una API simple para enviar archivos adjuntos.
Hay dos formas de crear una instancia de MailSender, como se muestra en la siguiente tabla:
No Señor | Parámetros | Método |
---|---|---|
1 | desde scrapy.mail importar MailSender mailer = MailSender () | Utilizando un constructor estándar. |
2 | mailer = MailSender.from_settings (configuración) | Utilizando el objeto de configuración de Scrapy. |
La siguiente línea envía un correo electrónico sin archivos adjuntos:
mailer.send(to = ["[email protected]"], subject = "subject data", body = "body data",
cc = ["[email protected]"])
Referencia de clase de MailSender
La clase MailSender utiliza E / S sin bloqueo Twisted para enviar correos electrónicos desde Scrapy.
class scrapy.mail.MailSender(smtphost = None, mailfrom = None, smtpuser = None,
smtppass = None, smtpport = None)
La siguiente tabla muestra los parámetros utilizados en la clase MailSender :
No Señor | Descripción de parámetros |
---|---|
1 | smtphost (str) El host SMTP se utiliza para enviar los correos electrónicos. De lo contrario, se utilizará la configuración MAIL_HOST . |
2 | mailfrom (str) La dirección del destinatario se utiliza para enviar los correos electrónicos. De lo contrario, se utilizará la configuración MAIL_FROM . |
3 | smtpuser Especifica el usuario SMTP. Si no se usa, entonces se usará la configuración MAIL_USER y no habrá validación SMTP si no se menciona. |
4 | smtppass (str) Especifica el paso SMTP para validación. |
5 | smtpport (int) Especifica el puerto SMTP para la conexión. |
6 | smtptls (boolean) Se implementa utilizando SMTP STARTTLS. |
7 | smtpssl (boolean) Se administra mediante una conexión SSL segura. |
Los siguientes dos métodos están en la referencia de la clase MailSender como se especifica. Primer método,
classmethod from_settings(settings)
Se incorpora mediante el uso del objeto de configuración Scrapy. Contiene el siguiente parámetro:
settings (scrapy.settings.Settings object) - Se trata como receptor de correo electrónico.
Otro método,
send(to, subject, body, cc = None, attachs = (), mimetype = 'text/plain', charset = None)
La siguiente tabla contiene los parámetros del método anterior:
No Señor | Descripción de parámetros |
---|---|
1 | to (list) Se refiere al destinatario del correo electrónico. |
2 | subject (str) Especifica el asunto del correo electrónico. |
3 | cc (list) Se refiere a la lista de receptores. |
4 | body (str) Se refiere a los datos del cuerpo del correo electrónico. |
5 | attachs (iterable) Se refiere al archivo adjunto del correo electrónico, el tipo mime del archivo adjunto y el nombre del archivo adjunto. |
6 | mimetype (str) Representa el tipo MIME del correo electrónico. |
7 | charset (str) Especifica la codificación de caracteres utilizada para el contenido del correo electrónico. |
Configuración de correo
Las siguientes configuraciones aseguran que sin escribir ningún código, podemos configurar un correo electrónico usando la clase MailSender en el proyecto.
No Señor | Configuración y descripción | Valor por defecto |
---|---|---|
1 | MAIL_FROM Se refiere al correo electrónico del remitente para enviar correos electrónicos. |
'scrapy @ localhost' |
2 | MAIL_HOST Se refiere al host SMTP utilizado para enviar correos electrónicos. |
'localhost' |
3 | MAIL_PORT Especifica el puerto SMTP que se utilizará para enviar correos electrónicos. |
25 |
4 | MAIL_USER Se refiere a la validación SMTP. No habrá validación si esta configuración está desactivada. |
Ninguna |
5 | MAIL_PASS Proporciona la contraseña utilizada para la validación de SMTP. |
Ninguna |
6 | MAIL_TLS Proporciona el método de actualizar una conexión insegura a una conexión segura mediante SSL / TLS. |
Falso |
7 | MAIL_SSL Implementa la conexión mediante una conexión encriptada SSL. |
Falso |