Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek popisuje, jak odesílat e-maily pomocí e-mailové sady SDK více příjemcům.
Začněte se službou Azure Communication Services pomocí e-mailové klientské knihovny komunikačních služeb .NET k odesílání e-mailových zpráv.
Dokončení tohoto článku může na vašem účtu Azure způsobit malý náklad v řádu několika amerických centů nebo méně.
Návod
Začněte vaši zkušenost s odesíláním e-mailů pomocí Azure Communication Services tím, že využijete ukázky z GitHubu - Základní odesílání e-mailů a Pokročilé odesílání e-mailů.
Vysvětlení modelu objektu e-mailu
Následující třídy a rozhraní zpracovávají některé z hlavních funkcí e-mailové knihovny e-mailových služeb Azure pro C#.
| Název | Popis |
|---|---|
| E-mailová adresa | Tato třída obsahuje e-mailovou adresu a možnost zobrazovaného jména. |
| Příloha e-mailu | Tato třída vytvoří e-mailovou přílohu tím, že přijme jedinečné ID, řetězec typu MIME e-mailové přílohy, binární data pro obsah a volitelné ID obsahu, které jej definuje jako inline přílohu. |
| E-mailový klient | Tato třída je potřebná pro všechny funkce e-mailu. Vytvoříte instanci s připojovací řetězec a použijete ji k odesílání e-mailových zpráv. |
| Možnosti E-mailového Klienta | Tuto třídu je možné přidat do instance EmailClient pro cílení na konkrétní verzi rozhraní API. |
| Obsah e-mailu | Tato třída obsahuje předmět a text e-mailové zprávy. Musíte zadat alespoň jeden z obsahu PlainText nebo Html. |
| VlastníHlavičkaEmailu | Tato třída umožňuje přidání dvojice názvů a hodnot pro vlastní hlavičku. Důležitost e-mailu lze také zadat prostřednictvím těchto hlaviček pomocí názvu záhlaví x-priority nebo x-msmail-priority. |
| Emailová zpráva | Tato třída kombinuje odesílatele, obsah a příjemce. Můžete také přidat vlastní záhlaví, přílohy a e-mailové adresy pro odpovědi. |
| E-mailRecipients | Tato třída obsahuje seznamy objektů EmailAddress pro příjemce e-mailové zprávy, včetně volitelných seznamů pro příjemce kopie a slepé kopie. |
| OperaceOdesláníEmailu | Tato třída představuje asynchronní operaci odeslání e-mailu a je vrácena z volání rozhraní API pro odesílání e-mailů. |
| VýsledekOdesláníEmailu | Tato třída obsahuje výsledky operace odeslání e-mailu. Má ID operace, stav operace a objekt chyby (pokud je k dispozici). |
Funkce EmailSendResult vrátí následující stav provedené e-mailové operace.
| Stav | Popis |
|---|---|
| Nezahájeno | V tuto chvíli tento stav neodesíláme z naší služby. |
| Běží | Právě probíhá a zpracovává se operace odeslání e-mailu. |
| Úspěšný | Operace odeslání e-mailu se dokončila bez chyby a e-mail je k doručení. Jakýkoli podrobný stav o doručení e-mailu nad rámec této fáze je možné získat prostřednictvím služby Azure Monitor nebo prostřednictvím služby Azure Event Grid. Zjistěte, jak se přihlásit k odběru e-mailových událostí. |
| Neúspěšný | Operace odeslání e-mailu nebyla úspěšná a došlo k chybě. E-mail se neodeslal. Výsledek obsahuje objekt chyby s dalšími podrobnostmi o důvodu selhání. |
Požadavky
- Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
- Nejnovější verze klientské knihovny .NET Core pro váš operační systém.
- Prostředek služby Azure Email Communication Services vytvořený a připravený se zřízenou doménou Začínáme s vytvářením prostředku pro e-mailovou komunikaci
- Aktivní prostředek komunikační služby připojený k e-mailové doméně a připojovacímu řetězci. Začínáme připojením e-mailového prostředku pomocí komunikačního prostředku
Dokončení tohoto článku může na vašem účtu Azure způsobit malý náklad v řádu několika amerických centů nebo méně.
Poznámka:
Můžeme také poslat e-mail z naší vlastní ověřené domény. Přidání vlastních ověřených domén do e-mailové komunikační služby
Kontrola splnění předpokladů
- V terminálu nebo příkazovém okně spusťte
dotnetpříkaz a zkontrolujte, jestli je nainstalovaná klientská knihovna .NET. - Pokud chcete zobrazit subdomény přidružené k vašemu prostředku e-mailové komunikační služby, přihlaste se k webu Azure Portal, vyhledejte prostředek e-mailové komunikační služby a v levém navigačním podokně otevřete kartu Zřizovací domény .
Vytvoření nové aplikace jazyka C#
V okně konzoly (například cmd, PowerShell nebo Bash) pomocí dotnet new příkazu vytvořte novou konzolovou aplikaci s názvem EmailQuickstart. Tento příkaz vytvoří jednoduchý projekt "Hello World" C# s jedním zdrojovým souborem: Program.cs.
dotnet new console -o EmailQuickstart
Změňte adresář na nově vytvořenou složku aplikace a pomocí dotnet build příkazu zkompilujte aplikaci.
cd EmailQuickstart
dotnet build
Nainstalujte balíček .
V adresáři aplikace nainstalujte pomocí příkazu dotnet add package klientskou knihovnu balíčku e-mailových služeb Azure Communication Services pro .NET.
dotnet add package Azure.Communication.Email
Vytvoření e-mailového klienta s ověřováním
Otevřete Program.cs a nahraďte stávající kód následujícími direktivami pro přidání using direktiv pro zahrnutí Azure.Communication.Email oboru názvů a výchozího bodu pro spuštění programu.
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)
{
}
}
}
Pro ověření e-mailového klienta máte k dispozici několik možností:
Otevřete Program.cs v textovém editoru a nahraďte tělo metody Main kódem, který inicializuje EmailClient pomocí vašeho řetězce připojení. Následující kód načte připojovací řetězec pro prostředek z proměnné prostředí s názvem COMMUNICATION_SERVICES_CONNECTION_STRING. Zjistěte, jak spravovat připojovací řetězec vašeho prostředku.
// 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);
Odeslání e-mailové zprávy více příjemcům
Více příjemců můžeme definovat přidáním dalších EmailAddresses do objektu EmailRecipients. Tyto adresy lze přidat jako To, CCnebo BCC příjemce. Volitelně můžeme také přidat e-mailovou ReplyTo adresu pro příjem všech odpovědí.
// 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}");
}
Spusťte aplikaci z adresáře aplikace pomocí dotnet run příkazu.
dotnet run
Ukázkový kód
Ukázkovou aplikaci, která demonstruje tuto akci, si můžete stáhnout z Webu Azure Samples Send Email pro .NET.
Začněte se službou Azure Communication Services pomocí e-mailové knihovny JS komunikačních služeb k odesílání e-mailových zpráv.
Dokončení tohoto rychlého startu se na účtu Azure účtuje malá částka v hodnotě několika amerických centů nebo méně.
Návod
Při používání služby Azure Communication Services začněte s odesíláním e-mailů tím, že přímo přejdete na vzorový kód Základní odesílání e-mailů a Pokročilé odesílání e-mailů na GitHubu.
Principy e-mailového objektového modelu
Následující třídy a rozhraní zpracovávají některé z hlavních funkcí e-mailové knihovny e-mailových služeb Azure pro JavaScript.
| Název | Popis |
|---|---|
| E-mailová adresa | Tato třída obsahuje e-mailovou adresu a možnost zobrazovaného jména. |
| Příloha e-mailu | Tato třída vytvoří e-mailovou přílohu tím, že přijme jedinečné ID, řetězec typu MIME e-mailové přílohy, binární data pro obsah a volitelné ID obsahu, které jej definuje jako inline přílohu. |
| E-mailový klient | Tato třída je potřebná pro všechny funkce e-mailu. Vytvoříte instanci s připojovací řetězec a použijete ji k odesílání e-mailových zpráv. |
| Možnosti E-mailového Klienta | Tuto třídu je možné přidat do instance EmailClient pro cílení na konkrétní verzi rozhraní API. |
| Obsah e-mailu | Tato třída obsahuje předmět a text e-mailové zprávy. Musíte zadat alespoň jeden obsah PlainText nebo Html. |
| VlastníHlavičkaEmailu | Tato třída umožňuje přidání dvojice názvů a hodnot pro vlastní hlavičku. Důležitost e-mailu lze také zadat prostřednictvím těchto hlaviček pomocí názvu záhlaví x-priority nebo x-msmail-priority. |
| Emailová zpráva | Tato třída kombinuje odesílatele, obsah a příjemce. Můžete také přidat vlastní záhlaví, přílohy a e-mailové adresy pro odpovědi. |
| E-mailRecipients | Tato třída obsahuje seznamy objektů EmailAddress pro příjemce e-mailové zprávy, včetně volitelných seznamů pro příjemce kopie a slepé kopie. |
| VýsledekOdesláníEmailu | Tato třída obsahuje výsledky operace odeslání e-mailu. Má ID operace, stav operace a objekt chyby (pokud je k dispozici). |
| StavOdesláníE-mailu | Tato třída představuje sadu stavů operace odeslání e-mailu. |
Funkce EmailSendResult vrátí následující stav provedené e-mailové operace.
| Název stavu | Popis |
|---|---|
| zahájeno | Vrátí hodnotu true, pokud právě probíhá operace odeslání e-mailu a zpracovává se. |
| jeDokončeno | Vrátí hodnotu true, pokud se operace odeslání e-mailu dokončila bez chyby a e-mail je mimo doručení. Jakýkoli podrobný stav o doručení e-mailu nad rámec této fáze je možné získat prostřednictvím služby Azure Monitor nebo prostřednictvím služby Azure Event Grid. Zjistěte, jak se přihlásit k odběru e-mailových událostí. |
| výsledek | Vlastnost, která existuje, pokud operace odeslání e-mailu skončila. |
| chyba | Vlastnost, která existuje, pokud operace odeslání e-mailu nebyla úspěšná a došlo k chybě. E-mail se neodeslal. Výsledek obsahuje objekt chyby s dalšími podrobnostmi o důvodu selhání. |
Požadavky
- Node.js (~14).
- Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
- Prostředek Azure Email Communication Services vytvořený a připravený se zřízenou doménou. Začínáme s vytvářením prostředku pro e-mailovou komunikaci
- Aktivní prostředek Azure Communication Services, který je připojený k e-mailové doméně, spolu s jeho připojovacím řetězcem. Začněte tím, že připojíte prostředek komunikace e-mailu s prostředkem komunikace Azure.
Dokončení tohoto rychlého startu se na účtu Azure účtuje malá částka v hodnotě několika amerických centů nebo méně.
Poznámka:
Můžeme také poslat e-mail z naší vlastní ověřené domény. Přidání vlastních ověřených domén do e-mailové komunikační služby
Kontrola splnění předpokladů
- V terminálu nebo příkazovém okně spusťte kontrolu
node --version, jestli je nainstalovaná Node.js. - Pokud chcete zobrazit domény ověřené prostředkem e-mailové komunikační služby, přihlaste se k webu Azure Portal, vyhledejte prostředek e-mailové komunikační služby a v levém navigačním podokně otevřete kartu Zřizovat domény .
Nastavení aplikačního prostředí
Vytvoření nové aplikace Node.js
Nejprve otevřete terminál nebo příkazové okno, vytvořte pro aplikaci nový adresář a přejděte na něj.
mkdir email-quickstart && cd email-quickstart
Spuštěním příkazu npm init -y vytvořte soubor package.json s výchozím nastavením.
npm init -y
Pomocí textového editoru vytvořte soubor s názvem send-email.js v kořenovém adresáři projektu. Změňte vlastnost main v package.json na send-email.js. Následující část ukazuje, jak přidat zdrojový kód pro tento rychlý start do nově vytvořeného souboru.
Nainstalujte balíček .
npm install Pomocí příkazu nainstalujte klientskou knihovnu e-mailových služeb Azure Communication Services pro JavaScript.
npm install @azure/communication-email --save
--save možnost uvede knihovnu jako závislost ve vašem souboru package.json.
Vytvoření e-mailového klienta s ověřováním
Pro ověřování e-mailového klienta je k dispozici několik různých možností:
Importujte EmailClient z klientské knihovny a vytvořte instanci pomocí svého připojovacího řetězce.
Následující kód načte připojovací řetězec prostředku z proměnné prostředí pojmenované COMMUNICATION_SERVICES_CONNECTION_STRING pomocí balíčku dotenv.
npm install Pomocí příkazu nainstalujte balíček dotenv. Zjistěte, jak spravovat připojovací řetězec vašeho prostředku.
npm install dotenv
Do send-email.js přidejte následující kód:
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);
Pro zjednodušení tento rychlý start používá připojovací řetězec, ale v produkčních prostředích doporučujeme používat instanční objekty.
Odeslání e-mailové zprávy více příjemcům
Pokud chcete poslat e-mailovou zprávu více příjemcům, přidejte objekt pro každý typ příjemce a objekt pro každého příjemce. Tyto adresy lze přidat jako To, CCnebo BCC příjemce. Volitelně můžete do vlastnosti přidat e-mailovou replyTo adresu, pokud chcete dostávat jakékoli odpovědi.
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();
Ukázkový kód
Ukázkovou aplikaci, která demonstruje tuto akci, si můžete stáhnout z GitHubu Azure Samples Send Email pro JavaScript.
Začněte s Azure Communication Services pomocí Communication Services Java Email SDK k odesílání e-mailových zpráv.
Dokončení tohoto rychlého startu se na účtu Azure účtuje malá částka v hodnotě několika amerických centů nebo méně.
Návod
Při používání služby Azure Communication Services začněte s odesíláním e-mailů tím, že přímo přejdete na vzorový kód Základní odesílání e-mailů a Pokročilé odesílání e-mailů na GitHubu.
Principy e-mailového objektového modelu
Následující třídy a rozhraní zpracovávají některé z hlavních funkcí e-mailové sady SDK služby Azure Communication Services pro Python.
| Název | Popis |
|---|---|
| E-mailová adresa | Tato třída obsahuje e-mailovou adresu a možnost zobrazovaného jména. |
| Příloha e-mailu | Toto rozhraní vytvoří e-mailovou přílohu tím, že přijme jedinečné ID, řetězec typu MIME přílohy e-mailu, řetězec bajtů obsahu a volitelné ID obsahu, které ji definuje jako vloženou přílohu. |
| E-mailový klient | Tato třída je potřebná pro všechny funkce e-mailu. Vytvoříte instanci s připojovací řetězec a použijete ji k odesílání e-mailových zpráv. |
| Emailová zpráva | Tato třída kombinuje odesílatele, obsah a příjemce. Můžete také přidat vlastní záhlaví, přílohy a e-mailové adresy pro odpovědi. |
| VýsledekOdesláníEmailu | Tato třída obsahuje výsledky operace odeslání e-mailu. Má ID operace, stav operace a objekt chyby (pokud je k dispozici). |
| StavOdesláníE-mailu | Tato třída představuje sadu stavů operace odeslání e-mailu. |
Funkce EmailSendResult vrátí následující stav provedené e-mailové operace.
| Název stavu | Popis |
|---|---|
| NEZAHÁJENO | V tuto chvíli tento stav neodesíláme z naší služby. |
| Probíhá | Právě probíhá a zpracovává se operace odeslání e-mailu. |
| ÚSPĚŠNĚ_DOKONČENO | Operace odeslání e-mailu se dokončila bez chyby a e-mail je k doručení. Jakýkoli podrobný stav o doručení e-mailu nad rámec této fáze je možné získat prostřednictvím služby Azure Monitor nebo prostřednictvím služby Azure Event Grid. Zjistěte, jak se přihlásit k odběru e-mailových událostí. |
| CHYBA | Operace odeslání e-mailu nebyla úspěšná a došlo k chybě. E-mail se neodeslal. Výsledek obsahuje objekt chyby s dalšími podrobnostmi o důvodu selhání. |
Požadavky
- Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
- Java Development Kit (JDK) verze 8 nebo novější.
- Apache Maven
- Nasazený prostředek pro komunikační služby a připojovací řetězec. Podrobnosti najdete v tématu Vytvoření prostředku komunikační služby.
- Vytvořte prostředek Azure Email Communication Services, který začne odesílat e-maily.
- Nastavení spravované identity pro vývojové prostředí najdete v tématu Autorizace přístupu pomocí spravované identity.
Při dokončení tohoto rychlého zprovoznění vzniknou ve vašem účtu Azure náklady ve výši několika centů USD (nebo menší).
Poznámka:
Můžeme také odeslat e-mail z naší vlastní ověřené domény Přidat vlastní ověřené domény do e-mailové komunikační služby.
Kontrola splnění předpokladů
- V terminálu nebo příkazovém okně spusťte kontrolu
mvn -v, jestli je maven nainstalovaný. - Pokud chcete zobrazit domény ověřené pomocí vašeho prostředku e-mailové komunikace, přihlaste se k webu Azure Portal. Vyhledejte prostředek e-mailové komunikace a v levém navigačním podokně otevřete kartu Zřizovací domény .
Nastavení aplikačního prostředí
Pokud chcete nastavit prostředí pro odesílání e-mailů, postupujte podle kroků v následujících částech.
Vytvoření nové aplikace v Javě
Otevřete terminál nebo příkazové okno a přejděte do adresáře, do kterého chcete vytvořit aplikaci v Javě. Spuštěním následujícího příkazu vygenerujte projekt Java ze šablony 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"
Cíl generate vytvoří adresář se stejným názvem jako artifactId hodnota. V tomto adresáři obsahuje adresář src/main/java zdrojový kód projektu, adresář src/test/java obsahuje zdroj testů a soubor pom.xml je projektový objektový model (POM).
Nainstalujte balíček .
Otevřete soubor pom.xml v textovém editoru. Do skupiny závislostí přidejte následující prvek závislosti.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-communication-email</artifactId>
<version>1.0.0-beta.2</version>
</dependency>
Nastavení architektury aplikace
Otevřete /src/main/java/com/communication/quickstart/App.java v textovém editoru, přidejte direktivy importu System.out.println("Hello world!"); a odeberte příkaz:
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.
}
}
Vytvoření e-mailového klienta s ověřováním
Pro ověřování e-mailového klienta je k dispozici několik různých možností:
Pokud chcete ověřit klienta, vytvořte instanci z EmailClient s připojovacím řetězcem. Zjistěte, jak spravovat připojovací řetězec vašeho prostředku. Klienta můžete také inicializovat pomocí libovolného vlastního klienta HTTP, který implementuje com.azure.core.http.HttpClient rozhraní.
Pokud chcete vytvořit instanci klienta, přidejte do main metody následující kód:
// 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();
Pro zjednodušení tento rychlý start používá připojovací řetězec, ale v produkčních prostředích doporučujeme používat instanční objekty.
Odeslání e-mailové zprávy více příjemcům
Pokud chcete poslat e-mailovou zprávu více příjemcům, přidejte nové adresy do příslušného EmailMessage pořadí. Tyto adresy lze přidat jako To, CCnebo BCC příjemce. Volitelně můžete do vlastnosti přidat e-mailovou replyTo adresu, pokud chcete dostávat jakékoli odpovědi.
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());
Pokud chcete příjemce e-mailové zprávy dále přizpůsobit, můžete objekty EmailAddress vytvářet jako instance a předat je příslušným setterům EmailMessage.
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());
Ukázkový kód
Ukázkovou aplikaci, která demonstruje tuto akci, si můžete stáhnout z GitHubu Azure Samples Send Email pro Javu.
Začněte se službou Azure Communication Services pomocí e-mailové sady SDK pro komunikační služby Python k odesílání e-mailových zpráv.
Dokončení tohoto rychlého startu se na účtu Azure účtuje malá částka v hodnotě několika amerických centů nebo méně.
Návod
Při používání služby Azure Communication Services začněte s odesíláním e-mailů tím, že přímo přejdete na vzorový kód Základní odesílání e-mailů a Pokročilé odesílání e-mailů na GitHubu.
Principy e-mailového objektového modelu
Následující objekt šablony zpráv JSON a odpovědi předvádí některé z hlavních funkcí e-mailové sady SDK služby Azure Communication Services pro 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.
}
}
Hodnoty response.status jsou vysvětleny dále v následující tabulce.
| Název stavu | Popis |
|---|---|
| Probíhající | Právě probíhá a zpracovává se operace odeslání e-mailu. |
| Úspěšný | Operace odeslání e-mailu se dokončila bez chyby a e-mail je k doručení. Jakýkoli podrobný stav o doručení e-mailu nad rámec této fáze je možné získat prostřednictvím služby Azure Monitor nebo prostřednictvím služby Azure Event Grid. Zjistěte, jak se přihlásit k odběru e-mailových událostí. |
| Neúspěšný | Operace odeslání e-mailu nebyla úspěšná a došlo k chybě. E-mail se neodeslal. Výsledek obsahuje objekt chyby s dalšími podrobnostmi o důvodu selhání. |
Požadavky
- Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
- Python 3.7+.
- Prostředek Azure Email Communication Services vytvořený a připravený se zřízenou doménou. Začínáme s vytvářením prostředku pro e-mailovou komunikaci
- Aktivní prostředek Azure Communication Services, který je připojený k e-mailové doméně, spolu s jeho připojovacím řetězcem. Začněte tím, že připojíte prostředek komunikace e-mailu s prostředkem komunikace Azure.
Dokončení tohoto rychlého startu se na účtu Azure účtuje malá částka v hodnotě několika amerických centů nebo méně.
Poznámka:
Můžeme také poslat e-mail z naší vlastní ověřené domény. Přidání vlastních ověřených domén do e-mailové komunikační služby
Kontrola splnění předpokladů
- V terminálu nebo příkazovém okně spusťte
python --versionpříkaz a zkontrolujte, jestli je Python nainstalovaný. - Pokud chcete zobrazit domény ověřené pomocí vašeho prostředku e-mailové komunikace, přihlaste se k webu Azure Portal. Vyhledejte prostředek e-mailové komunikace a v levém navigačním podokně otevřete kartu Zřizovací domény .
Nastavení aplikačního prostředí
Pokud chcete nastavit prostředí pro odesílání e-mailů, postupujte podle kroků v následujících částech.
Vytvoření nové aplikace v Pythonu
Otevřete terminál nebo příkazové okno. Pak pomocí následujícího příkazu vytvořte virtuální prostředí a aktivujte ho. Tento příkaz vytvoří pro vaši aplikaci nový adresář.
python -m venv email-quickstartPřejděte do kořenového adresáře virtuálního prostředí a aktivujte ho pomocí následujících příkazů.
cd email-quickstart .\Scripts\activatePomocí textového editoru vytvořte soubor s názvem send-email.py v kořenovém adresáři projektu a přidejte strukturu programu, včetně základního zpracování výjimek.
import os from azure.communication.email import EmailClient try: # Quickstart code goes here. except Exception as ex: print('Exception:') print(ex)
V následujících částech přidáte veškerý zdrojový kód pro tento rychlý start do send-email.py souboru, který jste vytvořili.
Nainstalujte balíček .
Zatímco se stále nacházíte v adresáři aplikace, nainstalujte Email SDK služby Azure Communication Services pro Python pomocí následujícího příkazu.
pip install azure-communication-email
Vytvoření e-mailového klienta s ověřováním
Pro ověřování e-mailového klienta je k dispozici několik různých možností:
Vytvořte instanci EmailClient pomocí vašeho připojovacího řetězce. Zjistěte, jak spravovat připojovací řetězec vašeho prostředku.
# Create the EmailClient object that you use to send Email messages.
email_client = EmailClient.from_connection_string(<connection_string>)
Pro zjednodušení tento rychlý start používá připojovací řetězec, ale v produkčních prostředích doporučujeme používat instanční objekty.
Odeslání e-mailové zprávy více příjemcům
Více příjemců můžeme definovat přidáním dalších e-mailových adres do objektu recipients . Tyto adresy lze přidat jako to, ccnebo bcc seznamy příjemců odpovídajícím způsobem. Volitelně můžeme také přidat e-mailovou ReplyTo adresu pro příjem všech odpovědí.
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()
Ukázkový kód
Ukázkovou aplikaci, která demonstruje tuto akci, si můžete stáhnout z GitHubu Azure Samples Send Email for Python.
Řešení problému
Doručování e-mailů
Pokud chcete vyřešit problémy související s doručováním e-mailů, můžete získat stav doručení e-mailu a zaznamenat podrobnosti o doručení.
Důležité
Výsledek úspěšného stavu dotazování pro operaci odeslání pouze potvrzuje, že e-mail byl odeslán k doručení. Další informace o stavu doručení na konci příjemce najdete v tématu zpracování e-mailových událostí.
Regulace toku e-mailů
Pokud je vaše aplikace zablokovaná, může to být způsobené omezováním odesílání e-mailů. Můžete řídit omezování e-mailů pomocí protokolování nebo implementace vlastních zásad.
Poznámka:
Cílem tohoto sandboxu je pomoct vývojářům začít vytvářet aplikaci. Jakmile je aplikace připravená k živému provozu, můžete postupně požádat o zvýšení objemu odesílání. Pokud potřebujete odeslat více zpráv, než je počáteční limit rychlosti, odešlete žádost o podporu, která zvýší požadovaný limit odesílání.
Vyčištění prostředků služby Azure Communication Service
Pokud chcete vyčistit a odebrat předplatné služby Communication Services, můžete odstranit prostředek nebo skupinu prostředků. Odstraněním skupiny prostředků se odstraní také všechny ostatní prostředky, které jsou k ní přidružené. Další informace najdete v tématu Čištění prostředků.
Další kroky
- Naučte se, jak ručně dotazovat na stav e-mailu
- Další informace o odesílání e-mailů s přílohami
- Seznámení s e-mailovou klientskou knihovnou