Intégration SMTP
Utilisez n'importe quel client, application ou appareil SMTP. Copiez les valeurs de connexion depuis votre tableau de bord et activez TLS.
Détails de connexion
Utilisez toujours une connexion chiffrée. Authentifiez-vous avec votre nom d'utilisateur SMTP et une clé API comme mot de passe. Copiez l'hôte et le nom d'utilisateur exacts depuis la page SMTP de votre tableau de bord ; les valeurs ci-dessous en montrent la forme.
Host: YOUR_SMTP_HOST Port: 587 (STARTTLS) or 465 (implicit TLS) Username: YOUR_SMTP_USERNAME Password: YOUR_API_KEY
Quel port utiliser
Le port 587 avec STARTTLS est le port de soumission standard et le meilleur choix par défaut. Le port 465 utilise TLS dès le premier octet et convient aux clients qui l'attendent. Évitez le port 25 pour la soumission : il est destiné au courrier de serveur à serveur et de nombreux hébergeurs le bloquent.
Tester en ligne de commande
Confirmez l'authentification avant de câbler votre application. swaks envoie un message de test ; openssl montre la négociation TLS en cas d'échec.
swaks --to you@example.com --from hello@example.com \ --server YOUR_SMTP_HOST:587 --tls \ --auth LOGIN --auth-user YOUR_SMTP_USERNAME openssl s_client -starttls smtp -connect YOUR_SMTP_HOST:587
Exemple : Node.js (Nodemailer)
Nodemailer fonctionne avec n'importe quel service SMTP. Gardez les identifiants dans des variables d'environnement.
const nodemailer = require("nodemailer");
const transport = nodemailer.createTransport({
host: process.env.SMTP_HOST,
port: 587,
secure: false, // STARTTLS
auth: { user: process.env.SMTP_USER, pass: process.env.MIGOSMTP_KEY },
});
await transport.sendMail({ from, to, subject, text });Exemple : Python (smtplib)
La bibliothèque standard suffit pour un envoi simple.
import os, smtplib
from email.message import EmailMessage
msg = EmailMessage()
msg["From"], msg["To"], msg["Subject"] = "hello@example.com", "you@example.com", "Hello"
msg.set_content("It works.")
with smtplib.SMTP(os.environ["SMTP_HOST"], 587) as s:
s.starttls()
s.login(os.environ["SMTP_USER"], os.environ["MIGOSMTP_KEY"])
s.send_message(msg)En-têtes utiles à définir
Définissez un Reply-To si les réponses doivent aller ailleurs qu'à l'adresse d'expéditeur. Pour les envois en masse ou marketing, ajoutez un en-tête List-Unsubscribe, que les fournisseurs de messagerie recherchent. Utilisez une adresse d'expéditeur sur un domaine vérifié, sinon le message risque d'être rejeté.
Résultats de livraison
SMTP indique seulement que le message a été accepté. Pour savoir s'il a été livré, a rebondi ou a été signalé comme spam, utilisez les webhooks ou la vue d'activité du tableau de bord.