Dela via


Snabbstart: Skicka e-post till flera mottagare

I den här snabbstarten får du lära dig hur du skickar e-post till flera mottagare med hjälp av våra E-post-SDK:er.

Kom igång med Azure Communication Services med hjälp av klientbiblioteket för Communication Services .NET-e-post för att skicka e-postmeddelanden.

Dricks

Kom igång med att skicka e-post med Azure Communication Services genom att hoppa direkt till exempelkoden Grundläggande e-postsändning och Avancerad e-postsändning på GitHub.

Förstå e-postobjektmodellen

Följande klasser och gränssnitt hanterar några av de viktigaste funktionerna i Azure Communication Services e-postklientbibliotek för C#.

Name beskrivning
EmailAddress Den här klassen innehåller en e-postadress och ett alternativ för ett visningsnamn.
EmailAttachment Den här klassen skapar en e-postbilaga genom att acceptera ett unikt ID, MIME-typsträng för e-postbilagor och binära data för innehåll.
EmailClient Den här klassen behövs för alla e-postfunktioner. Du instansierar den med din anslutningssträng och använder den för att skicka e-postmeddelanden.
EmailClientOptions Den här klassen kan läggas till i e-postklientinstansiationen för att rikta in sig på en specifik API-version.
EmailContent Den här klassen innehåller ämnet och brödtexten i e-postmeddelandet. Du måste ange minst ett av PlainText- eller Html-innehåll
EmailCustomHeader Den här klassen tillåter tillägg av ett namn och värdepar för en anpassad rubrik. E-postprioritet kan också anges via dessa rubriker med rubriknamnet "x-priority" eller "x-msmail-priority"
EmailMessage Den här klassen kombinerar avsändaren, innehållet och mottagarna. Anpassade rubriker, bifogade filer och svarsadresser kan också läggas till.
EmailRecipients Den här klassen innehåller listor över EmailAddress-objekt för mottagare av e-postmeddelandet, inklusive valfria listor för CC & BCC-mottagare.
EmailSendOperation Den här klassen representerar den asynkrona e-postsändningsåtgärden och returneras från API-anropet för att skicka e-post.
EmailSendResult Den här klassen innehåller resultatet av e-postsändningsåtgärden. Den har ett åtgärds-ID, åtgärdsstatus och felobjekt (om tillämpligt).

EmailSendResult returnerar följande status för den e-poståtgärd som utförts.

Status beskrivning
NotStarted Vi skickar inte den här statusen från vår tjänst just nu.
Körs E-postsändningsåtgärden pågår och bearbetas.
Slutfördes E-postsändningsåtgärden har slutförts utan fel och e-postmeddelandet är ute för leverans. Detaljerad status om e-postleveransen utöver det här steget kan hämtas antingen via Azure Monitor eller via Azure Event Grid. Lär dig hur du prenumererar på e-posthändelser
Misslyckades Åtgärden för att skicka e-post lyckades inte och påträffade ett fel. E-postmeddelandet skickades inte. Resultatet innehåller ett felobjekt med mer information om orsaken till felet.

Förutsättningar

Att slutföra den här snabbstarten medför en liten kostnad på några USD cent eller mindre i ditt Azure-konto.

Kommentar

Vi kan också skicka ett e-postmeddelande från vår egen verifierade domän. Lägg till anpassade verifierade domäner i e-postkommunikationstjänsten.

Kravkontroll

  • I ett terminal- eller kommandofönster kör du dotnet kommandot för att kontrollera att .NET-klientbiblioteket är installerat.
  • Om du vill visa de underdomäner som är associerade med resursen För e-postkommunikationstjänster loggar du in på Azure-portalen, letar upp resursen För e-postkommunikationstjänster och öppnar fliken Etablera domäner i det vänstra navigeringsfönstret.

Skapa ett nytt C#-program

I ett konsolfönster (till exempel cmd, PowerShell eller Bash) använder du dotnet new kommandot för att skapa en ny konsolapp med namnet EmailQuickstart. Det här kommandot skapar ett enkelt "Hello World" C#-projekt med en enda källfil: Program.cs.

dotnet new console -o EmailQuickstart

Ändra katalogen till den nyligen skapade appmappen dotnet build och använd kommandot för att kompilera programmet.

cd EmailQuickstart
dotnet build

Installera -paketet

Installera Azure Communication Services e-postklientbibliotek för .NET-paketet med hjälp av kommandot medan du fortfarande är i programkatalogen dotnet add package .

dotnet add package Azure.Communication.Email

Skapa e-postklienten med autentisering

Öppna Program.cs och ersätt den befintliga koden med följande för att lägga using till direktiv för att inkludera Azure.Communication.Email namnområdet och en startpunkt för körning för ditt program.


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)
    {

    }
  }
}

Det finns några olika alternativ för att autentisera en e-postklient:

Öppna Program.cs i en textredigerare och ersätt metodens Main brödtext med kod för att initiera en EmailClient med din anslutningssträng. Följande kod hämtar anslutningssträng för resursen från en miljövariabel med namnet COMMUNICATION_SERVICES_CONNECTION_STRING. Lär dig hur du hanterar resursens anslutningssträng.

// 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);

Skicka ett e-postmeddelande till flera mottagare

Vi kan definiera flera mottagare genom att lägga till fler EmailAddresses i objektet EmailRecipients. Dessa adresser kan läggas till som To, CCeller BCC mottagare. Vi kan också lägga till en ReplyTo e-postadress för att ta emot svar.

// 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 To list
var toRecipients = new List<EmailAddress>
{
  new EmailAddress("<emailalias1@emaildomain.com>"),
  new EmailAddress("<emailalias2@emaildomain.com>"),
};

// Create the CC list
var ccRecipients = new List<EmailAddress>
{
  new EmailAddress("<ccemailalias@emaildomain.com>"),
};

// Create the BCC list
var bccRecipients = new List<EmailAddress>
{
  new EmailAddress("<bccemailalias@emaildomain.com>"),
};

EmailRecipients emailRecipients = new EmailRecipients(toRecipients, ccRecipients, bccRecipients);

// 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
    emailRecipients,
    emailContent);

// Add optional ReplyTo address which is where any replies to the email will go to.
emailMessage.ReplyTo.Add(new EmailAddress("<replytoemailalias@emaildomain.com>"));

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}");
}

Kör programmet från programkatalogen dotnet run med kommandot .

dotnet run

Exempelkod

Du kan ladda ned exempelappen som visar den här åtgärden från GitHub

Kom igång med Azure Communication Services med hjälp av klientbiblioteket för Communication Services JS-e-post för att skicka e-postmeddelanden.

Dricks

Kom igång med att skicka e-post med Azure Communication Services genom att hoppa direkt till exempelkoden Grundläggande e-postsändning och Avancerad e-postsändning på GitHub.

Förstå e-postobjektmodellen

Följande klasser och gränssnitt hanterar några av de viktigaste funktionerna i Azure Communication Services e-postklientbibliotek för JavaScript.

Name beskrivning
EmailAddress Den här klassen innehåller en e-postadress och ett alternativ för ett visningsnamn.
EmailAttachment Den här klassen skapar en e-postbilaga genom att acceptera ett unikt ID, MIME-typsträng för e-postbilagor och binära data för innehåll.
EmailClient Den här klassen behövs för alla e-postfunktioner. Du instansierar den med din anslutningssträng och använder den för att skicka e-postmeddelanden.
EmailClientOptions Den här klassen kan läggas till i e-postklientinstansiationen för att rikta in sig på en specifik API-version.
EmailContent Den här klassen innehåller ämnet och brödtexten i e-postmeddelandet. Du måste ange minst ett av PlainText- eller Html-innehåll.
EmailCustomHeader Den här klassen tillåter tillägg av ett namn och värdepar för en anpassad rubrik. E-postprioritet kan också anges via dessa rubriker med rubriknamnet "x-priority" eller "x-msmail-priority".
EmailMessage Den här klassen kombinerar avsändaren, innehållet och mottagarna. Anpassade rubriker, bifogade filer och svarsadresser kan också läggas till.
EmailRecipients Den här klassen innehåller listor över EmailAddress-objekt för mottagare av e-postmeddelandet, inklusive valfria listor för CC & BCC-mottagare.
EmailSendResult Den här klassen innehåller resultatet av e-postsändningsåtgärden. Den har ett åtgärds-ID, åtgärdsstatus och felobjekt (om tillämpligt).
EmailSendStatus Den här klassen representerar statusuppsättningen för en e-postsändningsåtgärd.

EmailSendResult returnerar följande status för den e-poståtgärd som utförts.

Statusnamn beskrivning
isStarted Returnerar sant om e-postsändningsåtgärden pågår och bearbetas.
isCompleted Returnerar sant om e-postsändningsåtgärden har slutförts utan fel och e-postmeddelandet är ute för leverans. Detaljerad status om e-postleveransen utöver det här steget kan hämtas antingen via Azure Monitor eller via Azure Event Grid. Lär dig hur du prenumererar på e-posthändelser
resultat Egenskap som finns om e-postsändningsåtgärden har slutförts.
fel Egenskapen som finns om e-postsändningsåtgärden inte lyckades och påträffade ett fel. E-postmeddelandet skickades inte. Resultatet innehåller ett felobjekt med mer information om orsaken till felet.

Förutsättningar

Att slutföra den här snabbstarten medför en liten kostnad på några USD cent eller mindre i ditt Azure-konto.

Kommentar

Vi kan också skicka ett e-postmeddelande från vår egen verifierade domän. Lägg till anpassade verifierade domäner i e-postkommunikationstjänsten.

Kravkontroll

  • I ett terminal- eller kommandofönster kör du node --version för att kontrollera att Node.js är installerat.
  • Om du vill visa domänerna som verifierats med resursen e-postkommunikationstjänster loggar du in på Azure-portalen, letar upp resursen För e-postkommunikationstjänster och öppnar fliken Etablera domäner i det vänstra navigeringsfönstret.

Konfigurera programmiljön

Skapa ett nytt Node.js-program

Öppna först terminalen eller kommandofönstret, skapa en ny katalog för din app och navigera till den.

mkdir email-quickstart && cd email-quickstart

Kör npm init -y för att skapa en package.json-fil med standardinställningar.

npm init -y

Använd en textredigerare för att skapa en fil med namnet send-email.js i projektets rotkatalog. Ändra egenskapen "main" i package.json till "send-email.js". I följande avsnitt visas hur du lägger till källkoden för den här snabbstarten i den nyligen skapade filen.

Installera -paketet

npm install Använd kommandot för att installera Azure Communication Services-klientbiblioteket för e-post för JavaScript.

npm install @azure/communication-email --save

Alternativet --save visar biblioteket som ett beroende i filen package.json .

Skapa e-postklienten med autentisering

Det finns några olika alternativ för att autentisera en e-postklient:

Importera EmailClient från klientbiblioteket och instansiera det med din anslutningssträng.

Följande kod hämtar anslutningssträng för resursen från en miljövariabel med namnet COMMUNICATION_SERVICES_CONNECTION_STRING med dotenv-paketet. npm install Använd kommandot för att installera dotenv-paketet. Lär dig hur du hanterar resursens anslutningssträng.

npm install dotenv

Lägg till följande kod i 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);

För enkelhetens skull använder den här snabbstarten anslutningssträng, men i produktionsmiljöer rekommenderar vi att du använder tjänstens huvudnamn.

Skicka ett e-postmeddelande till flera mottagare

Om du vill skicka ett e-postmeddelande till flera mottagare lägger du till ett objekt för varje mottagartyp och ett objekt för varje mottagare. Dessa adresser kan läggas till som To, CCeller BCC mottagare. Du kan också lägga till en e-postadress i replyTo egenskapen om du vill få svar.

const message = {
  senderAddress: "<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 JS SDK.>"
  },
  recipients: {
    to: [
      {
        address: "customer1@domain.com",
        displayName: "Customer Name 1",
      },
      {
        address: "customer2@domain.com",
        displayName: "Customer Name 2",
      }
    ],
    cc: [
      {
        address: "ccCustomer1@domain.com",
        displayName: " CC Customer 1",
      },
      {
        address: "ccCustomer2@domain.com",
        displayName: "CC Customer 2",
      }
    ],
    bcc: [
      {
        address: "bccCustomer1@domain.com",
        displayName: " BCC Customer 1",
      },
      {
        address: "bccCustomer2@domain.com",
        displayName: "BCC Customer 2",
      }
    ]
  },
  replyTo: [
    {
      address: "replyToCustomer1@domain.com",
      displayName: "ReplyTo Customer 1",
    }
  ]
};

const poller = await emailClient.beginSend(message);
const response = await poller.pollUntilDone();

Exempelkod

Du kan ladda ned exempelappen som visar den här åtgärden från GitHub

Kom igång med Azure Communication Services med hjälp av Communication Services Java Email SDK för att skicka e-postmeddelanden.

Dricks

Kom igång med att skicka e-post med Azure Communication Services genom att hoppa direkt till exempelkoden Grundläggande e-postsändning och Avancerad e-postsändning på GitHub.

Förstå e-postobjektmodellen

Följande klasser och gränssnitt hanterar några av de viktigaste funktionerna i Azure Communication Services Email SDK för Python.

Name beskrivning
EmailAddress Den här klassen innehåller en e-postadress och ett alternativ för ett visningsnamn.
EmailAttachment Det här gränssnittet skapar en e-postbilaga genom att acceptera ett unikt ID, MIME-typsträng för e-postbilagor och en sträng med innehållsbyte.
EmailClient Den här klassen behövs för alla e-postfunktioner. Du instansierar den med din anslutningssträng och använder den för att skicka e-postmeddelanden.
EmailMessage Den här klassen kombinerar avsändaren, innehållet och mottagarna. Anpassade rubriker, bifogade filer och svarsadresser kan också läggas till.
EmailSendResult Den här klassen innehåller resultatet av e-postsändningsåtgärden. Den har ett åtgärds-ID, åtgärdsstatus och felobjekt (om tillämpligt).
EmailSendStatus Den här klassen representerar statusuppsättningen för en e-postsändningsåtgärd.

EmailSendResult returnerar följande status för den e-poståtgärd som utförts.

Statusnamn beskrivning
NOT_STARTED Vi skickar inte den här statusen från vår tjänst just nu.
IN_PROGRESS E-postsändningsåtgärden pågår och bearbetas.
SUCCESSFULLY_COMPLETED E-postsändningsåtgärden har slutförts utan fel och e-postmeddelandet är ute för leverans. Detaljerad status om e-postleveransen utöver det här steget kan hämtas antingen via Azure Monitor eller via Azure Event Grid. Lär dig hur du prenumererar på e-posthändelser
MISSLYCKADE Åtgärden för att skicka e-post lyckades inte och påträffade ett fel. E-postmeddelandet skickades inte. Resultatet innehåller ett felobjekt med mer information om orsaken till felet.

Förutsättningar

Slutförande av den här snabbstarten medför en liten kostnad på några USD-cent eller mindre på ditt Azure-konto.

Kommentar

Vi kan också skicka ett e-postmeddelande från vår egen verifierade domän Lägg till anpassade verifierade domäner i e-postkommunikationstjänsten.

Kravkontroll

  • I ett terminal- eller kommandofönster kör du mvn -v för att kontrollera att Maven är installerat.
  • Om du vill visa domänerna som verifierats med din E-postkommunikationstjänstresurs loggar du in på Azure-portalen. Leta upp din e-postkommunikationstjänstresurs och öppna fliken Etablera domäner i det vänstra navigeringsfönstret.

Konfigurera programmiljön

Utför stegen i följande avsnitt för att konfigurera en miljö för att skicka e-post.

Skapa ett nytt Java-program

Öppna terminalen eller kommandofönstret och gå till katalogen där du vill skapa java-programmet. Kör följande kommando för att generera Java-projektet från mallen 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"

Målet generate skapar en katalog med samma namn som värdet artifactId . Under den här katalogen innehåller katalogen src/main/java projektets källkod, katalogen src/test/java innehåller testkällan och pom.xml-filen är projektets projektobjektmodell (POM).

Installera -paketet

Öppna pom.xml-filen i textredigeraren. Lägg till följande beroendeelement i gruppen med beroenden.

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-communication-email</artifactId>
    <version>1.0.0-beta.2</version>
</dependency>

Konfigurera appramverket

Öppna /src/main/java/com/communication/quickstart/App.java i en textredigerare, lägg till importdirektiv och ta bort instruktionen 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.
    }
}

Skapa e-postklienten med autentisering

Det finns några olika alternativ för att autentisera en e-postklient:

Om du vill autentisera en klient instansierar du en EmailClient med din anslutningssträng. Lär dig hur du hanterar resursens anslutningssträng. Du kan också initiera klienten med en anpassad HTTP-klient som implementerar com.azure.core.http.HttpClient gränssnittet.

Om du vill instansiera en klient lägger du till följande kod i main metoden:

// 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();

För enkelhetens skull använder den här snabbstarten anslutningssträng, men i produktionsmiljöer rekommenderar vi att du använder tjänstens huvudnamn.

Skicka ett e-postmeddelande till flera mottagare

Om du vill skicka ett e-postmeddelande till flera mottagare lägger du till de nya adresserna i lämplig EmailMessage setter. Dessa adresser kan läggas till som To, CCeller BCC mottagare. Du kan också lägga till en e-postadress i replyTo egenskapen om du vill få svar.

EmailMessage message = new EmailMessage()
    .setSenderAddress("<donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net>")
    .setSubject("Welcome to Azure Communication Services Email")
    .setBodyPlainText("This email message is sent from Azure Communication Services Email using the Java SDK.")
    .setToRecipients("<recipient1@emaildomain.com>", "<recipient2@emaildomain.com>")
    .setCcRecipients("<recipient3@emaildomain.com>")
    .setBccRecipients("<recipient4@emaildomain.com>")
    .setReplyTo("<replytoemail@emaildomain.com>");

SyncPoller<EmailSendResult, EmailSendResult> poller = emailClient.beginSend(message, null);
PollResponse<EmailSendResult> response = poller.waitForCompletion();

System.out.println("Operation Id: " + response.getValue().getId());

Om du vill anpassa e-postmeddelandets mottagare ytterligare kan du instansiera objekten EmailAddress och skicka dem till lämpliga EmailMessage instanser.

EmailAddress toAddress1 = new EmailAddress("<recipient1@emaildomain.com>")
    .setDisplayName("Recipient");

EmailAddress toAddress2 = new EmailAddress("<recipient2@emaildomain.com>")
    .setDisplayName("Recipient 2");

EmailMessage message = new EmailMessage()
    .setSenderAddress("<donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net>")
    .setSubject("Welcome to Azure Communication Services Email")
    .setBodyPlainText("This email message is sent from Azure Communication Services Email using the Java SDK.")
    .setToRecipients(toAddress1, toAddress2)
    .setCcRecipients(toAddress1, toAddress2)
    .setBccRecipients(toAddress1, toAddress2)

SyncPoller<EmailSendResult, EmailSendResult> poller = emailClient.beginSend(message, null);
PollResponse<EmailSendResult> response = poller.waitForCompletion();

System.out.println("Operation Id: " + response.getValue().getId());

Exempelkod

Du kan ladda ned exempelappen som visar den här åtgärden från GitHub

Kom igång med Azure Communication Services med hjälp av E-post-SDK:et för Communication Services Python för att skicka e-postmeddelanden.

Dricks

Kom igång med att skicka e-post med Azure Communication Services genom att hoppa direkt till exempelkoden Grundläggande e-postsändning och Avancerad e-postsändning på GitHub.

Förstå e-postobjektmodellen

Följande JSON-meddelandemall och svarsobjekt visar några av de viktigaste funktionerna i Azure Communication Services Email SDK för 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": [
        {
            "contentInBase64": "str",  # Base64 encoded contents of the attachment. Required.
            "contentType": "str",  # MIME type of the content being attached. Required.
            "name": "str"  # Name of the attachment. Required.
        }
    ],
    "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.
    }
}

Värdena response.status förklaras ytterligare i följande tabell.

Statusnamn beskrivning
InProgress E-postsändningsåtgärden pågår och bearbetas.
Slutfördes E-postsändningsåtgärden har slutförts utan fel och e-postmeddelandet är ute för leverans. Detaljerad status om e-postleveransen utöver det här steget kan hämtas antingen via Azure Monitor eller via Azure Event Grid. Lär dig hur du prenumererar på e-posthändelser
Misslyckades Åtgärden för att skicka e-post lyckades inte och påträffade ett fel. E-postmeddelandet skickades inte. Resultatet innehåller ett felobjekt med mer information om orsaken till felet.

Förutsättningar

Att slutföra den här snabbstarten medför en liten kostnad på några USD cent eller mindre i ditt Azure-konto.

Kommentar

Vi kan också skicka ett e-postmeddelande från vår egen verifierade domän. Lägg till anpassade verifierade domäner i e-postkommunikationstjänsten.

Kravkontroll

  • I ett terminal- eller kommandofönster kör du python --version kommandot för att kontrollera att Python är installerat.
  • Om du vill visa domänerna som verifierats med din E-postkommunikationstjänstresurs loggar du in på Azure-portalen. Leta upp din e-postkommunikationstjänstresurs och öppna fliken Etablera domäner i det vänstra navigeringsfönstret.

Konfigurera programmiljön

Utför stegen i följande avsnitt för att konfigurera en miljö för att skicka e-post.

Skapa ett nytt Python-program

  1. Öppna terminalen eller kommandofönstret. Använd sedan följande kommando för att skapa en virtuell miljö och aktivera den. Det här kommandot skapar en ny katalog för din app.

    python -m venv email-quickstart
    
  2. Navigera till rotkatalogen i den virtuella miljön och aktivera den med hjälp av följande kommandon.

    cd email-quickstart
    .\Scripts\activate
    
  3. Använd en textredigerare för att skapa en fil med namnet send-email.py i projektets rotkatalog och lägga till strukturen för programmet, inklusive grundläggande undantagshantering.

    import os
    from azure.communication.email import EmailClient
    
    try:
        # Quickstart code goes here.
    except Exception as ex:
        print('Exception:')
        print(ex)
    

I följande avsnitt lägger du till all källkod för den här snabbstarten i den send-email.py fil som du skapade.

Installera -paketet

Installera Azure Communication Services E-post-SDK för Python-paketet med hjälp av följande kommando medan du fortfarande är i programkatalogen.

pip install azure-communication-email

Skapa e-postklienten med autentisering

Det finns några olika alternativ för att autentisera en e-postklient:

Instansiera en EmailClient med din anslutningssträng. Lär dig hur du hanterar resursens anslutningssträng.

# Create the EmailClient object that you use to send Email messages.
email_client = EmailClient.from_connection_string(<connection_string>)

För enkelhetens skull använder den här snabbstarten anslutningssträng, men i produktionsmiljöer rekommenderar vi att du använder tjänstens huvudnamn.

Skicka ett e-postmeddelande till flera mottagare

Vi kan definiera flera mottagare genom att lägga till fler e-postadresser i recipients objektet. Dessa adresser kan läggas till som to, cceller bcc mottagarlistor i enlighet med detta. Vi kan också lägga till en ReplyTo e-postadress för att ta emot svar.

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"},
            {"address": "<recipient2@emaildomain.com>", "displayName": "Customer Name 2"}
        ],
        "cc": [
            {"address": "<recipient1@emaildomain.com>", "displayName": "Customer Name"},
            {"address": "<recipient2@emaildomain.com>", "displayName": "Customer Name 2"}
        ],
        "bcc": [
            {"address": "<recipient1@emaildomain.com>", "displayName": "Customer Name"},
            {"address": "<recipient2@emaildomain.com>", "displayName": "Customer Name 2"}
        ]
    },
    "replyTo": [
        {"address": "<replytoemail@emaildomain.com>", "displayName": "Display Name"}
    ],
    "senderAddress": "<donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net>"
}

poller = email_client.begin_send(message)
result = poller.result()

Exempelkod

Du kan ladda ned exempelappen som visar den här åtgärden från GitHub

Felsökning

E-postleverans

Om du vill felsöka problem som rör e-postleverans kan du få status för e-postleveransen för att samla in leveransinformation.

Viktigt!

Det lyckade resultatet som returneras av avsökningen för sändningsåtgärdens status verifierar bara det faktum att e-postmeddelandet har skickats ut för leverans. Om du vill få ytterligare information om statusen för leveransen på mottagarsidan måste du referera till hur du hanterar e-posthändelser.

Begränsning av e-post

Om du ser att programmet hänger kan det bero på att e-postsändningen begränsas. Du kan hantera detta genom loggning eller genom att implementera en anpassad princip.

Kommentar

Den här sandbox-installationen hjälper utvecklare att börja skapa programmet. Du kan gradvis begära att öka sändningsvolymen när programmet är redo att gå live. Skicka en supportbegäran för att höja den önskade sändningsgränsen om du behöver skicka en mängd meddelanden som överskrider hastighetsgränserna.

Rensa Azure Communication Service-resurser

Om du vill rensa och ta bort en Communication Services-prenumeration kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort. Läs mer om att rensa resurser.

Nästa steg

I den här snabbstarten lärde du dig att manuellt söka efter status när du skickar e-post med Hjälp av Azure Communication Services.

Du kanske också vill: