Démarrage rapide : Envoyer un e-mail avec des pièces jointes
Dans ce guide de démarrage rapide, vous allez découvrir comment envoyer un e-mail avec des pièces jointes en utilisant nos SDK d’e-mail.
Commencez avec Azure Communication Services en utilisant la bibliothèque de client Communication Services .NET Email pour envoyer des e-mails.
Conseil
Démarrez votre expérience d’envoi d’e-mails avec Azure Communication Services en passant directement à l’exemple de code Envoi de Email de base et Email d’envoi avancé sur GitHub.
Comprendre le modèle objet de l’e-mail
Les classes et les interfaces suivantes gèrent certaines des principales fonctionnalités de la bibliothèque de client Azure Communication Services Email pour C#.
Nom | Description |
---|---|
EmailAddress | Cette classe contient une adresse e-mail et une option pour un nom d’affichage. |
EmailAttachment | Cette classe crée une pièce jointe d’e-mail en acceptant un ID unique, une chaîne de pièce jointe d’e-mail de type MIME, des données binaires pour le contenu et un ID de contenu facultatif pour la définir en tant que pièce jointe inline. |
EmailClient | Cette classe est nécessaire pour toutes les fonctionnalités de messagerie. Vous l’instanciez avec vos chaîne de connexion et vous l’utilisez pour envoyer des e-mails. |
EmailClientOptions | Cette classe peut être ajoutée à l’instanciation de EmailClient pour cibler une version d’API spécifique. |
EmailContent | Cette classe contient l’objet et le corps de l’e-mail. Vous devez spécifier au moins un contenu PlainText ou Html |
EmailCustomHeader | Cette classe permet l’ajout d’une paire nom et valeur pour un en-tête personnalisé. L’importance de l’e-mail peut également être spécifiée par le biais de ces en-têtes à l’aide du nom d’en-tête « x-priority » ou « x-msmail-priority » |
EmailMessage | Cette classe combine l’expéditeur, le contenu et les destinataires. Des en-têtes personnalisés, des pièces jointes et des adresses e-mail de réponse peuvent également être ajoutés. |
EmailRecipients | Cette classe contient des listes d’objets EmailAddress pour les destinataires de l’e-mail, y compris les listes facultatives pour les destinataires CC et BCC. |
EmailSendOperation | Cette classe représente l’opération d’envoi asynchrone d’e-mail et est renvoyée à partir d’un appel d’API d’envoi d’e-mail. |
EmailSendResult | Cette classe contient les résultats de l’opération d’envoi d’e-mail. Il a un ID d’opération, un état d’opération et un objet d’erreur (le cas échéant). |
EmailSendResult renvoie l’état suivant sur l’opération de messagerie effectuée.
Statut | Description |
---|---|
NotStarted | Nous n’envoyons pas cet état à partir de notre service pour l’instant. |
Exécution en cours | L’opération d’envoi d’e-mail est en cours de traitement. |
Opération réussie | L’opération d’envoi d’e-mail s’est terminée sans erreur et l’e-mail est en attente de remise. Tout état détaillé de la remise d’e-mail au-delà de cette étape peut être obtenu via Azure Monitor ou via Azure Event Grid. Découvrir comment s’abonner à des événements par e-mail |
Échec | L’opération d’envoi d’e-mail n’a pas réussi et a rencontré une erreur. L’e-mail n’a pas été envoyé. Le résultat contient un objet d’erreur avec des détails supplémentaires sur la cause de l’échec. |
Prérequis
- Compte Azure avec un abonnement actif. Créez un compte gratuitement.
- La dernière version de la bibliothèque de client .NET Core pour votre système d’exploitation.
- Une ressource Azure Email Communication Services créée et prête avec un domaine provisionné Bien démarrer avec la création d’une ressource Email Communication
- Une ressource Communication Services active connectée au domaine de messagerie et une chaîne de connexion. Bien démarrer en connectant une ressource de messagerie à une ressource de communication
Suivre ce guide de démarrage rapide entraîne un coût minime de quelques cents USD tout au plus dans votre compte Azure.
Notes
Nous pouvons également envoyer un e-mail à partir de notre propre domaine vérifié. Ajouter des domaines personnalisés vérifiés à Email Communication Service.
Vérification du prérequis
- Dans une fenêtre de terminal ou de commande, exécutez la commande
dotnet
pour vérifier que la bibliothèque de client .NET est installée. - Pour voir les sous-domaines associés à votre ressource Email Communication Services, connectez-vous au portail Azure, localisez votre ressource Email Communication Services, puis ouvrez l’onglet Provisionner des domaines dans le volet de navigation gauche.
Créer une application C#
Dans une fenêtre de console (par exemple cmd, PowerShell ou Bash), utilisez la commande dotnet new
pour créer une application console avec le nom EmailQuickstart
. Cette commande crée un projet C# « Hello World » simple avec un seul fichier source : Program.cs.
dotnet new console -o EmailQuickstart
Remplacez votre répertoire par le dossier d’application que vous venez de créer, puis utilisez la commande dotnet build
pour compiler votre application.
cd EmailQuickstart
dotnet build
Installer le package
Toujours dans le répertoire de l’application, installez le package de la bibliothèque de client Communication Services Email pour .NET en utilisant la commande dotnet add package
.
dotnet add package Azure.Communication.Email
Création du client de messagerie avec l’authentification
Ouvrez Program.cs et remplacez le code existant par ce qui suit pour ajouter des directives using
afin d’inclure l’espace de noms Azure.Communication.Email
et un point de départ pour l’exécution de votre programme.
using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using Azure;
using Azure.Communication.Email;
namespace SendEmail
{
internal class Program
{
static async Task Main(string[] args)
{
}
}
}
Il existe différentes options disponibles pour authentifier un client de messagerie :
Ouvrez Program.cs dans un éditeur de texte, puis remplacez le corps de la méthode Main
par du code permettant d’initialiser un EmailClient
avec votre chaîne de connexion. Le code suivant récupère la chaîne de connexion de la ressource à partir d’une variable d’environnement nommée COMMUNICATION_SERVICES_CONNECTION_STRING
. Découvrez comment gérer la chaîne de connexion de la ressource.
// This code demonstrates how to fetch your connection string
// from an environment variable.
string connectionString = Environment.GetEnvironmentVariable("COMMUNICATION_SERVICES_CONNECTION_STRING");
EmailClient emailClient = new EmailClient(connectionString);
Envoyer un e-mail avec des pièces jointes
Nous pouvons ajouter une pièce jointe en définissant un objet EmailAttachment et en l’ajoutant à notre objet EmailMessage. Lisez le fichier en pièce jointe et encodez-le avec Base64.
// Create the email content
var emailContent = new EmailContent("Welcome to Azure Communication Service Email APIs.")
{
PlainText = "This email message is sent from Azure Communication Service Email.",
Html = "<html><body><h1>Quick send email test</h1><br/><h4>This email message is sent from Azure Communication Service Email.</h4><p>This mail was sent using .NET SDK!!</p></body></html>"
};
// Create the EmailMessage
var emailMessage = new EmailMessage(
senderAddress: "donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net" // The email address of the domain registered with the Communication Services resource
recipientAddress: "emailalias@contoso.com"
content: emailContent);
// Create the EmailAttachment
var filePath = "C:\Users\Documents\attachment.pdf";
byte[] bytes = File.ReadAllBytes(filePath);
var contentBinaryData = new BinaryData(bytes);
var emailAttachment = new EmailAttachment("attachment.pdf", MediaTypeNames.Application.Pdf, contentBinaryData);
emailMessage.Attachments.Add(emailAttachment);
try
{
EmailSendOperation emailSendOperation = emailClient.Send(WaitUntil.Completed, emailMessage);
Console.WriteLine($"Email Sent. Status = {emailSendOperation.Value.Status}");
/// Get the OperationId so that it can be used for tracking the message for troubleshooting
string operationId = emailSendOperation.Id;
Console.WriteLine($"Email operation id = {operationId}");
}
catch (RequestFailedException ex)
{
/// OperationID is contained in the exception message and can be used for troubleshooting purposes
Console.WriteLine($"Email send operation failed with error code: {ex.ErrorCode}, message: {ex.Message}");
}
Exécutez l’application à partir de votre répertoire d’application avec la commande dotnet run
.
dotnet run
Types MIME autorisés
Pour plus d’informations sur les types MIME acceptables pour les pièces jointes, consultez la documentation sur les types MIME autorisés.
Exemple de code
Vous pouvez télécharger l’exemple d’application qui illustre cette action à partir de GitHub
Commencez avec Azure Communication Services en utilisant la bibliothèque de client Communication Services JS Email pour envoyer des e-mails.
Conseil
Démarrez votre expérience d’envoi d’e-mails avec Azure Communication Services en passant directement à l’exemple de code Envoi de Email de base et Email d’envoi avancé sur GitHub.
Présentation du modèle objet de l’e-mail
Les classes et interfaces suivantes gèrent quelques-unes des principales fonctionnalités de la bibliothèque de client Azure Communication Services Email pour JavaScript.
Nom | Description |
---|---|
EmailAddress | Cette classe contient une adresse e-mail et une option pour un nom d’affichage. |
EmailAttachment | Cette classe crée une pièce jointe d’e-mail en acceptant un ID unique, une chaîne de pièce jointe d’e-mail de type MIME, des données binaires pour le contenu et un ID de contenu facultatif pour la définir en tant que pièce jointe inline. |
EmailClient | Cette classe est nécessaire pour toutes les fonctionnalités de messagerie. Vous l’instanciez avec vos chaîne de connexion et vous l’utilisez pour envoyer des e-mails. |
EmailClientOptions | Cette classe peut être ajoutée à l’instanciation de EmailClient pour cibler une version d’API spécifique. |
EmailContent | Cette classe contient l’objet et le corps de l’e-mail. Vous devez spécifier au moins un contenu PlainText ou Html. |
EmailCustomHeader | Cette classe permet l’ajout d’une paire nom et valeur pour un en-tête personnalisé. L’importance de l’e-mail peut également être spécifiée par le biais de ces en-têtes à l’aide du nom d’en-tête « x-priority » ou « x-msmail-priority ». |
EmailMessage | Cette classe combine l’expéditeur, le contenu et les destinataires. Des en-têtes personnalisés, des pièces jointes et des adresses e-mail de réponse peuvent également être ajoutés. |
EmailRecipients | Cette classe contient des listes d’objets EmailAddress pour les destinataires de l’e-mail, y compris les listes facultatives pour les destinataires CC et BCC. |
EmailSendResult | Cette classe contient les résultats de l’opération d’envoi d’e-mail. Il a un ID d’opération, un état d’opération et un objet d’erreur (le cas échéant). |
EmailSendStatus | Cette classe représente l’ensemble des états d’une opération d’envoi d’e-mail. |
EmailSendResult renvoie l’état suivant sur l’opération de messagerie effectuée.
Nom de l’état | Description |
---|---|
isStarted | Renvoie la valeur « true » si l’opération d’envoi d’e-mail est en cours de traitement. |
IsCompleted | Renvoie la valeur « true » si l’opération d’envoi d’e-mail s’est terminée sans erreur et l’e-mail est en attente de remise. Tout état détaillé de la remise d’e-mail au-delà de cette étape peut être obtenu via Azure Monitor ou via Azure Event Grid. Découvrir comment s’abonner à des événements par e-mail |
result | Propriété qui existe si l’opération d’envoi d’e-mail est terminée. |
error | Propriété qui existe si l’opération d’envoi d’e-mail n’a pas réussi et a rencontré une erreur. L’e-mail n’a pas été envoyé. Le résultat contient un objet d’erreur avec des détails supplémentaires sur la cause de l’échec. |
Prérequis
- Node.js (~14).
- Compte Azure avec un abonnement actif. Créez un compte gratuitement.
- Une ressource Azure Email Communication Services créée et prête avec un domaine provisionné. Bien démarrer avec la création d’une ressource Email Communication.
- Une ressource Azure Communication Services active connectée à un domaine de courrier et sa chaîne de connexion. Bien démarrer avec la connexion d’une ressource Email Communication à une ressource Azure Communication.
Suivre ce guide de démarrage rapide entraîne un coût minime de quelques cents USD tout au plus dans votre compte Azure.
Notes
Nous pouvons également envoyer un e-mail à partir de notre propre domaine vérifié. Ajouter des domaines personnalisés vérifiés à Email Communication Service.
Vérification du prérequis
- Dans une fenêtre de terminal ou de commande, exécutez
node --version
pour vérifier que Node.js est installé. - Pour voir les domaines vérifiés avec votre ressource Email Communication Services, connectez-vous au portail Azure, localisez votre ressource Email Communication Services, puis ouvrez l’onglet Provisionner des domaines dans le volet de navigation gauche.
Configurer l’environnement d’application
Créer une application Node.js
Pour commencer, ouvrez votre fenêtre de terminal ou de commande, créez un répertoire pour votre application, puis accédez-y.
mkdir email-quickstart && cd email-quickstart
Exécutez npm init -y
pour créer un fichier package.json avec les paramètres par défaut.
npm init -y
Utilisez un éditeur de texte pour créer un fichier appelé send-email.js dans le répertoire racine du projet. Remplacez la propriété « main » dans package.json par « send-email.js ». La section suivante montre comment ajouter le code source de ce démarrage rapide au fichier nouvellement créé.
Installer le package
Utilisez la commande npm install
pour installer la bibliothèque de client Azure Communication Services Email pour JavaScript.
npm install @azure/communication-email --save
L’option --save
liste la bibliothèque comme dépendance dans votre fichier package.json.
Création du client de messagerie avec l’authentification
Il existe différentes options disponibles pour authentifier un client de messagerie :
Importez EmailClient depuis la bibliothèque de client et instanciez-la avec votre chaîne de connexion.
Le code suivant récupère la chaîne de connexion de la ressource à partir d’une variable d’environnement nommée COMMUNICATION_SERVICES_CONNECTION_STRING
en utilisant le package dotenv. Utilisez la commande npm install
pour installer le package dotenv. Découvrez comment gérer la chaîne de connexion de la ressource.
npm install dotenv
Ajoutez le code suivant dans send-email.js :
const { EmailClient } = require("@azure/communication-email");
require("dotenv").config();
// This code demonstrates how to fetch your connection string
// from an environment variable.
const connectionString = process.env['COMMUNICATION_SERVICES_CONNECTION_STRING'];
const emailClient = new EmailClient(connectionString);
Par souci de simplicité, ce guide de démarrage rapide utilise des chaînes de connexion, mais, dans des environnements de production, nous recommandons l’utilisation de principaux de service.
Envoyer un e-mail avec des pièces jointes
Nous pouvons ajouter une pièce jointe en définissant un objet pièce jointe et en l’ajoutant à notre message. Lisez le fichier en pièce jointe et encodez-le avec Base64.
const filePath = "<path-to-your-file>";
const message = {
sender: "<donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net>",
content: {
subject: "Welcome to Azure Communication Service Email.",
plainText: "<This email message is sent from Azure Communication Service Email using JavaScript SDK.>"
},
recipients: {
to: [
{
address: "<emailalias@emaildomain.com>",
displayName: "Customer Name",
}
]
},
attachments: [
{
name: path.basename(filePath),
contentType: "<mime-type-for-your-file>",
contentInBase64: readFileSync(filePath, "base64"),
}
]
};
const poller = await emailClient.beginSend(message);
const response = await poller.pollUntilDone();
Types MIME autorisés
Pour plus d’informations sur les types MIME acceptables pour les pièces jointes, consultez la documentation sur les types MIME autorisés.
Exemple de code
Vous pouvez télécharger l’exemple d’application qui illustre cette action à partir de GitHub
Commencez avec Azure Communication Services en utilisant le SDK Communication Services Java Email pour envoyer des e-mails.
Conseil
Démarrez votre expérience d’envoi d’e-mails avec Azure Communication Services en passant directement à l’exemple de code Envoi de Email de base et Email d’envoi avancé sur GitHub.
Présentation du modèle objet de l’e-mail
Les classes et interfaces suivantes gèrent quelques-unes des principales fonctionnalités du kit de développement logiciel (SDK) Azure Communication Services Email pour Python.
Nom | Description |
---|---|
EmailAddress | Cette classe contient une adresse e-mail et une option pour un nom d’affichage. |
EmailAttachment | Cette interface crée une pièce jointe par e-mail en acceptant un ID unique, une chaîne de pièce jointe d’e-mail de type MIME, une chaîne d’octets de contenu et un ID de contenu facultatif pour la définir en tant que pièce jointe inline. |
EmailClient | Cette classe est nécessaire pour toutes les fonctionnalités de messagerie. Vous l’instanciez avec vos chaîne de connexion et vous l’utilisez pour envoyer des e-mails. |
EmailMessage | Cette classe combine l’expéditeur, le contenu et les destinataires. Des en-têtes personnalisés, des pièces jointes et des adresses e-mail de réponse peuvent également être ajoutés. |
EmailSendResult | Cette classe contient les résultats de l’opération d’envoi d’e-mail. Il a un ID d’opération, un état d’opération et un objet d’erreur (le cas échéant). |
EmailSendStatus | Cette classe représente l’ensemble des états d’une opération d’envoi d’e-mail. |
EmailSendResult renvoie l’état suivant sur l’opération de messagerie effectuée.
Nom de l’état | Description |
---|---|
NOT_STARTED | Nous n’envoyons pas cet état à partir de notre service pour l’instant. |
IN_PROGRESS | L’opération d’envoi d’e-mail est en cours de traitement. |
SUCCESSFULLY_COMPLETED | L’opération d’envoi d’e-mail s’est terminée sans erreur et l’e-mail est en attente de remise. Tout état détaillé de la remise d’e-mail au-delà de cette étape peut être obtenu via Azure Monitor ou via Azure Event Grid. Découvrir comment s’abonner à des événements par e-mail |
FAILED | L’opération d’envoi d’e-mail n’a pas réussi et a rencontré une erreur. L’e-mail n’a pas été envoyé. Le résultat contient un objet d’erreur avec des détails supplémentaires sur la cause de l’échec. |
Prérequis
- Compte Azure avec un abonnement actif. Créez un compte gratuitement.
- Java Development Kit (JDK) version 8 ou ultérieure.
- Apache Maven.
- Chaîne de connexion et ressource Communication Services déployée. Pour plus d’informations, consultez Créer une ressource Communication Services.
- Créez une ressource Email Communication Services Azure pour commencer à envoyer des e-mails.
- Une identité managée par la configuration pour un environnement de développement. Consultez Autoriser l’accès avec une identité managée.
Le fait de suivre ce guide de démarrage rapide entraîne une petite dépense de quelques cents USD tout au plus dans votre compte Azure.
Notes
Nous pouvons également envoyer un e-mail à partir de notre propre domaine vérifié Ajouter des domaines vérifiés personnalisés à Email Communication Service.
Vérification du prérequis
- Dans une fenêtre de terminal ou de commande, exécutez
mvn -v
pour vérifier que Maven est installé. - Pour voir les domaines vérifiés avec votre ressource Email Communication Services, connectez-vous au portail Azure. Localisez votre ressource Email Communication Services, puis ouvrez l’onglet Provisionner des domaines dans le volet de navigation gauche.
Configurer l’environnement d’application
Pour configurer un environnement afin d’envoyer des e-mails, effectuez les étapes décrites dans les sections suivantes.
Créer une application Java
Ouvrez votre terminal ou votre fenêtre Commande, puis accédez au répertoire dans lequel vous souhaitez créer votre application Java. Exécutez la commande suivante pour générer le projet Java à partir du modèle maven-archetype-quickstart.
mvn archetype:generate -DarchetypeArtifactId="maven-archetype-quickstart" -DarchetypeGroupId="org.apache.maven.archetypes" -DarchetypeVersion="1.4" -DgroupId="com.communication.quickstart" -DartifactId="communication-quickstart"
L’objectif generate
crée un répertoire qui porte le même nom que la valeur artifactId
. Sous ce répertoire, le répertoire src/main/java contient le code source du projet, le répertoire src/test/java contient la source de test et le fichier pom.xml est le modèle objet du projet (POM, Project Object Model).
Installer le package
Ouvrez le fichier pom.xml dans votre éditeur de texte. Ajoutez l’élément dépendance suivant au groupe de dépendances.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-communication-email</artifactId>
<version>1.0.0-beta.2</version>
</dependency>
Configurer le framework d’application
Ouvrez /src/main/java/com/communication/quickstart/App.java dans un éditeur de texte, ajoutez des directives d’importation, puis supprimez l’instruction System.out.println("Hello world!");
:
package com.communication.quickstart;
import com.azure.communication.email.models.*;
import com.azure.communication.email.*;
import com.azure.core.util.polling.PollResponse;
import com.azure.core.util.polling.SyncPoller;
public class App
{
public static void main( String[] args )
{
// Quickstart code goes here.
}
}
Création du client de messagerie avec l’authentification
Il existe différentes options disponibles pour authentifier un client de messagerie :
Pour authentifier un client, vous instanciez un EmailClient
avec votre chaîne de connexion. Découvrez comment gérer la chaîne de connexion de la ressource. Vous pouvez aussi initialiser le client avec n’importe quel client HTTP personnalisé qui implémente l’interface com.azure.core.http.HttpClient
.
Pour instancier un client, ajoutez le code suivant à la méthode main
:
// You can get your connection string from your resource in the Azure portal.
String connectionString = "endpoint=https://<resource-name>.communication.azure.com/;accesskey=<access-key>";
EmailClient emailClient = new EmailClientBuilder()
.connectionString(connectionString)
.buildClient();
Par souci de simplicité, ce guide de démarrage rapide utilise des chaînes de connexion, mais, dans des environnements de production, nous recommandons l’utilisation de principaux de service.
Envoyer un e-mail avec des pièces jointes
Nous pouvons ajouter une pièce jointe en définissant un objet EmailAttachment et en l’ajoutant à notre objet EmailMessage. Lisez le fichier en pièce jointe et encodez-le avec Base64.
BinaryData attachmentContent = BinaryData.fromFile(new File("C:/attachment.txt").toPath());
EmailAttachment attachment = new EmailAttachment(
"attachment.txt",
"text/plain",
attachmentContent
);
EmailMessage message = new EmailMessage()
.setSenderAddress("<donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net>")
.setToRecipients("<emailalias@emaildomain.com>")
.setSubject("Welcome to Azure Communication Services Email")
.setBodyPlainText("This email message is sent from Azure Communication Services Email using the Java SDK.");
.setAttachments(attachment);
SyncPoller<EmailSendResult, EmailSendResult> poller = emailClient.beginSend(message, null);
PollResponse<EmailSendResult> response = poller.waitForCompletion();
System.out.println("Operation Id: " + response.getValue().getId());
Types MIME autorisés
Pour plus d’informations sur les types MIME acceptables pour les pièces jointes, consultez la documentation sur les types MIME autorisés.
Exemple de code
Vous pouvez télécharger l’exemple d’application qui illustre cette action à partir de GitHub
Commencez avec Azure Communication Services en utilisant le SDK Communication Services Python Email pour envoyer des e-mails.
Conseil
Démarrez votre expérience d’envoi d’e-mails avec Azure Communication Services en passant directement à l’exemple de code Envoi de Email de base et Email d’envoi avancé sur GitHub.
Présentation du modèle objet de l’e-mail
Le modèle de message JSON et l’objet de réponse suivants illustrent certaines des principales fonctionnalités du kit de développement logiciel (SDK) d’e-mail Azure Communication Services pour Python.
message = {
"content": {
"subject": "str", # Subject of the email message. Required.
"html": "str", # Optional. Html version of the email message.
"plainText": "str" # Optional. Plain text version of the email
message.
},
"recipients": {
"to": [
{
"address": "str", # Email address. Required.
"displayName": "str" # Optional. Email display name.
}
],
"bcc": [
{
"address": "str", # Email address. Required.
"displayName": "str" # Optional. Email display name.
}
],
"cc": [
{
"address": "str", # Email address. Required.
"displayName": "str" # Optional. Email display name.
}
]
},
"senderAddress": "str", # Sender email address from a verified domain. Required.
"attachments": [
{
"name": "str" # Name of the attachment. Required.
"contentType": "str", # MIME type of the content being attached. Required.
"contentInBase64": "str", # Base64 encoded contents of the attachment. Required.
"contentId": "str" # Unique identifier (CID) to reference an inline attachment. Optional
}
],
"userEngagementTrackingDisabled": bool, # Optional. Indicates whether user engagement tracking should be disabled for this request if the resource-level user engagement tracking setting was already enabled in the control plane.
"headers": {
"str": "str" # Optional. Custom email headers to be passed.
},
"replyTo": [
{
"address": "str", # Email address. Required.
"displayName": "str" # Optional. Email display name.
}
]
}
response = {
"id": "str", # The unique id of the operation. Uses a UUID. Required.
"status": "str", # Status of operation. Required. Known values are:
"NotStarted", "Running", "Succeeded", and "Failed".
"error": {
"additionalInfo": [
{
"info": {}, # Optional. The additional info.
"type": "str" # Optional. The additional info type.
}
],
"code": "str", # Optional. The error code.
"details": [
...
],
"message": "str", # Optional. The error message.
"target": "str" # Optional. The error target.
}
}
Les valeurs response.status
sont expliquées plus en détail dans le tableau suivant.
Nom de l’état | Description |
---|---|
InProgress | L’opération d’envoi d’e-mail est en cours de traitement. |
Opération réussie | L’opération d’envoi d’e-mail s’est terminée sans erreur et l’e-mail est en attente de remise. Tout état détaillé de la remise d’e-mail au-delà de cette étape peut être obtenu via Azure Monitor ou via Azure Event Grid. Découvrir comment s’abonner à des événements par e-mail |
Échec | L’opération d’envoi d’e-mail n’a pas réussi et a rencontré une erreur. L’e-mail n’a pas été envoyé. Le résultat contient un objet d’erreur avec des détails supplémentaires sur la cause de l’échec. |
Prérequis
- Compte Azure avec un abonnement actif. Créez un compte gratuitement.
- Python 3.7+.
- Une ressource Azure Email Communication Services créée et prête avec un domaine provisionné. Bien démarrer avec la création d’une ressource Email Communication.
- Une ressource Azure Communication Services active connectée à un domaine de courrier et sa chaîne de connexion. Bien démarrer avec la connexion d’une ressource Email Communication à une ressource Azure Communication.
Suivre ce guide de démarrage rapide entraîne un coût minime de quelques cents USD tout au plus dans votre compte Azure.
Notes
Nous pouvons également envoyer un e-mail à partir de notre propre domaine vérifié. Ajouter des domaines personnalisés vérifiés à Email Communication Service.
Vérification du prérequis
- Dans une fenêtre de terminal ou de commande, exécutez la commande
python --version
pour vérifier que Python est installé. - Pour voir les domaines vérifiés avec votre ressource Email Communication Services, connectez-vous au portail Azure. Localisez votre ressource Email Communication Services, puis ouvrez l’onglet Provisionner des domaines dans le volet de navigation gauche.
Configurer l’environnement d’application
Pour configurer un environnement afin d’envoyer des e-mails, effectuez les étapes décrites dans les sections suivantes.
Créer une application Python
Ouvrez votre fenêtre de terminal ou de commande. Ensuite, la commande suivante permet de créer un environnement virtuel et de l’activer. Cette commande crée un répertoire pour votre application.
python -m venv email-quickstart
Accédez au répertoire racine de l’environnement virtuel et activez-le à l’aide des commandes suivantes.
cd email-quickstart .\Scripts\activate
Utilisez un éditeur de texte pour créer un fichier appelé send-email.py dans le répertoire racine du projet, puis ajoutez la structure du programme, notamment la gestion des exceptions de base.
import os from azure.communication.email import EmailClient try: # Quickstart code goes here. except Exception as ex: print('Exception:') print(ex)
Dans les sections suivantes, vous ajoutez tout le code source pour ce guide de démarrage rapide au fichier send-email.py que vous créez.
Installer le package
Toujours dans le répertoire de l’application, installez le package SDK Azure Communication Services Email pour Python en utilisant la commande suivante.
pip install azure-communication-email
Création du client de messagerie avec l’authentification
Il existe différentes options disponibles pour authentifier un client de messagerie :
Instanciez un EmailClient avec votre chaîne de connexion. Découvrez comment gérer la chaîne de connexion de la ressource.
# Create the EmailClient object that you use to send Email messages.
email_client = EmailClient.from_connection_string(<connection_string>)
Par souci de simplicité, ce guide de démarrage rapide utilise des chaînes de connexion, mais, dans des environnements de production, nous recommandons l’utilisation de principaux de service.
Envoyer un e-mail avec des pièces jointes
Nous pouvons ajouter une pièce jointe en définissant un attachment
et en l’ajoutant aux attachments
de l’objet de notre message
. Lisez le fichier en pièce jointe et encodez-le avec Base64. Décodez les octets sous la forme d’une chaîne et transmettez-la à l’objet attachment
.
import base64
with open("<path-to-your-attachment>", "rb") as file:
file_bytes_b64 = base64.b64encode(file.read())
message = {
"content": {
"subject": "This is the subject",
"plainText": "This is the body",
"html": "html><h1>This is the body</h1></html>"
},
"recipients": {
"to": [
{
"address": "<recipient1@emaildomain.com>",
"displayName": "Customer Name"
}
]
},
"senderAddress": "<donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net>",
"attachments": [
{
"name": "<your-attachment-name>",
"contentType": "<your-attachment-mime-type>",
"contentInBase64": file_bytes_b64.decode()
}
]
}
poller = email_client.begin_send(message)
result = poller.result()
Types MIME autorisés
Pour plus d’informations sur les types MIME acceptables pour les pièces jointes, consultez la documentation sur les types MIME autorisés.
Exemple de code
Vous pouvez télécharger l’exemple d’application qui illustre cette action à partir de GitHub
Dépannage
Remise d’e-mails
Pour résoudre les problèmes liés à la remise d’e-mails, vous pouvez obtenir l’état de la remise de l’e-mail pour capturer les détails de la remise.
Important
Le résultat de réussite retourné par l’interrogation du statut de l’opération d’envoi valide uniquement le fait que l’e-mail a été envoyé avec succès pour remise. Pour obtenir des informations supplémentaires sur le statut de la remise du côté du destinataire, vous devez référencer la façon de gérer les événements de messagerie.
Limitation d’email
Si vous voyez que votre application est bloquée, cela peut être dû à la limitation de l’envoi d’e-mails. Vous pouvez gérer cela via la journalisation ou en implémentant une stratégie personnalisée.
Notes
Cette configuration de bac à sable (sandbox) permet aux développeurs de commencer à générer l’application. Vous pouvez demander progressivement d’augmenter le volume d’envoi une fois que l’application est prête à démarrer. Envoyez une demande de support pour déclencher votre limite d’envoi souhaitée si vous avez besoin d’envoyer un volume de messages dépassant les limites de débit.
Nettoyer les ressources Azure Communication Service
Si vous voulez nettoyer et supprimer un abonnement Communication Services, vous pouvez supprimer la ressource ou le groupe de ressources. La suppression du groupe de ressources efface également les autres ressources qui y sont associées. Apprenez-en davantage sur le nettoyage des ressources.
Étapes suivantes
Dans ce guide de démarrage rapide, vous avez découvert comment envoyer un e-mail avec des pièces jointes en utilisant Azure Communication Services.
Vous voudrez peut-être aussi :
- Découvrez comment interroger manuellement les statuts d’e-mail
- En savoir plus sur l’envoi d’e-mails à plusieurs destinataires
- Vous familiariser avec la bibliothèque de client Email