Envoyer un email

Plusieurs façons d'envoyer. Choisissez celle qui correspond à votre stack.

Authentification

Échangez vos identifiants API contre un token JWT. Les tokens sont valides 1 heure.

curl -X POST https://api.mailverick.com/v1/token \
  -H "Content-Type: application/json" \
  -d '{
    "api_key_id": "mvk_key_xxxxxxxxxx",
    "api_key_secret": "mvk_sec_xxxxxxxxxx"
  }'
{
  "access_token": "eyJhbGciOi...",
  "expires_in": 3600,
  "token_type": "Bearer"
}

Envoyer un email

curl -X POST https://api.mailverick.com/v1/send-email \
  -H "Authorization: Bearer <access_token>" \
  -H "Content-Type: application/json" \
  -d '{
    "requests": [{
      "from": { "email": "vous@votredomaine.com" },
      "to": [{ "email": "destinataire@example.com" }],
      "subject": "Confirmation de commande #1234",
      "body": {
        "html": "<h1>Merci !</h1>",
        "text": "Merci ! Votre commande a été confirmée."
      },
      "custom_id": "order-1234",
      "tracking": { "opens": "last_only", "disabled": false }
    }]
  }'

Corps de la requête

ChampTypeDescription
requestsarrayTableau de requêtes email (lot)
requests[].fromobjectemail (requis), name (optionnel)
requests[].toarrayDestinataires avec email et name optionnel
requests[].subjectstringObjet
requests[].body.htmlstringContenu HTML
requests[].body.textstring?Texte brut
requests[].custom_idstring?Votre identifiant, retourné dans tous les événements
requests[].trackingobject?opens : none, last_only ou full (mode de suivi des ouvertures ; par défaut, le paramètre de votre organisation). disabled : booléen, désactive le suivi des ouvertures et des clics pour cet email.

Installation

npm install @bytewise-solutions/mailverick

Envoyer un email

Le SDK gère l'échange et le renouvellement du token automatiquement. Passez vos identifiants et envoyez.

import { Mailverick } from "@bytewise-solutions/mailverick";

const client = new Mailverick("mvk_key_xxx", "mvk_sec_xxx");

await client.sendEmail({
  from: { email: "vous@votredomaine.com" },
  to: [{ email: "destinataire@example.com" }],
  subject: "Confirmation de commande #1234",
  body: {
    html: "<h1>Merci !</h1>",
    text: "Merci ! Votre commande a été confirmée.",
  },
  custom_id: "order-1234",
  tracking: { opens: "last_only", disabled: false },
});

Paramètres

ParamètreTypeDescription
fromobjectemail (requis), name (optionnel)
toarrayDestinataires avec email et name optionnel
subjectstringObjet
body.htmlstringContenu HTML
body.textstring?Texte brut
custom_idstring?Votre identifiant, retourné dans tous les événements
trackingobject?opens : none, last_only ou full. disabled : booléen, désactive le suivi des ouvertures et des clics pour cet email.

Configuration

Pas de token nécessaire. Authentification directe avec vos identifiants API. Remplacement direct de toute configuration SMTP.

Utilisez le port 465, qui chiffre la connexion avant tout échange de données. Le port 587 est également supporté et passe en TLS via STARTTLS. L'authentification en clair est refusée sur les deux, votre client doit donc établir le TLS avant de s'authentifier.

ParamètreValeur
Hôtesmtp.mailverick.com
Port465 recommandé, ou 587
SécuritéTLS implicite sur 465, STARTTLS sur 587
UtilisateurVotre mvk_key_
Mot de passeVotre mvk_sec_

Exemples par framework

SMTP_HOST=smtp.mailverick.com
# Utilisez 587 avec STARTTLS, ou 465 avec TLS implicite. L'authentification en clair est refusée.
# Django et Spring doivent activer explicitement leur option TLS.
SMTP_PORT=587
SMTP_USER=mvk_key_xxxxxxxxxx
SMTP_PASS=mvk_sec_xxxxxxxxxx
const nodemailer = require("nodemailer");

const transporter = nodemailer.createTransport({
  host: "smtp.mailverick.com",
  port: 465,
  secure: true,
  auth: {
    user: "mvk_key_xxxxxxxxxx",
    pass: "mvk_sec_xxxxxxxxxx",
  },
});

await transporter.sendMail({
  from: "vous@votredomaine.com",
  to: "destinataire@example.com",
  subject: "Confirmation de commande #1234",
  html: "<h1>Merci !</h1>",
});
# settings.py
EMAIL_HOST = "smtp.mailverick.com"
EMAIL_PORT = 465
EMAIL_HOST_USER = "mvk_key_xxxxxxxxxx"
EMAIL_HOST_PASSWORD = "mvk_sec_xxxxxxxxxx"
EMAIL_USE_SSL = True
# .env
MAIL_MAILER=smtp
MAIL_HOST=smtp.mailverick.com
MAIL_PORT=465
MAIL_USERNAME=mvk_key_xxxxxxxxxx
MAIL_PASSWORD=mvk_sec_xxxxxxxxxx
MAIL_ENCRYPTION=ssl
# application.properties
spring.mail.host=smtp.mailverick.com
spring.mail.port=465
spring.mail.username=mvk_key_xxxxxxxxxx
spring.mail.password=mvk_sec_xxxxxxxxxx
spring.mail.properties.mail.smtp.ssl.enable=true

Et ensuite

Maintenant que vous pouvez envoyer des emails, découvrez comment suivre ce qui se passe après la livraison avec les Événements email : statut de livraison, rebonds, ouvertures, clics et signalements spam en temps réel.