Bagikan melalui


Mulai cepat: Mengirim email ke beberapa penerima

Dalam mulai cepat ini, Anda akan mempelajari cara mengirim email ke beberapa penerima menggunakan SDK Email kami.

Mulai menggunakan Azure Communication Services dengan menggunakan pustaka klien Communication Services .NET Email untuk mengirim pesan Email.

Tip

Mulai langsung pengalaman pengiriman email Anda dengan Azure Communication Services dengan melompat langsung ke kode sampel Pengiriman Email Dasar dan Pengiriman Email Tingkat Lanjut di GitHub.

Memahami model Objek Email

Kelas dan antarmuka berikut menangani beberapa fitur utama dari Pustaka klien Email Azure Communication Services untuk C#.

Nama Deskripsi
EmailAddress Kelas ini berisi alamat email dan opsi untuk nama tampilan.
EmailAttachment Kelas ini membuat lampiran email dengan menerima ID unik, string jenis MIME lampiran email, data biner untuk konten, dan ID konten opsional untuk menentukannya sebagai lampiran sebaris.
EmailClient Kelas ini diperlukan untuk semua fungsionalitas email. Anda membuat kelas dengan string koneksi dan menggunakannya untuk mengirim pesan email.
EmailClientOptions Kelas ini dapat ditambahkan ke pembuatan EmailClient untuk menargetkan versi API tertentu.
EmailContent Kelas ini berisi subjek dan isi pesan email. Anda harus menentukan setidaknya salah satu konten PlainText atau Html
EmailCustomHeader Kelas ini memungkinkan penambahan pasangan nama dan nilai untuk header kustom. Kepentingan email juga dapat ditentukan melalui header ini menggunakan nama header 'x-priority' atau 'x-msmail-priority'
EmailMessage Kelas ini menggabungkan pengirim, konten, dan penerima. Header kustom, lampiran, dan alamat email balasan juga dapat ditambahkan secara opsional.
EmailRecipients Kelas ini menyimpan daftar objek EmailAddress untuk penerima pesan email, termasuk daftar opsional untuk penerima CC & BCC.
EmailSendOperation Kelas ini mewakili operasi pengiriman email asinkron dan dikembalikan dari panggilan api pengiriman email.
EmailSendResult Kelas ini menyimpan hasil operasi pengiriman email. Ini memiliki ID operasi, status operasi, dan objek kesalahan (jika berlaku).

EmailSendResult mengembalikan status berikut pada operasi email yang dilakukan.

Keadaan Deskripsi
Belum Dimulai Saat ini kami tidak mengirim status ini dari layanan kami.
Sedang berjalan Operasi pengiriman email saat ini sedang berlangsung dan sedang diproses.
Berhasil Operasi pengiriman email telah selesai tanpa kesalahan dan email keluar untuk pengiriman. Setiap status terperinci tentang pengiriman email di luar tahap ini dapat diperoleh baik melalui Azure Monitor atau melalui Azure Event Grid. Pelajari cara berlangganan peristiwa email
Gagal Operasi pengiriman email tidak berhasil dan mengalami kesalahan. Email tidak dikirim. Hasilnya berisi objek kesalahan dengan detail lebih lanjut tentang alasan kegagalan.

Prasyarat

Menyelesaikan mulai cepat ini dikenakan biaya kecil kurang lebih sebanyak beberapa sen USD di akun Azure Anda.

Catatan

Kami juga dapat mengirim email dari domain terverifikasi kami sendiri. Tambahkan domain terverifikasi kustom ke Email Communication Service.

Pemeriksaan prasyarat

  • Di jendela terminal atau perintah, jalankan perintah dotnet untuk memeriksa apakah .NET SDK telah diinstal.
  • Untuk melihat subdomain yang terkait dengan sumber daya Communication Services Email Anda, masuk ke portal Microsoft Azure, cari sumber daya Communication Services Email dan buka tab Provisikan domain dari panel navigasi kiri.

Membuat aplikasi C# baru

Di jendela konsol (seperti cmd, PowerShell, atau Bash), gunakan perintah dotnet new untuk membuat aplikasi konsol baru dengan nama EmailQuickstart. Perintah ini membuat proyek C# "Halo Dunia" sederhana dengan file sumber tunggal: Program.cs.

dotnet new console -o EmailQuickstart

Ubah direktori Anda ke folder aplikasi yang baru dibuat dan gunakan perintah dotnet build untuk mengompilasi aplikasi Anda.

cd EmailQuickstart
dotnet build

Pasang paket

Saat masih dalam direktori aplikasi, instal pustaka klien Email Azure Communication Services untuk paket .NET dengan menggunakan perintah dotnet add package.

dotnet add package Azure.Communication.Email

Membuat klien email dengan autentikasi

Buka Program.cs dan ganti kode yang ada dengan kode berikut untuk menambahkan arahan using guna menyertakan namespace Azure.Communication.Email dan titik awal eksekusi program Anda.


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

    }
  }
}

Ada beberapa opsi berbeda yang tersedia untuk mengautentikasi klien email:

Buka Program.cs di editor teks serta ganti isi metode Main dengan kode untuk menginisialisasi EmailClient dengan string koneksi Anda. Kode berikut mengambil string koneksi untuk sumber daya dari variabel lingkungan bernama COMMUNICATION_SERVICES_CONNECTION_STRING. Pelajari cara mengelola string koneksi sumber daya Anda.

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

Mengirim pesan email ke beberapa penerima

Kita dapat menentukan beberapa penerima dengan menambahkan lebih banyak EmailAddresses ke objek EmailRecipients. Alamat ini dapat ditambahkan sebagai Topenerima , , CCatau BCC . Secara opsional, kita juga dapat menambahkan ReplyTo alamat email untuk menerima balasan apa pun.

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

Menjalankan aplikasi dari direktori aplikasi Anda dengan perintah dotnet run.

dotnet run

Kode Sampel

Anda dapat mengunduh aplikasi sampel yang menunjukkan tindakan ini dari GitHub

Memulai Azure Communication Services dengan menggunakan pustaka klien Email Communication Services JS untuk mengirim pesan Email.

Tip

Mulai langsung pengalaman pengiriman email Anda dengan Azure Communication Services dengan melompat langsung ke kode sampel Pengiriman Email Dasar dan Pengiriman Email Tingkat Lanjut di GitHub.

Memahami model objek email

Kelas dan antarmuka berikut menangani beberapa fitur utama dari Pustaka klien Email Azure Communication Services untuk JavaScript.

Nama Deskripsi
EmailAddress Kelas ini berisi alamat email dan opsi untuk nama tampilan.
EmailAttachment Kelas ini membuat lampiran email dengan menerima ID unik, string jenis MIME lampiran email, data biner untuk konten, dan ID konten opsional untuk menentukannya sebagai lampiran sebaris.
EmailClient Kelas ini diperlukan untuk semua fungsionalitas email. Anda membuat kelas dengan string koneksi dan menggunakannya untuk mengirim pesan email.
EmailClientOptions Kelas ini dapat ditambahkan ke pembuatan EmailClient untuk menargetkan versi API tertentu.
EmailContent Kelas ini berisi subjek dan isi pesan email. Anda harus menentukan setidaknya salah satu konten PlainText atau Html.
EmailCustomHeader Kelas ini memungkinkan penambahan pasangan nama dan nilai untuk header kustom. Kepentingan email juga dapat ditentukan melalui header ini menggunakan nama header 'x-priority' atau 'x-msmail-priority'.
EmailMessage Kelas ini menggabungkan pengirim, konten, dan penerima. Header kustom, lampiran, dan alamat email balasan juga dapat ditambahkan secara opsional.
EmailRecipients Kelas ini menyimpan daftar objek EmailAddress untuk penerima pesan email, termasuk daftar opsional untuk penerima CC & BCC.
EmailSendResult Kelas ini menyimpan hasil operasi pengiriman email. Ini memiliki ID operasi, status operasi, dan objek kesalahan (jika berlaku).
EmailSendStatus Kelas ini mewakili sekumpulan status operasi pengiriman email.

EmailSendResult mengembalikan status berikut pada operasi email yang dilakukan.

Nama Status Deskripsi
isStarted Mengembalikan true jika operasi pengiriman email saat ini sedang berlangsung dan sedang diproses.
isCompleted Mengembalikan true jika operasi pengiriman email telah selesai tanpa kesalahan dan email keluar untuk pengiriman. Setiap status terperinci tentang pengiriman email di luar tahap ini dapat diperoleh baik melalui Azure Monitor atau melalui Azure Event Grid. Pelajari cara berlangganan peristiwa email
hasil Properti yang ada jika operasi pengiriman email telah disimpulkan.
kesalahan Properti yang ada jika operasi pengiriman email tidak berhasil dan mengalami kesalahan. Email tidak dikirim. Hasilnya berisi objek kesalahan dengan detail lebih lanjut tentang alasan kegagalan.

Prasyarat

Menyelesaikan mulai cepat ini dikenakan biaya kecil kurang lebih sebanyak beberapa sen USD di akun Azure Anda.

Catatan

Kami juga dapat mengirim email dari domain terverifikasi kami sendiri. Tambahkan domain terverifikasi kustom ke Email Communication Service.

Pemeriksaan prasyarat

  • Di terminal atau jendela perintah, jalankan node --version untuk memeriksa apakah Node.js sudah dipasang.
  • Untuk melihat domain yang diverifikasi dengan sumber daya Communication Services Email Anda, masuk ke portal Microsoft Azure, temukan sumber daya Communication Services Email Anda, dan buka tab Provisikan domain dari panel navigasi kiri.

Menyiapkan lingkungan aplikasi

Membuat aplikasi Node.js baru

Pertama, buka jendela perintah atau terminal, buat direktori baru untuk aplikasi Anda, dan arahkan ke sana.

mkdir email-quickstart && cd email-quickstart

Jalankan npm init -y untuk membuat file package.json dengan pengaturan default.

npm init -y

Gunakan editor teks untuk membuat file bernama send-email.js di direktori root proyek. Ubah properti "main" di package.json menjadi "send-email.js". Bagian berikut menunjukkan cara menambahkan kode sumber untuk mulai cepat ini ke file yang baru dibuat.

Pasang paket

Gunakan perintah npm install untuk menginstal pustaka klien Email Azure Communication Services untuk JavaScript.

npm install @azure/communication-email --save

Opsi --save mencantumkan pustaka sebagai dependensi di file package.json Anda.

Membuat klien email dengan autentikasi

Ada beberapa opsi berbeda yang tersedia untuk mengautentikasi klien email:

Impor EmailClient dari pustaka klien dan buat EmailClient dengan string koneksi Anda.

Kode berikut mengambil string koneksi untuk sumber daya dari variabel lingkungan bernama COMMUNICATION_SERVICES_CONNECTION_STRING menggunakan paket dotenv. Gunakan perintah npm install untuk menginstal paket dotenv. Pelajari cara mengelola string koneksi sumber daya Anda.

npm install dotenv

Tambahkan kode berikut ke 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);

Untuk kesederhanaan, mulai cepat ini menggunakan string koneksi, tetapi di lingkungan produksi, sebaiknya gunakan perwakilan layanan.

Mengirim pesan email ke beberapa penerima

Untuk mengirim pesan email ke beberapa penerima, tambahkan objek untuk setiap jenis penerima dan objek untuk setiap penerima. Alamat ini dapat ditambahkan sebagai Topenerima , , CCatau BCC . Secara opsional, tambahkan alamat email ke replyTo properti jika Anda ingin menerima balasan apa pun.

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

Kode Sampel

Anda dapat mengunduh aplikasi sampel yang menunjukkan tindakan ini dari GitHub

Mulai menggunakan Azure Communication Services dengan menggunakan SDK Email Java Communication Services untuk mengirim pesan Email.

Tip

Mulai langsung pengalaman pengiriman email Anda dengan Azure Communication Services dengan melompat langsung ke kode sampel Pengiriman Email Dasar dan Pengiriman Email Tingkat Lanjut di GitHub.

Memahami model objek email

Kelas dan antarmuka berikut menangani beberapa fitur utama SDK Email Azure Communication Services untuk Python.

Nama Deskripsi
EmailAddress Kelas ini berisi alamat email dan opsi untuk nama tampilan.
EmailAttachment Antarmuka ini membuat lampiran email dengan menerima ID unik, string jenis MIME lampiran email, string byte konten, dan ID konten opsional untuk menentukannya sebagai lampiran sebaris.
EmailClient Kelas ini diperlukan untuk semua fungsionalitas email. Anda membuat kelas dengan string koneksi dan menggunakannya untuk mengirim pesan email.
EmailMessage Kelas ini menggabungkan pengirim, konten, dan penerima. Header kustom, lampiran, dan alamat email balasan juga dapat ditambahkan secara opsional.
EmailSendResult Kelas ini menyimpan hasil operasi pengiriman email. Ini memiliki ID operasi, status operasi, dan objek kesalahan (jika berlaku).
EmailSendStatus Kelas ini mewakili sekumpulan status operasi pengiriman email.

EmailSendResult mengembalikan status berikut pada operasi email yang dilakukan.

Nama Status Deskripsi
NOT_STARTED Saat ini kami tidak mengirim status ini dari layanan kami.
SEDANG_BERLANGSUNG Operasi pengiriman email saat ini sedang berlangsung dan sedang diproses.
SUCCESSFULLY_COMPLETED Operasi pengiriman email telah selesai tanpa kesalahan dan email keluar untuk pengiriman. Setiap status terperinci tentang pengiriman email di luar tahap ini dapat diperoleh baik melalui Azure Monitor atau melalui Azure Event Grid. Pelajari cara berlangganan peristiwa email
FAILED Operasi pengiriman email tidak berhasil dan mengalami kesalahan. Email tidak dikirim. Hasilnya berisi objek kesalahan dengan detail lebih lanjut tentang alasan kegagalan.

Prasyarat

Menyelesaikan panduan mulai cepat ini dikenakan biaya kecil berupa beberapa sen USD atau kurang di akun Azure Anda.

Pemeriksaan prasyarat

  • Di terminal atau jendela perintah, jalankan mvn -v untuk memeriksa apakah Maven diinstal.
  • Untuk melihat domain yang diverifikasi dengan sumber daya Email Communication Services Anda, masuk ke portal Azure. Temukan sumber daya Email Communication Services Anda dan buka tab Provisi domain dari panel navigasi kiri.

Menyiapkan lingkungan aplikasi

Untuk menyiapkan lingkungan untuk mengirim email, lakukan langkah-langkah di bagian berikut.

Membuat aplikasi Java baru

Buka terminal atau jendela perintah Anda dan arahkan ke direktori tempat Anda ingin membuat aplikasi Java. Jalankan perintah berikut untuk menghasilkan proyek Java dari templat 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"

Tujuannya generate membuat direktori dengan nama artifactId yang sama dengan nilai . Di bawah direktori ini, direktori src/main/java berisi kode sumber proyek, direktori src/test/java berisi sumber pengujian, dan file pom.xml adalah Project Object Model (POM) proyek.

Pasang paket

Buka file pom.xml di editor teks Anda. Tambahkan elemen dependensi berikut ke grup dependensi.

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

Menyiapkan kerangka kerja aplikasi

Buka /src/main/java/com/communication/quickstart/App.java di editor teks, tambahkan arahan impor, dan hapus System.out.println("Hello world!"); pernyataan:

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.
    }
}

Membuat klien email dengan autentikasi

Ada beberapa opsi berbeda yang tersedia untuk mengautentikasi klien email:

Untuk mengautentikasi klien, Anda membuat instans EmailClient dengan string koneksi Anda. Pelajari cara mengelola string koneksi sumber daya Anda. Anda juga dapat menginisialisasi klien dengan klien HTTP kustom apa pun yang mengimplementasikan com.azure.core.http.HttpClient antarmuka.

Untuk membuat instans klien, tambahkan kode berikut ke main metode :

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

Untuk kesederhanaan, mulai cepat ini menggunakan string koneksi, tetapi di lingkungan produksi, sebaiknya gunakan perwakilan layanan.

Mengirim pesan email ke beberapa penerima

Untuk mengirim pesan email ke beberapa penerima, tambahkan alamat baru di setter yang sesuai EmailMessage . Alamat ini dapat ditambahkan sebagai Topenerima , , CCatau BCC . Secara opsional, tambahkan alamat email ke replyTo properti jika Anda ingin menerima balasan apa pun.

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

Untuk mengkustomisasi penerima pesan email lebih lanjut, Anda dapat membuat instans EmailAddress objek dan meneruskannya ke setter yang sesuai 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());

Kode Sampel

Anda dapat mengunduh aplikasi sampel yang menunjukkan tindakan ini dari GitHub

Mulai menggunakan Azure Communication Services dengan menggunakan Communication Services Python Email SDK untuk mengirim pesan Email.

Tip

Mulai langsung pengalaman pengiriman email Anda dengan Azure Communication Services dengan melompat langsung ke kode sampel Pengiriman Email Dasar dan Pengiriman Email Tingkat Lanjut di GitHub.

Memahami model objek email

Templat pesan JSON berikut & objek respons menunjukkan beberapa fitur utama SDK Email Azure Communication Services untuk 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.
    }
}

Nilai response.status dijelaskan lebih lanjut dalam tabel berikut.

Nama Status Deskripsi
SedangBerlangsung Operasi pengiriman email saat ini sedang berlangsung dan sedang diproses.
Berhasil Operasi pengiriman email telah selesai tanpa kesalahan dan email keluar untuk pengiriman. Setiap status terperinci tentang pengiriman email di luar tahap ini dapat diperoleh baik melalui Azure Monitor atau melalui Azure Event Grid. Pelajari cara berlangganan peristiwa email
Gagal Operasi pengiriman email tidak berhasil dan mengalami kesalahan. Email tidak dikirim. Hasilnya berisi objek kesalahan dengan detail lebih lanjut tentang alasan kegagalan.

Prasyarat

Menyelesaikan mulai cepat ini dikenakan biaya kecil kurang lebih sebanyak beberapa sen USD di akun Azure Anda.

Catatan

Kami juga dapat mengirim email dari domain terverifikasi kami sendiri. Tambahkan domain terverifikasi kustom ke Email Communication Service.

Pemeriksaan prasyarat

  • Di terminal atau jendela perintah, jalankan perintah python --version untuk memeriksa apakah Python dipasang.
  • Untuk melihat domain yang diverifikasi dengan sumber daya Email Communication Services Anda, masuk ke portal Azure. Temukan sumber daya Email Communication Services Anda dan buka tab Provisi domain dari panel navigasi kiri.

Menyiapkan lingkungan aplikasi

Untuk menyiapkan lingkungan untuk mengirim email, lakukan langkah-langkah di bagian berikut.

Membuat aplikasi Python baru

  1. Buka jendela perintah atau terminal Anda. Kemudian gunakan perintah berikut untuk membuat lingkungan virtual dan mengaktifkannya. Perintah ini membuat direktori baru untuk aplikasi Anda.

    python -m venv email-quickstart
    
  2. Navigasikan ke direktori akar lingkungan virtual dan aktifkan menggunakan perintah berikut.

    cd email-quickstart
    .\Scripts\activate
    
  3. Gunakan editor teks untuk membuat file yang disebut send-email.py di direktori akar proyek dan menambahkan struktur untuk program, termasuk penanganan pengecualian dasar.

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

Di bagian berikut, Anda menambahkan semua kode sumber untuk mulai cepat ini ke file send-email.py yang Anda buat.

Pasang paket

Saat masih berada di direktori aplikasi, instal paket SDK Email Azure Communication Services untuk Python dengan menggunakan perintah berikut.

pip install azure-communication-email

Membuat klien email dengan autentikasi

Ada beberapa opsi berbeda yang tersedia untuk mengautentikasi klien email:

Buat instans EmailClient dengan string koneksi Anda. Pelajari cara mengelola string koneksi sumber daya Anda.

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

Untuk kesederhanaan, mulai cepat ini menggunakan string koneksi, tetapi di lingkungan produksi, sebaiknya gunakan perwakilan layanan.

Mengirim pesan email ke beberapa penerima

Kita dapat menentukan beberapa penerima dengan menambahkan lebih banyak alamat email ke recipients objek. Alamat ini dapat ditambahkan sebagai todaftar penerima , , ccatau bcc yang sesuai. Secara opsional, kita juga dapat menambahkan ReplyTo alamat email untuk menerima balasan apa pun.

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

Kode Sampel

Anda dapat mengunduh aplikasi sampel yang menunjukkan tindakan ini dari GitHub

Pemecahan Masalah

Pengiriman Email

Untuk memecahkan masalah yang terkait dengan pengiriman email, Anda bisa mendapatkan status pengiriman email untuk mengambil detail pengiriman.

Penting

Hasil keberhasilan yang dikembalikan oleh polling untuk status operasi pengiriman hanya memvalidasi fakta bahwa email telah berhasil dikirim untuk pengiriman. Untuk mendapatkan informasi tambahan tentang status pengiriman di akhir penerima, Anda harus mereferensikan cara menangani peristiwa email.

Pembatasan Email

Jika Anda melihat bahwa aplikasi Anda menggantungnya bisa disebabkan oleh pengiriman email yang dibatasi. Anda dapat menangani ini melalui pengelogan atau dengan menerapkan kebijakan kustom.

Catatan

Penyiapan kotak pasir ini untuk membantu pengembang mulai membangun aplikasi. Anda dapat secara bertahap meminta untuk meningkatkan volume pengiriman setelah aplikasi siap untuk ditayangkan. Kirim permintaan dukungan untuk menaikkan batas pengiriman yang Anda inginkan jika Anda memerlukan pengiriman volume pesan yang melebihi batas tarif.

Membersihkan sumber daya Azure Communication Service

Jika ingin membersihkan dan menghapus langganan Azure Communication Services, Anda bisa menghapus sumber daya atau grup sumber daya. Menghapus grup sumber daya juga menghapus sumber daya apa pun yang terkait dengannya. Pelajari selengkapnya tentang membersihkan sumber daya.

Langkah berikutnya

Dalam mulai cepat ini, Anda mempelajari cara melakukan polling status secara manual saat mengirim email menggunakan Azure Communication Services.

Anda mungkin juga ingin: