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