J'ai réalisé à quel point certaines choses sont pénibles avec le SMTP et les bibliothèques de courrier électronique et j'ai pensé que je devais faire quelque chose avec ça. J'ai fait une bibliothèque qui facilite l'intégration d'images dans le code HTML :
from redmail import EmailSender
email = EmailSender(host="<SMTP HOST>", port=0)
email.send(
sender="me@example.com",
receivers=["you@example.com"]
subject="An email with image",
html="""
<h1>Look at this:</h1>
{{ my_image }}
""",
body_images={
"my_image": "path/to/image.png"
}
)
Désolé pour la promotion mais je pense que c'est assez génial. Vous pouvez fournir l'image comme Matplotlib Figure
, Oreiller Image
ou tout aussi bytes
si votre image est dans ces formats. Il utilise Jinja pour la création de modèles.
Si vous devez contrôler la taille de l'image, vous pouvez également le faire :
email.send(
sender="me@example.com",
receivers=["you@example.com"]
subject="An email with image",
html="""
<h1>Look at this:</h1>
<img src="{{ my_image.src }}" width=200 height=300>
""",
body_images={
"my_image": "path/to/image.png"
}
)
Vous pouvez simplement l'installer avec pip :
pip install redmail
C'est (espérons-le) tout ce dont vous avez besoin pour l'envoi d'e-mails (il en a beaucoup plus) et il est bien testé. J'ai également écrit une documentation complète : https://red-mail.readthedocs.io/en/latest/ et le code source est trouvé aquí .