Aller au contenu principal

Flux complet éditeur

Ce guide vous accompagne de bout en bout : de la création de votre application dans le portail jusqu'à l'envoi d'un email depuis l'adresse de votre utilisateur final.

Vue d'ensemble

1. Créer l'application dans le portail SendAs.me

2. Récupérer les identifiants SMTP de l'application

3. Générer un lien de connexion depuis votre backend

4. L'utilisateur clique et autorise l'accès à son compte

5. Configurer l'envoi SMTP dans votre application

6. Envoyer un email — il arrive depuis l'adresse de l'utilisateur

Étape 1 : Créer l'application dans le portail

  1. Connectez-vous sur app.sendas.me
  2. Accédez à ApplicationsNouvelle application
  3. Remplissez le formulaire :
    • Nom : Mon Application (affiché sur la page d'autorisation que verront vos utilisateurs)
    • Logo URL (optionnel) : affiché sur la même page
    • Fournisseurs activés : Gmail, Office 365, ou les deux selon votre besoin
  4. Cliquez sur Créer

Votre application obtient un app_id (ex : monapp) et une pushable_key (ex : pk_AbCdEfGhIjKlMnOpQrStUvWx).


Étape 2 : Récupérer les identifiants SMTP

Sur la page de votre application, section Identifiants SMTP :

ParamètreValeur
Hôtesmtp.sendas.me
Port587 (STARTTLS)
Nom d'utilisateurmonapp (app_id)
Mot de passesek_8xK2mP9nQrTvWyZa (send_key)
Une seule affichage

Le mot de passe SMTP est affiché une seule fois. Conservez-le dans votre gestionnaire de secrets. En cas de perte, régénérez-en un nouveau — l'ancien est immédiatement invalidé.

Ces identifiants sont ceux de votre application. Ils sont communs à tous vos utilisateurs et ne changent pas d'un utilisateur à l'autre.


Étape 3 : Générer un lien de connexion

Pour qu'un utilisateur connecte son compte email, votre backend appelle POST /connect-sessions pour obtenir un lien éphémère. Ce lien est valable 15 minutes et à usage unique — comme une session Stripe Checkout.

import httpx

API_SECRET = "sk_..." # votre api_secret (portail → section API)
APP_PK = "pk_AbCdEfGh..." # pushable_key de votre application

def generate_connect_link(user_id: str, callback_url: str) -> str:
resp = httpx.post(
"https://api.sendas.me/connect-sessions",
headers={"X-Api-Secret": API_SECRET},
json={
"pk": APP_PK,
"plugin": "gmail", # ou "office365"
"user_id": user_id,
"callback_url": callback_url,
},
)
resp.raise_for_status()
return resp.json()["url"]

# Dans votre handler HTTP :
link = generate_connect_link(
user_id="usr_123",
callback_url="https://votre-app.com/settings/email/callback"
)
# Redirigez l'utilisateur vers `link` ou affichez-le sous forme de bouton

Réponse de l'API :

{
"url": "https://connect.sendas.me/?session=gX9k2mP7nQrT...",
"expires_at": "2026-04-11T14:35:00Z"
}
Générez à la demande

Appelez POST /connect-sessions au moment où l'utilisateur clique sur "Connecter mon email" dans votre interface. Ne stockez pas les liens — ils expirent en 15 minutes.


Étape 4 : L'utilisateur clique et autorise

Quand l'utilisateur ouvre le lien :

  1. S'il n'y avait qu'un seul plugin (plugin: "gmail"), il est redirigé directement vers Google
  2. Sinon, il voit une page de sélection Gmail / Office 365
  3. Il s'authentifie avec son compte email habituel
  4. Il voit une page de consentement indiquant que votre application souhaite envoyer des emails en son nom
  5. Il accepte
  6. Il est redirigé vers votre callback_url :
https://votre-app.com/settings/email/callback?status=connected&email=jean.dupont@gmail.com&plugin=gmail

Côté SendAs.me :

  • Le compte est lié à votre application
  • Vous recevez un webhook user.connected si vous avez configuré un endpoint
  • Le compte apparaît dans la section Utilisateurs connectés de votre application dans le portail
  • Le lien est marqué comme utilisé et ne peut plus être réutilisé

Étape 5 : Configurer l'envoi SMTP dans votre application

Utilisez les identifiants de l'étape 2. L'adresse From: doit correspondre à l'adresse du compte OAuth connecté.

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart

SMTP_HOST = "smtp.sendas.me"
SMTP_PORT = 587
SMTP_USERNAME = "monapp" # app_id
SMTP_PASSWORD = "sek_8xK2mP9nQrTvWyZa" # send_key

def send_email(user_email: str, recipient: str, subject: str, body_html: str):
msg = MIMEMultipart("alternative")
msg["Subject"] = subject
msg["From"] = user_email # adresse du compte OAuth connecté
msg["To"] = recipient

msg.attach(MIMEText(body_html, "html"))

with smtplib.SMTP(SMTP_HOST, SMTP_PORT) as server:
server.starttls()
server.login(SMTP_USERNAME, SMTP_PASSWORD)
server.sendmail(user_email, [recipient], msg.as_string())

# Utilisation :
send_email(
user_email="jean.dupont@gmail.com",
recipient="client@exemple.fr",
subject="Votre facture #2026-0042",
body_html="<p>Veuillez trouver ci-joint votre facture.</p>"
)

Ou via l'API REST si vous préférez ne pas gérer SMTP :

resp = httpx.post(
"https://api.sendas.me/send",
headers={"X-Send-Key": "sek_8xK2mP9nQrTvWyZa"},
json={
"pk": "pk_AbCdEfGh...",
"to": "client@exemple.fr",
"subject": "Votre facture #2026-0042",
"html": "<p>Veuillez trouver ci-joint votre facture.</p>",
"user_id": "usr_123", # si mode multiuser
},
)

Étape 6 : Vérifier l'envoi

Après l'envoi :

  1. Chez le destinataire : l'email arrive depuis l'adresse de l'utilisateur (jean.dupont@gmail.com), pas depuis une adresse SendAs.me.

  2. Dans le portail : application → Journaux

ChampValeur
Statutemail_sent
Dejean.dupont@gmail.com
Àclient@exemple.fr
SujetVotre facture #2026-0042
Plugingmail
  1. Dans Gmail de l'utilisateur : l'email apparaît dans sa boîte d'envoi.

Prochaines étapes