Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule opisano sposób wysyłania wiadomości e-mail do wielu adresatów przy użyciu pakietów SDK poczty e-mail.
Rozpocznij pracę z usługami Azure Communication Services przy użyciu biblioteki klienta poczty e-mail usługi Communication Services .NET w celu wysyłania wiadomości e-mail.
Ukończenie tego artykułu wiąże się z niewielkim kosztem kilku centów USD lub mniej na koncie platformy Azure.
Napiwek
Rozpocznij wysyłanie wiadomości e-mail za pomocą usług Azure Communication Services przy użyciu usługi GitHub Azure Samples Basic Email Sending i Advanced Email Sending( Zaawansowane wysyłanie wiadomości e-mail).
Omówienie modelu obiektów poczty e-mail
Następujące klasy i interfejsy obsługują niektóre główne funkcje biblioteki klienta poczty e-mail usług Azure Communication Services dla języka C#.
Nazwa/nazwisko | opis |
---|---|
Adres e-mail | Ta klasa zawiera adres e-mail i opcję nazwy wyświetlanej. |
Dołączenie wiadomości e-mail | Ta klasa tworzy załącznik wiadomości e-mail, akceptując unikatowy identyfikator, ciąg typu MIME załącznika wiadomości e-mail, dane binarne zawartości i opcjonalny identyfikator zawartości, aby zdefiniować go jako załącznik wbudowany. |
Klient poczty e-mail | Ta klasa jest wymagana dla wszystkich funkcji poczty e-mail. Utwórz wystąpienie za pomocą parametry połączenia i użyjesz go do wysyłania wiadomości e-mail. |
OpcjeKlientaPoczty | Tę klasę można dodać do utworzenia elementu EmailClient, aby określić konkretną wersję interfejsu API. |
Zawartość wiadomości e-mail | Ta klasa zawiera temat i treść wiadomości e-mail. Musisz określić co najmniej jedną zawartość w postaci zwykłego tekstu lub html |
NiestandardowyNagłówekEmaila | Ta klasa umożliwia dodanie pary nazw i wartości dla nagłówka niestandardowego. Ważność wiadomości e-mail można również określić za pomocą tych nagłówków przy użyciu nazwy nagłówka "x-priority" lub "x-msmail-priority" |
Wiadomość e-mail | Ta klasa łączy nadawcę, zawartość i adresatów. Niestandardowe nagłówki, załączniki i adresy e-mail do odpowiedzi można również dodawać opcjonalnie. |
Adresy e-mail odbiorców | Ta klasa zawiera listy obiektów EmailAddress dla adresatów wiadomości e-mail, w tym opcjonalne listy dla adresatów CC & BCC. |
OperacjaWysyłaniaEmaila | Ta klasa reprezentuje asynchroniczną operację wysyłania wiadomości e-mail i jest zwracana z wywołania interfejsu API wysyłania wiadomości e-mail. |
WynikWysłaniaEmaila | Ta klasa zawiera wyniki operacji wysyłania wiadomości e-mail. Ma identyfikator operacji, stan operacji i obiekt błędu (jeśli ma to zastosowanie). |
Funkcja EmailSendResult zwraca następujący stan operacji poczty e-mail.
Stan | opis |
---|---|
Nierozpoczęte | Obecnie nie wysyłamy tego stanu z naszej usługi. |
Działa | Operacja wysyłania wiadomości e-mail jest obecnie w toku i jest przetwarzana. |
Powodzenie | Operacja wysyłania wiadomości e-mail została ukończona bez błędu i wiadomość e-mail jest obecnie dostępna do dostarczenia. Każdy szczegółowy stan dostarczania wiadomości e-mail poza tym etapem można uzyskać za pośrednictwem usługi Azure Monitor lub usługi Azure Event Grid. Dowiedz się, jak zapisywać się na wydarzenia e-mail |
Niepowodzenie | Operacja wysyłania wiadomości e-mail nie powiodła się i wystąpił błąd. Wiadomość e-mail nie została wysłana. Wynik zawiera obiekt błędu z bardziej szczegółowymi informacjami na temat przyczyny niepowodzenia. |
Wymagania wstępne
- Konto platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.
- Najnowsza wersja biblioteki klienta .NET Core dla systemu operacyjnego.
- Zasób usługi Azure Email Communication Services utworzony i gotowy z aprowizowaną domeną Rozpoczynanie pracy z tworzeniem zasobu komunikacji poczty e-mail
- Aktywny zasób usług komunikacyjnych połączony z domeną poczty e-mail i parametrami połączenia. Rozpocznij pracę, łącząc zasób poczty e-mail z zasobem komunikacji
Ukończenie tego artykułu wiąże się z niewielkim kosztem kilku centów USD lub mniej na koncie platformy Azure.
Uwaga
Możemy również wysłać wiadomość e-mail z własnej zweryfikowanej domeny. Dodaj niestandardowe zweryfikowane domeny do usługi komunikacji e-mail.
Sprawdzanie wymagań wstępnych
- W terminalu lub oknie polecenia uruchom
dotnet
polecenie , aby sprawdzić, czy zainstalowano bibliotekę klienta platformy .NET. - Aby wyświetlić poddomeny skojarzone z zasobem usług poczty e-mail, zaloguj się do Azure portal, znajdź zasób usług poczty e-mail i otwórz kartę Domeny aprowizowane na pasku nawigacyjnym po lewej stronie.
Tworzenie nowej aplikacji w języku C#
W oknie konsoli (takim jak cmd, PowerShell lub Bash) użyj dotnet new
polecenia , aby utworzyć nową aplikację konsolową o nazwie EmailQuickstart
. To polecenie tworzy prosty projekt języka C# "Hello World" z jednym plikiem źródłowym: Program.cs.
dotnet new console -o EmailQuickstart
Zmień katalog na nowo utworzony folder aplikacji i użyj dotnet build
polecenia , aby skompilować aplikację.
cd EmailQuickstart
dotnet build
Instalowanie pakietu
Pozostając w katalogu aplikacji, zainstaluj bibliotekę klienta poczty e-mail dla usług Azure Communication Services pakietu .NET przy użyciu polecenia dotnet add package
.
dotnet add package Azure.Communication.Email
Tworzenie klienta poczty e-mail przy użyciu uwierzytelniania
Otwórz Program.cs i zastąp istniejący kod następującym kodem, aby dodać using
dyrektywy dotyczące włączenia Azure.Communication.Email
przestrzeni nazw i punktu początkowego do uruchomienia 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)
{
}
}
}
Dostępnych jest kilka opcji uwierzytelniania klienta poczty e-mail:
Otwórz Program.cs w edytorze tekstowym i zastąp treść metody Main
kodem inicjalizującym obiekt EmailClient
za pomocą ciągu połączenia. Poniższy kod pobiera parametry połączenia zasobu ze zmiennej środowiskowej o nazwie COMMUNICATION_SERVICES_CONNECTION_STRING
. Dowiedz się, jak zarządzać łańcuchem połączenia zasobu.
// 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);
Wysyłanie wiadomości e-mail do wielu adresatów
Możemy zdefiniować wielu adresatów, dodając więcej elementów EmailAddresses do obiektu EmailRecipients. Te adresy można dodawać jako To
, CC
lub BCC
odbiorców. Opcjonalnie możemy również dodać ReplyTo
adres e-mail, aby otrzymywać odpowiedzi.
// 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}");
}
Uruchom aplikację w katalogu aplikacji poleceniem dotnet run
.
dotnet run
Przykładowy kod
Przykładową aplikację demonstrującą tę akcję można pobrać z witryny GitHub Azure Samples Send Email for .NET (Przykłady platformy Azure Wyślij wiadomość e-mail dla platformy .NET).
Rozpocznij pracę z usługami Azure Communication Services, używając biblioteki klienta poczty e-mail JS do wysyłania wiadomości e-mail.
Ukończenie tego szybkiego startu wiąże się z niewielkim kosztem kilku centów USD lub mniej na koncie Azure.
Napiwek
Rozpocznij wysyłanie wiadomości e-mail za pomocą usług Azure Communication Services, przechodząc bezpośrednio do przykładowego kodu podstawowego wysyłania wiadomości e-mail i zaawansowanego wysyłania wiadomości e-mail w usłudze GitHub.
Opis modelu obiektu poczty e-mail
Następujące klasy i interfejsy obsługują niektóre główne funkcje biblioteki klienta poczty e-mail usług Azure Communication Services dla języka JavaScript.
Nazwa/nazwisko | opis |
---|---|
Adres e-mail | Ta klasa zawiera adres e-mail i opcję nazwy wyświetlanej. |
Dołączenie wiadomości e-mail | Ta klasa tworzy załącznik wiadomości e-mail, akceptując unikatowy identyfikator, ciąg typu MIME załącznika wiadomości e-mail, dane binarne zawartości i opcjonalny identyfikator zawartości, aby zdefiniować go jako załącznik wbudowany. |
Klient poczty e-mail | Ta klasa jest wymagana dla wszystkich funkcji poczty e-mail. Utwórz wystąpienie za pomocą parametry połączenia i użyjesz go do wysyłania wiadomości e-mail. |
OpcjeKlientaPoczty | Tę klasę można dodać do utworzenia elementu EmailClient, aby określić konkretną wersję interfejsu API. |
Zawartość wiadomości e-mail | Ta klasa zawiera temat i treść wiadomości e-mail. Musisz określić co najmniej jedną zawartość w postaci zwykłego tekstu lub html. |
NiestandardowyNagłówekEmaila | Ta klasa umożliwia dodanie pary nazw i wartości dla nagłówka niestandardowego. Ważność wiadomości e-mail można również określić za pomocą tych nagłówków przy użyciu nazwy nagłówka "x-priority" lub "x-msmail-priority". |
Wiadomość e-mail | Ta klasa łączy nadawcę, zawartość i adresatów. Niestandardowe nagłówki, załączniki i adresy e-mail do odpowiedzi można również dodawać opcjonalnie. |
Adresy e-mail odbiorców | Ta klasa zawiera listy obiektów EmailAddress dla adresatów wiadomości e-mail, w tym opcjonalne listy dla adresatów CC & BCC. |
WynikWysłaniaEmaila | Ta klasa zawiera wyniki operacji wysyłania wiadomości e-mail. Ma identyfikator operacji, stan operacji i obiekt błędu (jeśli ma to zastosowanie). |
StatusWysyłkiEmaila | Ta klasa reprezentuje zestaw stanów operacji wysyłania wiadomości e-mail. |
Funkcja EmailSendResult zwraca następujący stan operacji poczty e-mail.
Nazwa stanu | opis |
---|---|
rozpoczęty or uruchomiony | Zwraca wartość true, jeśli operacja wysyłania wiadomości e-mail jest obecnie w toku i jest przetwarzana. |
czyZakończone | Zwraca wartość true, jeśli operacja wysyłania wiadomości e-mail została ukończona bez błędu, a wiadomość e-mail jest gotowa do dostarczenia. Każdy szczegółowy stan dostarczania wiadomości e-mail poza tym etapem można uzyskać za pośrednictwem usługi Azure Monitor lub usługi Azure Event Grid. Dowiedz się, jak zapisywać się na wydarzenia e-mail |
wynik | Właściwość, która występuje, gdy operacja wysyłania wiadomości e-mail zostanie zakończona. |
błąd | Właściwość, która istnieje, jeśli operacja wysyłania wiadomości e-mail nie powiodła się i napotkała błąd. Wiadomość e-mail nie została wysłana. Wynik zawiera obiekt błędu z bardziej szczegółowymi informacjami na temat przyczyny niepowodzenia. |
Wymagania wstępne
- Node.js (~14).
- Konto platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.
- Zasób usług Azure Email Communication Services utworzony i gotowy z aprowizowaną domeną. Rozpocznij pracę z tworzeniem zasobu komunikacji e-mail.
- Aktywny zasób usług Azure Communication Services połączony z domeną poczty e-mail i jego parametry połączenia. Rozpocznij pracę, łącząc zasób komunikacji e-mail z zasobem komunikacji platformy Azure.
Ukończenie tego szybkiego startu wiąże się z niewielkim kosztem kilku centów USD lub mniej na koncie Azure.
Uwaga
Możemy również wysłać wiadomość e-mail z własnej zweryfikowanej domeny. Dodaj niestandardowe zweryfikowane domeny do usługi komunikacji e-mail.
Sprawdzanie wymagań wstępnych
- W terminalu lub oknie polecenia uruchom polecenie
node --version
, aby sprawdzić, czy Node.js jest zainstalowana. - Aby wyświetlić domeny zweryfikowane przy użyciu zasobu usług komunikacji poczty e-mail, zaloguj się do witryny Azure Portal, znajdź zasób usług komunikacji poczty e-mail i otwórz kartę Aprowizacja domen w okienku nawigacji po lewej stronie.
Konfigurowanie środowiska aplikacji
Tworzenie nowej aplikacji Node.js
Najpierw otwórz terminal lub okno polecenia, utwórz nowy katalog dla aplikacji i przejdź do niego.
mkdir email-quickstart && cd email-quickstart
Uruchom polecenie npm init -y
, aby utworzyć plik package.json z ustawieniami domyślnymi.
npm init -y
Użyj edytora tekstów, aby utworzyć plik o nazwie send-email.js w katalogu głównym projektu. Zmień właściwość "main" w package.json na "send-email.js". W poniższej sekcji pokazano, jak dodać kod źródłowy dla tego przewodnika Szybki start do nowo utworzonego pliku.
Instalowanie pakietu
Użyj polecenia , npm install
aby zainstalować bibliotekę klienta poczty e-mail usług Azure Communication Services dla języka JavaScript.
npm install @azure/communication-email --save
Opcja --save
wyświetla bibliotekę jako zależność w pliku package.json .
Tworzenie klienta poczty e-mail przy użyciu uwierzytelniania
Istnieje kilka różnych opcji uwierzytelniania klienta poczty e-mail:
Zaimportuj element EmailClient z biblioteki klienta i utwórz jego wystąpienie przy użyciu ciągu połączenia.
Poniższy kod pobiera parametry połączenia zasobu ze zmiennej środowiskowej o nazwie COMMUNICATION_SERVICES_CONNECTION_STRING
przy użyciu pakietu dotenv. Użyj polecenia , npm install
aby zainstalować pakiet dotenv. Dowiedz się, jak zarządzać łańcuchem połączenia zasobu.
npm install dotenv
Dodaj następujący kod do 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);
Dla uproszczenia ten szybki przewodnik używa ciągów połączeniowych, ale w środowiskach produkcyjnych zalecamy używanie zasad usługi.
Wysyłanie wiadomości e-mail do wielu adresatów
Aby wysłać wiadomość e-mail do wielu adresatów, dodaj obiekt dla każdego typu adresata i obiekt dla każdego adresata. Te adresy można dodawać jako To
, CC
lub BCC
odbiorców. Opcjonalnie dodaj adres e-mail do replyTo
właściwości , jeśli chcesz otrzymywać odpowiedzi.
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();
Przykładowy kod
Przykładową aplikację demonstrującą tę akcję można pobrać z witryny GitHub Azure Samples Send Email for JavaScript (Przykłady platformy Azure Wyślij wiadomość e-mail dla języka JavaScript).
Rozpocznij pracę z usługami Azure Communication Services, korzystając z Java Email SDK usług komunikacyjnych, aby wysyłać wiadomości e-mail.
Ukończenie tego szybkiego startu wiąże się z niewielkim kosztem kilku centów USD lub mniej na koncie Azure.
Napiwek
Rozpocznij wysyłanie wiadomości e-mail za pomocą usług Azure Communication Services, przechodząc bezpośrednio do przykładowego kodu podstawowego wysyłania wiadomości e-mail i zaawansowanego wysyłania wiadomości e-mail w usłudze GitHub.
Opis modelu obiektu poczty e-mail
Następujące klasy i interfejsy obsługują niektóre główne funkcje zestawu SDK poczty e-mail usług Azure Communication Services dla języka Python.
Nazwa/nazwisko | opis |
---|---|
Adres e-mail | Ta klasa zawiera adres e-mail i opcję nazwy wyświetlanej. |
Dołączenie wiadomości e-mail | Ten interfejs tworzy załącznik wiadomości e-mail, przyjmując unikalny identyfikator, ciąg typu MIME załącznika wiadomości e-mail, ciąg bajtów zawartości oraz opcjonalny identyfikator zawartości, aby zdefiniować jego jako załącznik wbudowany. |
Klient poczty e-mail | Ta klasa jest wymagana dla wszystkich funkcji poczty e-mail. Utwórz wystąpienie za pomocą parametry połączenia i użyjesz go do wysyłania wiadomości e-mail. |
Wiadomość e-mail | Ta klasa łączy nadawcę, zawartość i adresatów. Niestandardowe nagłówki, załączniki i adresy e-mail do odpowiedzi można również dodawać opcjonalnie. |
WynikWysłaniaEmaila | Ta klasa zawiera wyniki operacji wysyłania wiadomości e-mail. Ma identyfikator operacji, stan operacji i obiekt błędu (jeśli ma to zastosowanie). |
StatusWysyłkiEmaila | Ta klasa reprezentuje zestaw stanów operacji wysyłania wiadomości e-mail. |
Funkcja EmailSendResult zwraca następujący stan operacji poczty e-mail.
Nazwa stanu | opis |
---|---|
NIE_ROZPOCZĘTY | Obecnie nie wysyłamy tego stanu z naszej usługi. |
W_TOKU | Operacja wysyłania wiadomości e-mail jest obecnie w toku i jest przetwarzana. |
SUCCESSFULLY_COMPLETED | Operacja wysyłania wiadomości e-mail została ukończona bez błędu i wiadomość e-mail jest obecnie dostępna do dostarczenia. Każdy szczegółowy stan dostarczania wiadomości e-mail poza tym etapem można uzyskać za pośrednictwem usługi Azure Monitor lub usługi Azure Event Grid. Dowiedz się, jak zapisywać się na wydarzenia e-mail |
NIEPOWODZENIE | Operacja wysyłania wiadomości e-mail nie powiodła się i wystąpił błąd. Wiadomość e-mail nie została wysłana. Wynik zawiera obiekt błędu z bardziej szczegółowymi informacjami na temat przyczyny niepowodzenia. |
Wymagania wstępne
- Konto platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.
- Zestaw Java Development Kit (JDK) w wersji 8 lub nowszej.
- Apache Maven.
- Wdrożony zasób usług komunikacyjnych i ciąg połączenia. Aby uzyskać szczegółowe informacje, zobacz Create a Communication Services resource (Tworzenie zasobu usług komunikacyjnych).
- Utwórz zasób usług Azure Email Communication Services, aby rozpocząć wysyłanie wiadomości e-mail.
- Dla środowiska programistycznego skonfigurowano tożsamość zarządzaną, zapoznaj się z Autoryzowaniem dostępu za pomocą tożsamości zarządzanej.
Ukończenie tego szybkiego startu wiąże się z naliczeniem niewielkiej opłaty w wysokości kilku centów USD lub mniej na koncie Azure.
Uwaga
Możemy również wysłać wiadomość e-mail z własnej zweryfikowanej domeny Dodaj niestandardowe domeny zweryfikowane do usługi komunikacji e-mail.
Sprawdzanie wymagań wstępnych
- W terminalu lub oknie polecenia uruchom polecenie
mvn -v
, aby sprawdzić, czy narzędzie Maven jest zainstalowane. - Aby wyświetlić domeny zweryfikowane przy użyciu zasobu usług komunikacji poczty e-mail, zaloguj się do witryny Azure Portal. Znajdź zasób E-mail Communication Services i otwórz zakładkę Koncesjonowanie domen w lewym panelu nawigacyjnym.
Konfigurowanie środowiska aplikacji
Aby skonfigurować środowisko wysyłania wiadomości e-mail, wykonaj kroki opisane w poniższych sekcjach.
Tworzenie nowej aplikacji Java
Otwórz terminal lub okno polecenia i przejdź do katalogu, w którym chcesz utworzyć aplikację Java. Uruchom następujące polecenie, aby wygenerować projekt Java na podstawie szablonu 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"
Cel generate
tworzy katalog o takiej samej nazwie jak artifactId
wartość. W tym katalogu katalog src/main/java zawiera kod źródłowy projektu, katalog src/test/java zawiera źródło testowe, a plik pom.xml jest projektem Project Object Model (POM).
Instalowanie pakietu
Otwórz plik pom.xml w edytorze tekstów. Dodaj następujący element zależności do grupy zależności.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-communication-email</artifactId>
<version>1.0.0-beta.2</version>
</dependency>
Konfigurowanie struktury aplikacji
Otwórz plik /src/main/java/com/communication/quickstart/App.java w edytorze tekstów, dodaj dyrektywy importu i usuń instrukcję 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.
}
}
Tworzenie klienta poczty e-mail przy użyciu uwierzytelniania
Istnieje kilka różnych opcji uwierzytelniania klienta poczty e-mail:
Aby uwierzytelnić klienta, należy utworzyć wystąpienie obiektu EmailClient
przy użyciu parametrów połączenia. Dowiedz się, jak zarządzać łańcuchem połączenia zasobu. Można również zainicjować klienta przy użyciu dowolnego niestandardowego klienta HTTP, który implementuje com.azure.core.http.HttpClient
interfejs.
Aby utworzyć wystąpienie klienta, dodaj następujący kod do main
metody :
// 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();
Dla uproszczenia ten szybki przewodnik używa ciągów połączeniowych, ale w środowiskach produkcyjnych zalecamy używanie zasad usługi.
Wysyłanie wiadomości e-mail do wielu adresatów
Aby wysłać wiadomość e-mail do wielu adresatów, dodaj nowe adresy w odpowiedniej funkcji ustawiającej EmailMessage
. Te adresy można dodawać jako To
, CC
lub BCC
odbiorców. Opcjonalnie dodaj adres e-mail do replyTo
właściwości , jeśli chcesz otrzymywać odpowiedzi.
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());
Aby jeszcze bardziej dostosować adresatów wiadomości e-mail, możesz utworzyć wystąpienia obiektów EmailAddress
i przekazać je do odpowiednich setterów 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());
Przykładowy kod
Przykładową aplikację demonstrującą tę akcję można pobrać z witryny GitHub Azure Samples Send Email for Java.
Rozpocznij pracę z Azure Communication Services, używając zestawu SDK wiadomości e-mail dla języka Python, aby wysyłać wiadomości e-mail.
Ukończenie tego szybkiego startu wiąże się z niewielkim kosztem kilku centów USD lub mniej na koncie Azure.
Napiwek
Rozpocznij wysyłanie wiadomości e-mail za pomocą usług Azure Communication Services, przechodząc bezpośrednio do przykładowego kodu podstawowego wysyłania wiadomości e-mail i zaawansowanego wysyłania wiadomości e-mail w usłudze GitHub.
Opis modelu obiektu poczty e-mail
Poniższy obiekt szablonu komunikatów JSON i odpowiedzi demonstruje niektóre główne funkcje zestawu SDK poczty e-mail usług Azure Communication Services dla języka 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.
}
}
Wartości response.status
zostały dokładniej wyjaśnione w poniższej tabeli.
Nazwa stanu | opis |
---|---|
W toku | Operacja wysyłania wiadomości e-mail jest obecnie w toku i jest przetwarzana. |
Powodzenie | Operacja wysyłania wiadomości e-mail została ukończona bez błędu i wiadomość e-mail jest obecnie dostępna do dostarczenia. Każdy szczegółowy stan dostarczania wiadomości e-mail poza tym etapem można uzyskać za pośrednictwem usługi Azure Monitor lub usługi Azure Event Grid. Dowiedz się, jak zapisywać się na wydarzenia e-mail |
Niepowodzenie | Operacja wysyłania wiadomości e-mail nie powiodła się i wystąpił błąd. Wiadomość e-mail nie została wysłana. Wynik zawiera obiekt błędu z bardziej szczegółowymi informacjami na temat przyczyny niepowodzenia. |
Wymagania wstępne
- Konto platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.
- Python 3.7+.
- Zasób usług Azure Email Communication Services utworzony i gotowy z aprowizowaną domeną. Rozpocznij pracę z tworzeniem zasobu komunikacji e-mail.
- Aktywny zasób usług Azure Communication Services połączony z domeną poczty e-mail i jego parametry połączenia. Rozpocznij pracę, łącząc zasób komunikacji e-mail z zasobem komunikacji platformy Azure.
Ukończenie tego szybkiego startu wiąże się z niewielkim kosztem kilku centów USD lub mniej na koncie Azure.
Uwaga
Możemy również wysłać wiadomość e-mail z własnej zweryfikowanej domeny. Dodaj niestandardowe zweryfikowane domeny do usługi komunikacji e-mail.
Sprawdzanie wymagań wstępnych
- W terminalu lub oknie polecenia uruchom
python --version
polecenie , aby sprawdzić, czy język Python jest zainstalowany. - Aby wyświetlić domeny zweryfikowane przy użyciu zasobu usług komunikacji poczty e-mail, zaloguj się do witryny Azure Portal. Znajdź zasób E-mail Communication Services i otwórz zakładkę Koncesjonowanie domen w lewym panelu nawigacyjnym.
Konfigurowanie środowiska aplikacji
Aby skonfigurować środowisko wysyłania wiadomości e-mail, wykonaj kroki opisane w poniższych sekcjach.
Tworzenie nowej aplikacji w języku Python
Otwórz terminal lub okno polecenia. Następnie użyj następującego polecenia, aby utworzyć środowisko wirtualne i aktywować je. To polecenie tworzy nowy katalog dla aplikacji.
python -m venv email-quickstart
Przejdź do katalogu głównego środowiska wirtualnego i aktywuj go przy użyciu następujących poleceń.
cd email-quickstart .\Scripts\activate
Użyj edytora tekstów, aby utworzyć plik o nazwie send-email.py w katalogu głównym projektu i dodać strukturę programu, w tym podstawową obsługę wyjątków.
import os from azure.communication.email import EmailClient try: # Quickstart code goes here. except Exception as ex: print('Exception:') print(ex)
W poniższych sekcjach dodasz cały kod źródłowy tego szybkiego startu do utworzonego pliku send-email.py.
Instalowanie pakietu
Będąc nadal w katalogu aplikacji, zainstaluj zestaw SDK poczty e-mail usług Azure Communication Services dla języka Python przy użyciu następującego polecenia.
pip install azure-communication-email
Tworzenie klienta poczty e-mail przy użyciu uwierzytelniania
Istnieje kilka różnych opcji uwierzytelniania klienta poczty e-mail:
Utwórz wystąpienie elementu EmailClient z użyciem ciągu połączenia. Dowiedz się, jak zarządzać łańcuchem połączenia zasobu.
# Create the EmailClient object that you use to send Email messages.
email_client = EmailClient.from_connection_string(<connection_string>)
Dla uproszczenia ten szybki przewodnik używa ciągów połączeniowych, ale w środowiskach produkcyjnych zalecamy używanie zasad usługi.
Wysyłanie wiadomości e-mail do wielu adresatów
Możemy zdefiniować wielu adresatów, dodając więcej adresów e-mail do recipients
obiektu. Te adresy można odpowiednio dodać jako listy to
, cc
lub bcc
adresatów. Opcjonalnie możemy również dodać ReplyTo
adres e-mail, aby otrzymywać odpowiedzi.
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()
Przykładowy kod
Przykładową aplikację demonstrującą tę akcję można pobrać z witryny GitHub Azure Samples Send Email for Python.
Rozwiązywanie problemów
Dostarczanie wiadomości e-mail
Aby rozwiązać problemy związane z dostarczaniem wiadomości e-mail, możesz uzyskać stan dostarczania wiadomości e-mail w celu przechwycenia szczegółów dostawy.
Ważne
Wynik powodzenia stanu sondowania dla operacji wysyłania sprawdza tylko, czy wiadomość e-mail jest wysłana do dostarczenia. Aby uzyskać więcej informacji na temat statusu dostarczenia po stronie odbiorcy, zobacz jak obsługiwać zdarzenia poczty e-mail.
Ograniczanie wysyłki e-maili
Jeśli aplikacja zawiesza się, może to być spowodowane ograniczaniem wysyłania wiadomości e-mail. Ograniczanie przepustowości poczty e-mail można obsłużyć, rejestrując lub implementując zasady niestandardowe.
Uwaga
Ta piaskownica ma pomóc deweloperom rozpocząć tworzenie aplikacji. Możesz stopniowo wnioskować o zwiększenie woluminu wysyłania, gdy aplikacja będzie gotowa do uruchomienia. Prześlij wniosek o pomoc techniczną, aby zwiększyć żądany limit wysyłania, jeśli chcesz wysłać więcej wiadomości niż początkowe limity szybkości.
Czyszczenie zasobów usługi Azure Communication Service
Jeśli chcesz wyczyścić i usunąć subskrypcję usług Komunikacyjnych, możesz usunąć zasób lub grupę zasobów. Usunięcie grupy zasobów powoduje również usunięcie wszelkich innych skojarzonych z nią zasobów. Aby uzyskać więcej informacji, zobacz oczyszczanie zasobów.
Następne kroki
- Dowiedz się, jak ręcznie sondować stan wiadomości e-mail
- Dowiedz się więcej o wysyłaniu wiadomości e-mail z załącznikami
- Zapoznaj się z biblioteką klienta poczty e-mail