IM
FR
Accueil documentation
Menu
Guides

Envoyer un e-mail sortant

mettre en file d'attente les actions d'envoi SMTP avec des pièces et des pièces jointes en ligne facultatives.

inbox-manager client-flow

Envoyer un e-mail sortant

Objectif : mettre en file d’attente les actions d’envoi SMTP avec des pièces et des pièces jointes en ligne facultatives.

Flux d’interface utilisateur

  1. L’utilisateur rédige un message.
  2. L’interface utilisateur capture les destinataires, le sujet, le corps et les pièces jointes.
  3. L’interface utilisateur met en file d’attente POST /api/accounts/:account_id/smtp/messages.
  4. L’interface utilisateur suit la tâche/le travail résultant jusqu’à la fin.
  5. L’interface utilisateur actualise la liste de diffusion sortante.

Flux de bibliothèque client

const queued = await api.provider.smtp.sendMessage(accountId, {
  credential_id: smtpCredentialId,
  direction: "outbound",
  from_json: [{ address: "info@example.com" }],
  to_json: [{ address: "recipient@example.com" }],
  subject: "Status update",
  text_body: "Hello from Inbox Manager",
  html_body: "<p>Hello from Inbox Manager</p>",
  attachments: [
    {
      filename: "report.txt",
      content_type: "text/plain",
      content_b64: Buffer.from("report body").toString("base64"),
      disposition: "attachment",
    },
  ],
});
await api.jobs.waitForTask(accountId, queued.data.task_id);

Flux HTTP/curl

API_BASE_URL="https://api.inbox-manager.com"

curl -sS -X POST "${API_BASE_URL}/api/accounts/${ACCOUNT_ID}/smtp/messages" \
  -H "authorization: Bearer ${BEARER_TOKEN}" \
  -H "content-type: application/json" \
  --data "{
    \"credential_id\":\"${SMTP_CREDENTIAL_ID}\",
    \"direction\":\"outbound\",
    \"from_json\":[{\"address\":\"${FROM_ADDRESS}\"}],
    \"to_json\":[{\"address\":\"${TO_ADDRESS}\"}],
    \"subject\":\"Status update\",
    \"text_body\":\"Hello from Inbox Manager\",
    \"attachments\":[
      {
        \"filename\":\"report.txt\",
        \"content_type\":\"text/plain\",
        \"content_b64\":\"${ATTACHMENT_B64}\",
        \"disposition\":\"attachment\"
      }
    ]
  }"

Remarques

  • L’envoi sortant est asynchrone et soutenu par des tâches.
  • L’ensemble de destinataires vide échoue rapidement.