Afficher image dans un mail
Pour afficher une image dans un e-mail, vous pouvez utiliser plusieurs méthodes en fonction de votre environnement de développement et de votre système d'envoi d'e-mails. Voici quelques-unes des méthodes les plus courantes :
Méthode 1 : Envoi d'une image en pièce jointe
Vous pouvez envoyer l'image en pièce jointe en utilisant un langage de programmation comme Python ou Java. Voici un exemple en Python avec la bibliothèque smtplib
:
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email.mime.text import MIMEText
from email.utils import COMMASPACE
from email import encoders
msg = MIMEMultipart()
msg['From'] = '[email protected]'
msg['To'] = '[email protected]'
msg['Subject'] = 'Image en pièce jointe'
body = MIMEText('Voici une image')
body.attach(MIMEImage(open('image.jpg', 'rb').read()))
msg.attach(body)
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login('[email protected]', 'your_password')
server.sendmail('[email protected]', '[email protected]', msg.as_string())
server.quit()
Méthode 2 : Envoi d'une image en ligne
Vous pouvez également envoyer l'image en ligne en utilisant un service de stockage de fichiers en ligne comme Amazon S3 ou Google Cloud Storage. Voici un exemple en Python avec la bibliothèque boto3
pour Amazon S3 :
import boto3
s3 = boto3.client('s3')
msg = MIMEMultipart()
msg['From'] = '[email protected]'
msg['To'] = '[email protected]'
msg['Subject'] = 'Image en ligne'
body = MIMEText('Voici une image')
body.set_payload(open('image.jpg', 'rb').read())
body.add_header('Content-Disposition', 'attachment; filename="image.jpg"')
msg.attach(body)
s3.put_object(Body=body.get_payload(), Bucket='your_bucket_name', Key='image.jpg')
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login('[email protected]', 'your_password')
server.sendmail('[email protected]', '[email protected]', msg.as_string())
server.quit()
Méthode 3 : Envoi d'une image en base64
Vous pouvez également envoyer l'image en base64 en utilisant un langage de programmation comme JavaScript ou Python. Voici un exemple en JavaScript avec la bibliothèque node-mailer
:
const nodemailer = require('nodemailer');
let transporter = nodemailer.createTransport({
host: 'smtp.gmail.com',
port: 587,
secure: false, // or 'STARTTLS'
auth: {
user: '[email protected]',
pass: 'your_password'
}
});
let mailOptions = {
from: '[email protected]',
to: '[email protected]',
subject: 'Image en base64',
text: 'Voici une image',
html: '<img src="data:image/jpeg;base64,' + Buffer.from('image.jpg', 'binary').toString('base64') + '">'
};
transporter.sendMail(mailOptions, (error, info) => {
if (error) {
return console.log(error);
}
console.log('Message sent: ' + info.response);
});
Notez que pour les méthodes 1 et 2, vous devrez configurer votre serveur SMTP et votre compte e-mail pour autoriser l'envoi d'e-mails. Pour la méthode 3, vous devrez installer la bibliothèque node-mailer
et configurer votre serveur SMTP.