Scrapy - Envoi d'un e-mail
La description
Scrapy peut envoyer des e-mails en utilisant sa propre fonction appelée E / S non bloquante Twisted qui évite les E / S non bloquantes du robot d'exploration. Vous pouvez configurer les quelques paramètres d'envoi d'e-mails et fournir une API simple pour l'envoi de pièces jointes.
Il existe deux façons d'instancier le MailSender, comme indiqué dans le tableau suivant -
Sr.Non | Paramètres | Méthode |
---|---|---|
1 | à partir de scrapy.mail import MailSender mailer = MailSender () | En utilisant un constructeur standard. |
2 | mailer = MailSender.from_settings (paramètres) | En utilisant l'objet de paramètres Scrapy. |
La ligne suivante envoie un e-mail sans pièces jointes -
mailer.send(to = ["[email protected]"], subject = "subject data", body = "body data",
cc = ["[email protected]"])
Référence de classe MailSender
La classe MailSender utilise des E / S non bloquantes Twisted pour envoyer des e-mails depuis Scrapy.
class scrapy.mail.MailSender(smtphost = None, mailfrom = None, smtpuser = None,
smtppass = None, smtpport = None)
Le tableau suivant montre les paramètres utilisés dans la classe MailSender -
Sr.Non | Paramètre et description |
---|---|
1 | smtphost (str) L'hôte SMTP est utilisé pour l'envoi des e-mails. Sinon, le paramètre MAIL_HOST sera utilisé. |
2 | mailfrom (str) L'adresse du destinataire est utilisée pour envoyer les e-mails. Sinon, le paramètre MAIL_FROM sera utilisé. |
3 | smtpuser Il spécifie l'utilisateur SMTP. S'il n'est pas utilisé, le paramètre MAIL_USER sera utilisé et il n'y aura pas de validation SMTP s'il n'est pas mentionné. |
4 | smtppass (str) Il spécifie la passe SMTP pour la validation. |
5 | smtpport (int) Il spécifie le port SMTP pour la connexion. |
6 | smtptls (boolean) Il implémente en utilisant le SMTP STARTTLS. |
sept | smtpssl (boolean) Il administre en utilisant une connexion SSL sécurisée. |
Les deux méthodes suivantes sont présentes dans la référence de classe MailSender comme spécifié. Première méthode,
classmethod from_settings(settings)
Il incorpore en utilisant l'objet de paramètres Scrapy. Il contient le paramètre suivant -
settings (scrapy.settings.Settings object) - Il est traité comme un destinataire de courrier électronique.
Une autre méthode,
send(to, subject, body, cc = None, attachs = (), mimetype = 'text/plain', charset = None)
Le tableau suivant contient les paramètres de la méthode ci-dessus -
Sr.Non | Paramètre et description |
---|---|
1 | to (list) Il fait référence au destinataire de l'e-mail. |
2 | subject (str) Il précise l'objet de l'e-mail. |
3 | cc (list) Il fait référence à la liste des destinataires. |
4 | body (str) Il fait référence aux données du corps de l'e-mail. |
5 | attachs (iterable) Il fait référence à la pièce jointe de l'e-mail, au type MIME de la pièce jointe et au nom de la pièce jointe. |
6 | mimetype (str) Il représente le type MIME de l'e-mail. |
sept | charset (str) Il spécifie le codage de caractères utilisé pour le contenu des e-mails. |
Paramètres de messagerie
Les paramètres suivants garantissent que sans écrire de code, nous pouvons configurer un e-mail à l'aide de la classe MailSender dans le projet.
Sr.Non | Paramètres et description | Valeur par défaut |
---|---|---|
1 | MAIL_FROM Il fait référence à l'e-mail de l'expéditeur pour l'envoi d'e-mails. |
'scrapy @ localhost' |
2 | MAIL_HOST Il fait référence à l'hôte SMTP utilisé pour envoyer des e-mails. |
'localhost' |
3 | MAIL_PORT Il spécifie le port SMTP à utiliser pour l'envoi d'e-mails. |
25 |
4 | MAIL_USER Il fait référence à la validation SMTP. Il n'y aura pas de validation si ce paramètre est défini sur désactivé. |
Aucun |
5 | MAIL_PASS Il fournit le mot de passe utilisé pour la validation SMTP. |
Aucun |
6 | MAIL_TLS Il fournit la méthode de mise à niveau d'une connexion non sécurisée vers une connexion sécurisée à l'aide de SSL / TLS. |
Faux |
sept | MAIL_SSL Il implémente la connexion à l'aide d'une connexion cryptée SSL. |
Faux |