Szybki start: jak wysłać wiadomość e-mail przy użyciu usług Azure Communication Services
W tym przewodniku Szybki start opisano sposób wysyłania wiadomości e-mail przy użyciu naszych zestawów SDK poczty e-mail.
Rozpocznij pracę z usługami Azure Communication Services przy użyciu usług komunikacyjnych Spróbuj wysłać wiadomości e-mail.
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. Rozpocznij pracę, łącząc zasób poczty e-mail z zasobem komunikacji
Ukończenie tego przewodnika Szybki start wiąże się z niewielkim kosztem kilku centów USD lub mniej na koncie platformy Azure.
Wysyłanie wiadomości e-mail przy użyciu try-mail
Wypróbuj wiadomość e-mail ułatwia rozpoczęcie wysyłania wiadomości e-mail do odpowiednich adresatów przy użyciu usług Azure Communication Services, a także weryfikowanie konfiguracji aplikacji w celu wysyłania wiadomości e-mail. Ułatwia to również szybkie rozpoczęcie opracowywania powiadomień e-mail przy użyciu fragmentu kodu w preferowanym języku.
Aby wysłać wiadomość do adresata i określić temat i treść wiadomości,
Na stronie przeglądu aprowizowanego zasobu usługi Azure Communication Service kliknij pozycję Wypróbuj wiadomość e-mail na panelu nawigacyjnym po lewej stronie w obszarze Poczta e-mail .
Wybierz jedną z zweryfikowanych domen z listy rozwijanej.
Utwórz wiadomość e-mail do wysłania
- Wprowadź adres e-mail adresata
- Wprowadź temat
- Pisanie treści wiadomości e-mail
Kliknij pozycję Wyślij
Wiadomość e-mail została pomyślnie wysłana.
Teraz możesz również skopiować przykładowy fragment kodu, aby wysłać wiadomość e-mail do użycia w przykładowym projekcie w celu wysyłania powiadomień.
Fragment kodu wiadomości e-mail jest teraz gotowy do użycia w projekcie powiadomień.
Rozpocznij pracę z usługami Azure Communication Services przy użyciu rozszerzenia komunikacji interfejsu wiersza polecenia platformy Azure w celu wysyłania wiadomości e-mail.
Ukończenie tego przewodnika Szybki start wiąże się z niewielkim kosztem kilku centów USD lub mniej na koncie platformy Azure.
Wymagania wstępne
- 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.
- Najnowszy interfejs wiersza polecenia platformy Azure.
Sprawdzanie wymagań wstępnych
- W terminalu lub oknie polecenia uruchom
az --version
polecenie , aby sprawdzić, czy zainstalowano interfejs wiersza polecenia platformy Azure i rozszerzenie komunikacji. - 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
Dodawanie rozszerzenia
Dodaj rozszerzenie Azure Communication Services dla interfejsu wiersza polecenia platformy az extension
Azure przy użyciu polecenia .
az extension add --name communication
Logowanie do interfejsu wiersza polecenia platformy Azure
Musisz zalogować się do interfejsu wiersza polecenia platformy Azure. Możesz zalogować się, uruchamiając polecenie z poziomu terminalu az login
i podając swoje poświadczenia.
Przechowywanie parametry połączenia w zmiennej środowiskowej
Zmienną AZURE_COMMUNICATION_CONNECTION_STRING
środowiskową można skonfigurować tak, aby korzystała z operacji kluczy interfejsu wiersza polecenia platformy Azure bez konieczności przekazywania --connection_string
w parametry połączenia. Aby skonfigurować zmienną środowiskową, otwórz okno konsoli i wybierz system operacyjny z poniższych kart. Zastąp <connectionString>
element rzeczywistym parametry połączenia.
Uwaga
Nie przechowuj parametry połączenia jako niezaszyfrowanej zmiennej środowiskowej dla środowisk produkcyjnych. Jest to przeznaczone tylko do celów testowych. W przypadku środowisk produkcyjnych należy wygenerować nowe parametry połączenia. Zachęcamy do szyfrowania parametry połączenia i regularnego ich zmieniania.
setx AZURE_COMMUNICATION_CONNECTION_STRING "<yourConnectionString>"
Po dodaniu zmiennej środowiskowej być może trzeba będzie ponownie uruchomić działające programy, które muszą odczytywać zmienną środowiskową, w tym okno konsoli. Jeśli na przykład używasz programu Visual Studio jako edytora, uruchom ponownie program Visual Studio przed uruchomieniem przykładu.
Wysyłanie wiadomości e-mail
az communication email send
--connection-string "yourConnectionString"
--sender "<donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net>"
--to "<emailalias@emaildomain.com>"
--subject "Welcome to Azure Communication Services Email" --text "This email message is sent from Azure Communication Services Email using Azure CLI."
Wprowadź te zamiany w kodzie:
- Zastąp
<yourConnectionString>
element parametry połączenia. - Zastąp
<emailalias@emaildomain.com>
ciąg adresem e-mail, do którego chcesz wysłać wiadomość. - Zastąp
<donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net>
ciąg adresem MailFrom zweryfikowanej domeny.
Powyższe polecenie wykonuje również sondowanie na identyfikatorze messageId i zwraca stan dostarczania wiadomości e-mail. Stan może być jednym z następujących elementów:
Nazwa stanu | opis |
---|---|
Nierozpoczęte | Obecnie nie wysyłamy tego stanu z naszej usługi. |
Uruchomiono | 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 subskrybować zdarzenia 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. |
Parametry opcjonalne
Następujące parametry opcjonalne są dostępne w interfejsie wiersza polecenia platformy Azure.
--html
Można użyć zamiast--text
treści wiadomości e-mail html.--importance
Ustawia typ ważności wiadomości e-mail. Znane wartości to: wysoka, normalna i niska. Wartość domyślna jest normalna.--to
Ustawia listę adresatów wiadomości e-mail.--cc
ustawia adresy e-mail kopii węgla.--bcc
ustawia ślepe adresy e-mail kopii dwutlenku węgla.--reply-to
Ustawia adres e-mail Odpowiedzi na adres e-mail.--disable-tracking
wskazuje, czy śledzenie aktywności użytkowników powinno być wyłączone dla tego żądania.--attachments
ustawia listę załączników wiadomości e-mail.--attachment-types
Ustawia listę typów załączników wiadomości e-mail w tej samej kolejności załączników.
Ponadto możesz użyć listy adresatów i --cc
--bcc
podobnych do --to
. Musi istnieć co najmniej jeden odbiorca w --to
elem lub --cc
.--bcc
Rozpocznij pracę z usługami Azure Communication Services przy użyciu biblioteki klienta poczty e-mail usług Komunikacyjnych C# w celu wysyłania wiadomości e-mail.
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 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 |
---|---|
EmailAddress (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. |
EmailClient | 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. |
EmailClientOptions | Tę klasę można dodać do wystąpienia elementu EmailClient, aby określić określoną wersję interfejsu API. |
Wiadomość e-mailContent | Ta klasa zawiera temat i treść wiadomości e-mail. Musisz określić co najmniej jedną zawartość w postaci zwykłego tekstu lub html |
EmailCustomHeader | 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 odpowiedzi można również dodawać. |
Adresy e-mailRecipients | Ta klasa zawiera listy obiektów EmailAddress dla adresatów wiadomości e-mail, w tym opcjonalne listy dla adresatów CC & BCC. |
EmailSendOperation | 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. |
EmailSendResult | 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. |
Uruchomiono | 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 subskrybować zdarzenia 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 przewodnika Szybki start 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 poczty 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 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.
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
Nadal w katalogu aplikacji zainstaluj bibliotekę klienta poczty e-mail usług Azure Communication Services dla pakietu .NET przy użyciu dotnet add package
polecenia .
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 dołączania Azure.Communication.Email
przestrzeni nazw i punktu początkowego do wykonania 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)
{
}
}
}
Istnieje kilka różnych opcji uwierzytelniania klienta poczty e-mail:
Otwórz Program.cs w edytorze tekstów i zastąp treść Main
metody kodem, aby zainicjować element EmailClient
parametry połączenia. Poniższy kod pobiera parametry połączenia zasobu ze zmiennej środowiskowej o nazwie COMMUNICATION_SERVICES_CONNECTION_STRING
. Dowiedz się, jak zarządzać parametry 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);
Uwaga
Zaleca się używanie ręcznego sondowania (wysyłanie wiadomości e-mail z sondowaniem stanu asynchronicznego) do wysyłania wiadomości e-mail.
- Wysyłanie wiadomości e-mail z sondowaniem stanu asynchronicznego
- Wysyłanie wiadomości e-mail z sondowaniem stanu synchronicznego
Wysyłanie wiadomości e-mail w warstwie Podstawowa
Konstruowanie wiadomości e-mail
Aby wysłać wiadomość e-mail, musisz:
- Zdefiniuj temat i treść wiadomości e-mail.
- Zdefiniuj adres nadawcy. Skonstruuj wiadomość e-mail przy użyciu informacji nadawcy o adresie MailFrom z zweryfikowanej domeny.
- Zdefiniuj adres adresata.
- Wywołaj metodę SendAsync. Dodaj ten kod na końcu
Main
metody w Program.cs:
Zastąp element szczegółami domeny i zmodyfikuj zawartość, szczegóły adresata zgodnie z potrzebami
//Replace with your domain and modify the content, recipient details as required
var subject = "Welcome to Azure Communication Service Email APIs.";
var htmlContent = "<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>";
var sender = "donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net";
var recipient = "emailalias@contoso.com";
Wysyłanie i pobieranie stanu wysyłania wiadomości e-mail
Po wywołaniu metody SendAsync z elementem Azure.WaitUntil.Started metoda powraca po uruchomieniu operacji. Metoda zwraca obiekt EmailSendOperation. Możesz wywołać metodę UpdateStatusAsync, aby odświeżyć stan operacji poczty e-mail.
Zwrócony obiekt EmailSendOperation zawiera obiekt EmailSendStatus zawierający:
- Bieżący stan operacji Wyślij wiadomość e-mail.
- Obiekt błędu ze szczegółami niepowodzenia, jeśli bieżący stan jest w stanie niepowodzenia.
/// Send the email message with WaitUntil.Started
EmailSendOperation emailSendOperation = await emailClient.SendAsync(
Azure.WaitUntil.Started,
sender,
recipient,
subject,
htmlContent);
/// Call UpdateStatus on the email send operation to poll for the status
/// manually.
try
{
while (true)
{
await emailSendOperation.UpdateStatusAsync();
if (emailSendOperation.HasCompleted)
{
break;
}
await Task.Delay(100);
}
if (emailSendOperation.HasValue)
{
Console.WriteLine($"Email queued for delivery. Status = {emailSendOperation.Value.Status}");
}
}
catch (RequestFailedException ex)
{
Console.WriteLine($"Email send failed with Code = {ex.ErrorCode} and Message = {ex.Message}");
}
/// 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}");
Uruchom aplikację z katalogu aplikacji za dotnet run
pomocą polecenia .
dotnet run
Przykładowy kod
Przykładową aplikację można pobrać z usługi GitHub
Rozpocznij pracę z usługami Azure Communication Services przy użyciu biblioteki klienta poczty e-mail js usług komunikacyjnych w celu wysyłania wiadomości e-mail.
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 |
---|---|
EmailAddress (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. |
EmailClient | 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. |
EmailClientOptions | Tę klasę można dodać do wystąpienia elementu EmailClient, aby określić określoną wersję interfejsu API. |
Wiadomość e-mailContent | Ta klasa zawiera temat i treść wiadomości e-mail. Musisz określić co najmniej jedną zawartość w postaci zwykłego tekstu lub html. |
EmailCustomHeader | 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 odpowiedzi można również dodawać. |
Adresy e-mailRecipients | Ta klasa zawiera listy obiektów EmailAddress dla adresatów wiadomości e-mail, w tym opcjonalne listy dla adresatów CC & BCC. |
EmailSendResult | 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). |
EmailSendStatus | 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 |
---|---|
isStarted | Zwraca wartość true, jeśli operacja wysyłania wiadomości e-mail jest obecnie w toku i jest przetwarzana. |
isCompleted | Zwraca wartość true, jeśli operacja wysyłania wiadomości e-mail została ukończona bez błędu, a wiadomość e-mail jest obecnie dostarczana. 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 subskrybować zdarzenia e-mail |
result | Właściwość, która istnieje, jeśli operacja wysyłania wiadomości e-mail została zakończona. |
error | 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 przewodnika Szybki start 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 poczty 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 wystąpienie go przy użyciu parametry 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ć parametry 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 przewodnik Szybki start używa parametry połączenia, ale w środowiskach produkcyjnych zalecamy używanie jednostek usługi.
Wysyłanie wiadomości e-mail w warstwie Podstawowa
Wysyłanie wiadomości e-mail
Aby wysłać wiadomość e-mail, wywołaj beginSend
funkcję z elementu EmailClient. Ta metoda zwraca poller, który sprawdza stan operacji i pobiera wynik po zakończeniu.
async function main() {
const POLLER_WAIT_TIME = 10
try {
const message = {
senderAddress: "<donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net>",
content: {
subject: "Welcome to Azure Communication Services Email",
plainText: "This email message is sent from Azure Communication Services Email using the JavaScript SDK.",
},
recipients: {
to: [
{
address: "<emailalias@emaildomain.com>",
displayName: "Customer Name",
},
],
},
};
const poller = await emailClient.beginSend(message);
if (!poller.getOperationState().isStarted) {
throw "Poller was not started."
}
let timeElapsed = 0;
while(!poller.isDone()) {
poller.poll();
console.log("Email send polling in progress");
await new Promise(resolve => setTimeout(resolve, POLLER_WAIT_TIME * 1000));
timeElapsed += 10;
if(timeElapsed > 18 * POLLER_WAIT_TIME) {
throw "Polling timed out.";
}
}
if(poller.getResult().status === KnownEmailSendStatus.Succeeded) {
console.log(`Successfully sent the email (operation id: ${poller.getResult().id})`);
}
else {
throw poller.getResult().error;
}
} catch (e) {
console.log(e);
}
}
main();
Wprowadź te zamiany w kodzie:
- Zastąp
<emailalias@emaildomain.com>
ciąg adresem e-mail, do którego chcesz wysłać wiadomość. - Zastąp
<donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net>
ciąg adresem MailFrom zweryfikowanej domeny.
Uruchamianie kodu
Użyj polecenia node, aby uruchomić kod dodany do pliku send-email.js.
node ./send-email.js
Przykładowy kod
Przykładową aplikację można pobrać z usługi GitHub
Rozpocznij pracę z usługami Azure Communication Services przy użyciu zestawu SDK wiadomości e-mail Java usług komunikacyjnych w celu wysyłania wiadomości e-mail.
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 |
---|---|
EmailAddress (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, akceptując unikatowy identyfikator, ciąg typu MIME załącznika wiadomości e-mail, ciąg zawartości bajtów i opcjonalny identyfikator zawartości, aby zdefiniować go jako załącznik wbudowany. |
EmailClient | 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 odpowiedzi można również dodawać. |
EmailSendResult | 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). |
EmailSendStatus | 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 |
---|---|
NOT_STARTED | Obecnie nie wysyłamy tego stanu z naszej usługi. |
IN_PROGRESS | 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 subskrybować zdarzenia 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 i parametry połączenia usług komunikacyjnych. 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.
- Konfiguracja tożsamości zarządzanej dla środowiska programistycznego można znaleźć w temacie Autoryzowanie dostępu za pomocą tożsamości zarządzanej.
Ukończenie tego przewodnika Szybki start wiąże się z naliczeniem niewielkiej opłaty w wysokości 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 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 usług komunikacji poczty e-mail i otwórz kartę Aprowizacja domen w okienku nawigacji po lewej stronie.
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.*;
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 parametry połączenia. Dowiedz się, jak zarządzać parametry 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 synchronicznego, 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();
Aby utworzyć wystąpienie klienta asynchronicznego, 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>";
EmailAsyncClient emailClient = new EmailClientBuilder()
.connectionString(connectionString)
.buildAsyncClient();
Dla uproszczenia ten przewodnik Szybki start używa parametry połączenia, ale w środowiskach produkcyjnych zalecamy używanie jednostek usługi.
Wysyłanie wiadomości e-mail w warstwie Podstawowa
Wiadomość e-mail można utworzyć przy użyciu EmailMessage
obiektu w zestawie SDK.
EmailMessage message = new EmailMessage()
.setSenderAddress("<donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net>")
.setToRecipients("<emailalias@emaildomain.com>")
.setSubject("Welcome to Azure Communication Services Email")
.setBodyPlainText("This email message is sent from Azure Communication Services Email using the Java SDK.");
Wprowadź te zamiany w kodzie:
- Zastąp
<emailalias@emaildomain.com>
ciąg adresem e-mail, do którego chcesz wysłać wiadomość. - Zastąp
<donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net>
ciąg adresem MailFrom zweryfikowanej domeny.
Aby wysłać wiadomość e-mail, wywołaj beginSend
funkcję z adresu EmailClient
.
Wywołanie beginSend
klienta synchronizacji zwraca SyncPoller
obiekt, który może służyć do sprawdzania stanu operacji i pobierania wyniku po zakończeniu. Należy pamiętać, że początkowe żądanie wysłania wiadomości e-mail zostanie wysłane natychmiast po wywołaniu beginSend
metody. Wysyłanie wiadomości e-mail to długotrwała operacja. Należy pamiętać, że getFinalResult()
metoda na poller jest operacją blokującą do momentu osiągnięcia stanu terminalu (SUCCESSFULLY_COMPLETED
lub FAILED
). Zalecaną metodą jest ręczne sondowanie w odstępach czasu, który jest odpowiedni dla potrzeb aplikacji, jak pokazano w poniższym przykładzie.
try
{
SyncPoller<EmailSendResult, EmailSendResult> poller = emailClient.beginSend(message, null); // This will send out the initial request to send an email
PollResponse<EmailSendResult> pollResponse = null;
Duration timeElapsed = Duration.ofSeconds(0);
Duration POLLER_WAIT_TIME = Duration.ofSeconds(10);
// Polling is done manually to avoid blocking the application in case of an error
while (pollResponse == null
|| pollResponse.getStatus() == LongRunningOperationStatus.NOT_STARTED
|| pollResponse.getStatus() == LongRunningOperationStatus.IN_PROGRESS)
{
pollResponse = poller.poll();
// The operation ID can be retrieved as soon as .poll() is called on the poller
System.out.println("Email send poller status: " + pollResponse.getStatus() + ", operation id: " + pollResponse.getValue().getId());
Thread.sleep(POLLER_WAIT_TIME.toMillis());
timeElapsed = timeElapsed.plus(POLLER_WAIT_TIME);
if (timeElapsed.compareTo(POLLER_WAIT_TIME.multipliedBy(18)) >= 0)
{
throw new RuntimeException("Polling timed out.");
}
}
if (poller.getFinalResult().getStatus() == EmailSendStatus.SUCCEEDED)
{
System.out.printf("Successfully sent the email (operation id: %s)", poller.getFinalResult().getId());
}
else
{
throw new RuntimeException(poller.getFinalResult().getError().getMessage());
}
}
catch (Exception exception)
{
System.out.println(exception.getMessage());
}
Uruchamianie kodu
Przejdź do katalogu zawierającego plik pom.xml i skompiluj
mvn
projekt przy użyciu polecenia .mvn compile
Skompiluj pakiet.
mvn package
Uruchom następujące
mvn
polecenie, aby wykonać aplikację.mvn exec:java -D"exec.mainClass"="com.communication.quickstart.App" -D"exec.cleanupDaemonThreads"="false"
Przykładowy kod
Przykładową aplikację można pobrać z usługi GitHub
Rozpocznij pracę z usługami Azure Communication Services przy użyciu zestawu SDK poczty e-mail języka Python usług komunikacyjnych w celu wysyłania wiadomości e-mail.
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": [
{
"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.
}
}
Wartości response.status
zostały dokładniej wyjaśnione w poniższej tabeli.
Nazwa stanu | opis |
---|---|
InProgress | 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 subskrybować zdarzenia 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 przewodnika Szybki start 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 poczty 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 usług komunikacji poczty e-mail i otwórz kartę Aprowizacja domen w okienku nawigacji po lewej stronie.
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 przewodnika Szybki start do utworzonego pliku send-email.py .
Instalowanie pakietu
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 przy użyciu parametry połączenia. Dowiedz się, jak zarządzać parametry 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 przewodnik Szybki start używa parametry połączenia, ale w środowiskach produkcyjnych zalecamy używanie jednostek usługi.
Wysyłanie wiadomości e-mail w warstwie Podstawowa
Wysyłanie wiadomości e-mail
Aby wysłać wiadomość e-mail, musisz:
- Skonstruuj komunikat przy użyciu następujących wartości:
senderAddress
: prawidłowy adres e-mail nadawcy znajdujący się w polu MailFrom w okienku przeglądu domeny połączonej z zasobem usług komunikacji poczty e-mail.recipients
: obiekt z listą adresatów wiadomości e-mail i opcjonalnie listami adresatów wiadomości e-mail CC i BCC.content
: obiekt zawierający temat i opcjonalnie zwykły tekst lub zawartość HTML wiadomości e-mail.
- Wywołaj metodę begin_send, która zwraca wynik operacji.
message = {
"content": {
"subject": "This is the subject",
"plainText": "This is the body",
"html": "<html><h1>This is the body</h1></html>"
},
"recipients": {
"to": [
{
"address": "<emailalias@emaildomain.com>",
"displayName": "Customer Name"
}
]
},
"senderAddress": "<donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net>"
}
poller = email_client.begin_send(message)
print("Result: " + poller.result())
Wprowadź te zamiany w kodzie:
- Zastąp
<emailalias@emaildomain.com>
ciąg adresem e-mail, do którego chcesz wysłać wiadomość. - Zastąp
<donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net>
ciąg adresem MailFrom zweryfikowanej domeny.
Uzyskiwanie stanu dostarczania wiadomości e-mail
Możemy sondować stan dostarczania wiadomości e-mail, ustawiając pętlę na obiekcie stanu operacji zwróconym z metody EmailClient begin_send
:
POLLER_WAIT_TIME = 10
try:
email_client = EmailClient.from_connection_string(connection_string)
poller = email_client.begin_send(message);
time_elapsed = 0
while not poller.done():
print("Email send poller status: " + poller.status())
poller.wait(POLLER_WAIT_TIME)
time_elapsed += POLLER_WAIT_TIME
if time_elapsed > 18 * POLLER_WAIT_TIME:
raise RuntimeError("Polling timed out.")
if poller.result()["status"] == "Succeeded":
print(f"Successfully sent the email (operation id: {poller.result()['id']})")
else:
raise RuntimeError(str(poller.result()["error"]))
except Exception as ex:
print(ex)
Uruchamianie kodu
Uruchom aplikację z katalogu aplikacji za python
pomocą polecenia .
python send-email.py
Przykładowy kod
Przykładową aplikację można pobrać z usługi GitHub
Wymagania wstępne
Konto platformy Azure z aktywną subskrypcją lub bezpłatne utworzenie konta platformy Azure.
Aktywny zasób usług Azure Communication Services lub utwórz zasób usług komunikacyjnych.
Aktywny zasób usługi Azure Logic Apps (aplikacja logiki) i przepływ pracy albo utwórz nowy zasób aplikacji logiki i przepływ pracy z wyzwalaczem, którego chcesz użyć. Obecnie łącznik poczty e-mail usług Azure Communication Services udostępnia tylko akcje, więc przepływ pracy aplikacji logiki wymaga co najmniej wyzwalacza. Możesz utworzyć zasób aplikacji logiki Zużycie lub Standardowa .
Zasób poczty e-mail usług Azure Communication Services ze skonfigurowaną domeną lub domeną niestandardową.
Zasób usług Azure Communication Services połączony z domeną usługi Azure Email.
Wyślij wiadomość e-mail
Aby dodać nowy krok do przepływu pracy przy użyciu łącznika poczty e-mail usług Azure Communication Services, wykonaj następujące kroki:
W projektancie otwórz przepływ pracy aplikacji logiki.
Zużycie
W obszarze kroku, w którym chcesz dodać nową akcję, wybierz pozycję Nowy krok. Alternatywnie, aby dodać nową akcję między krokami, przenieś wskaźnik na strzałkę między tymi krokami, wybierz znak plus (+) i wybierz pozycję Dodaj akcję.
W polu wyszukiwania Wybierz operację wybierz pozycję Premium. W polu wyszukiwania wprowadź adres e-mail komunikacji platformy Azure.
Z listy akcji wybierz pozycję Wyślij wiadomość e-mail.
Standardowa
W obszarze kroku, w którym chcesz dodać nową akcję, wybierz znak plus (+). Alternatywnie, aby dodać nową akcję między krokami, przenieś wskaźnik na strzałkę między tymi krokami, wybierz znak plus (+) i wybierz pozycję Dodaj akcję.
W polu wyszukiwania Dodaj akcję wybierz pozycję Premium na liście rozwijanej środowisko uruchomieniowe. W polu wyszukiwania wprowadź adres e-mail komunikacji platformy Azure.
Z listy akcji wybierz pozycję Wyślij wiadomość e-mail.
Podaj nazwę połączenia.
Wprowadź parametry połączenia dla zasobu usługi Azure Communications Service. Aby znaleźć ten ciąg, wykonaj następujące kroki:
W witrynie Azure Portal otwórz zasób usługi Azure Communication Service.
W menu zasobów w obszarze Ustawienia wybierz pozycję Klucze i skopiuj parametry połączenia.
Po zakończeniu wybierz Utwórz.
W polu Od użyj adresu e-mail skonfigurowanego w wymaganiach wstępnych. Wprowadź wartości pól Do wiadomości e-mail, Temat i Treść , na przykład:
Zapisz przepływ pracy. Na pasku narzędzi projektanta wybierz pozycję Zapisz.
Testowanie przepływu pracy
W zależności od tego, czy masz przepływ pracy Zużycie, czy Standardowy, ręcznie uruchom przepływ pracy:
- Użycie: na pasku narzędzi projektanta wybierz pozycję Uruchom wyzwalacz>Uruchom.
- Standardowa: w menu przepływu pracy wybierz pozycję Przegląd. Na pasku narzędzi wybierz pozycję Uruchom wyzwalacz>Uruchom.
Przepływ pracy tworzy użytkownika, wystawia token dostępu dla tego użytkownika, a następnie usuwa i usuwa użytkownika. Dane wyjściowe tych akcji można sprawdzić po pomyślnym uruchomieniu przepływu pracy.
Adres e-mail powinien zostać wyświetlony na podanym adresie. Ponadto możesz użyć akcji Pobierz stan wiadomości e-mail, aby sprawdzić stan wiadomości e-mail wysyłanych za pośrednictwem akcji Wyślij wiadomość e-mail . Aby uzyskać więcej akcji, zapoznaj się z dokumentacją dotyczącą łącznika poczty e-mail usług Azure Communication Services.
Czyszczenie zasobów przepływu pracy
Aby wyczyścić zasób aplikacji logiki, przepływ pracy i powiązane zasoby, zapoznaj się z artykułem Jak wyczyścić zasoby aplikacji logiki Zużycie lub jak wyczyścić zasoby aplikacji logiki w warstwie Standardowa.
Rozpocznij pracę z usługami Azure Communication Services przy użyciu modułu komunikacji programu Azure PowerShell w celu wysyłania wiadomości e-mail.
Ukończenie tego przewodnika Szybki start wiąże się z niewielkim kosztem kilku centów USD lub mniej na koncie platformy Azure.
Wymagania wstępne
- 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.
- Najnowsza wersja programu Azure PowerShell.
Sprawdzanie wymagań wstępnych
- W programie Windows PowerShell uruchom
Get-Module -ListAvailable -Name Az.Communication
polecenie , aby sprawdzić, czy moduł komunikacyjny jest zainstalowany, czy nie. - 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
Instalowanie modułu komunikacyjnego
Zainstaluj moduł Azure Communication Services dla programu Azure PowerShell przy użyciu Install-Module -Name Az.Communication
polecenia .
Install-Module -Name Az.Communication
Po zainstalowaniu modułu Get-Command -Module Az.Communication
Communication uruchom polecenie , aby pobrać wszystkie moduły komunikacyjne.
Get-Command -Module Az.Communication
Wysyłanie wiadomości e-mail
Kolejkuje wiadomość e-mail do wysłania do co najmniej jednego adresata z tylko wymaganymi polami.
$emailRecipientTo = @(
@{
Address = "<emailalias@emaildomain.com>"
DisplayName = "Email DisplayName"
}
)
$message = @{
ContentSubject = "Test Email"
RecipientTo = @($emailRecipientTo) # Array of email address objects
SenderAddress = '<donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net>'
ContentPlainText = "This is the first email from ACS - Azure PowerShell"
}
Send-AzEmailServicedataEmail -Message $Message -endpoint "<yourEndpoint>"
Wprowadź te zamiany w kodzie:
- Zastąp
<yourEndpoint>
element swoim punktem końcowym. - Zastąp
<emailalias@emaildomain.com>
ciąg adresem e-mail, do którego chcesz wysłać wiadomość. - Zastąp
<donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net>
ciąg adresem MailFrom zweryfikowanej domeny.
Kolejkuje wiadomość e-mail do wysłania do co najmniej jednego adresata ze wszystkimi polami.
$emailRecipientTo = @(
@{
Address = "<emailalias@emaildomain.com>"
DisplayName = "Email DisplayName"
},
@{
Address = "<emailalias1@emaildomain.com>"
DisplayName = "Email DisplayName"
}
)
$fileBytes1 = [System.IO.File]::ReadAllBytes("<file path>")
$fileBytes2 = [System.IO.File]::ReadAllBytes("<image file path>")
$emailAttachment = @(
@{
ContentInBase64 = $fileBytes1
ContentType = "<text/plain>"
Name = "<test.txt>"
},
@{
ContentInBase64 = $fileBytes2
ContentType = "<image/png>"
Name = "<inline-attachment.png>"
contentId = "<inline-attachment>"
}
)
$headers = @{
"Key1" = "Value1"
"Key2" = "Value2"
"Importance" = "high"
}
$emailRecipientBcc = @(
@{
Address = "<emailbccalias@emaildomain.com>"
DisplayName = "Email DisplayName"
}
)
$emailRecipientCc = @(
@{
Address = "<emailccalias@emaildomain.com>"
DisplayName = "Email DisplayName"
}
)
$emailRecipientReplyTo = @(
@{
Address = "<emailreplytoalias@emaildomain.com>"
DisplayName = "Email DisplayName"
}
)
$message = @{
ContentSubject = "Test Email"
RecipientTo = @($emailRecipientTo) # Array of email address objects
SenderAddress = '<donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net>'
Attachment = @($emailAttachment) # Array of attachments
ContentHtml = "<html><head><title>Enter title</title></head><body><img src='cid:inline-attachment' alt='Company Logo'/><h1>This is the first email from ACS - Azure PowerShell</h1></body></html>"
ContentPlainText = "This is the first email from ACS - Azure PowerShell"
Header = $headers # Importance = high/medium/low or X-Priority = 2/3/4
RecipientBcc = @($emailRecipientBcc) # Array of email address objects
RecipientCc = @($emailRecipientCc) # Array of email address objects
ReplyTo = @($emailRecipientReplyTo) # Array of email address objects
UserEngagementTrackingDisabled = $true
}
Send-AzEmailServicedataEmail -Message $Message -endpoint "<yourEndpoint>"
Wprowadź te zamiany w kodzie:
- Zastąp
<yourEndpoint>
element swoim punktem końcowym. - Zastąp
<emailalias@emaildomain.com> and <emailalias1@emaildomain.com>
ciąg adresami e-mail, do których chcesz wysłać wiadomość. - Zastąp
<file path> and <image file path>
ciąg rzeczywistymi ścieżkami plików załączników, które chcesz wysłać. - Zastąp
<text/plain> and <image/png>
ciąg odpowiednimi typami zawartości załączników. - Zastąp
<test.txt> and <inline-attachment.png>
ciąg nazwami plików załączników. - Zastąp
<inline-attachment>
element identyfikatorem zawartości załącznika wbudowanego. - Zastąp
<emailbccalias@emaildomain.com>
ciąg adresem e-mail, do którego chcesz wysłać wiadomość jako BCC. - Zastąp
<emailccalias@emaildomain.com>
ciąg adresem e-mail, do którego chcesz wysłać wiadomość jako DW. - Zastąp
<emailreplytoalias@emaildomain.com>
ciąg adresem e-mail, do którego mają być wysyłane odpowiedzi. - Zastąp
<donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net>
ciąg adresem MailFrom zweryfikowanej domeny.
Parametry opcjonalne
Następujące parametry opcjonalne są dostępne w programie Azure PowerShell.
ContentHtml
można użyć do określenia treści HTML wiadomości e-mail.ContentPlainText
służy do określania treści wiadomości e-mail w postaci zwykłego tekstu.Attachment
ustawia listę załączników wiadomości e-mail. Ten parametr akceptuje tablicę ścieżek plików lub obiektów załączników. Należy pamiętać, że limit całkowitego rozmiaru żądania e-mail (obejmującego zarówno zwykłe, jak i wbudowane załączniki) do 10 MB.Header
niestandardowe nagłówki wiadomości e-mail do przekazania i ustawiają poziom ważności wiadomości e-mail (wysoki, normalny lub niski).RecipientBcc
tablica adresatów dla pola BCC.RecipientCc
tablica adresatów dla pola CC.ReplyTo
tablica adresów e-mail, do których będą wysyłane odpowiedzi adresatów.UserEngagementTrackingDisabled
wskazuje, czy śledzenie aktywności użytkowników powinno być wyłączone dla tego żądania, jeśli ustawienie śledzenia zaangażowania użytkownika na poziomie zasobu zostało już włączone na płaszczyźnie sterowania.
Ponadto możesz użyć listy adresatów i RecipientCc
RecipientBcc
podobnych do RecipientTo
. Musi istnieć co najmniej jeden odbiorca w RecipientTo
elem lub RecipientCc
.RecipientBcc
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 zwrócony przez sondowanie stanu operacji wysyłania weryfikuje tylko fakt, że wiadomość e-mail została pomyślnie wysłana do dostarczenia. Aby uzyskać dodatkowe informacje o stanie dostawy na końcu adresata, należy odwołać się do sposobu obsługi zdarzeń poczty e-mail.
Ograniczanie poczty e-mail
Jeśli zobaczysz, że aplikacja zawiesza się, może to być spowodowane ograniczaniem wysyłania wiadomości e-mail. Można to obsłużyć za pomocą rejestrowania lub implementując zasady niestandardowe.
Uwaga
Ta konfiguracja piaskownicy ułatwia deweloperom rozpoczęcie tworzenia aplikacji. Możesz stopniowo żądać zwiększenia woluminu wysyłania, gdy aplikacja będzie gotowa do wygaśnięcia. Prześlij wniosek o pomoc techniczną, aby podnieść żądany limit wysyłania, jeśli potrzebujesz wysyłania liczby komunikatów przekraczających limity szybkości.
Czyszczenie zasobów usługi Azure Communication Service
Aby wyczyścić i usunąć subskrypcję usług Communication Services, możesz usunąć zasób lub grupę zasobów. Usunięcie grupy zasobów powoduje również usunięcie wszelkich innych skojarzonych zasobów. Dowiedz się więcej o czyszczeniu zasobów.
Następne kroki
W tym przewodniku Szybki start przedstawiono sposób wysyłania wiadomości e-mail przy użyciu usług Azure Communication Services. Możesz również chcieć:
- Dowiedz się więcej o pojęciach dotyczących poczty e-mail.
- Zapoznaj się z biblioteką klienta poczty e-mail.
- Dowiedz się więcej na temat wysyłania wiadomości czatu z usługi Power Automate przy użyciu usług Azure Communication Services.
- Dowiedz się więcej na temat ewidencjonowania tokenów dostępu — tworzenie użytkowników usług Azure Communication Services i tokenów dostępu oraz zarządzanie nimi.