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
- Akun Azure dengan langganan aktif. Buat akun secara gratis.
- Versi terbaru dari .NET Core client library untuk sistem operasi Anda.
- Sumber Daya Azure Email Communication Services dibuat dan siap digunakan dengan domain yang tersedia Memulai dengan Membuat Sumber Daya Email Communication
- Sumber daya Communication Services aktif yang terhubung dengan Domain Email dan String Koneksi. Memulai dengan Menghubungkan Sumber Daya Email dengan Sumber Daya Communication
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 To
penerima , , CC
atau 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
- Node.js (~14).
- Akun Azure dengan langganan aktif. Buat akun secara gratis.
- Sumber daya Azure Email Communication Services dibuat dan siap dengan domain yang disediakan. Mulai membuat Sumber Daya Komunikasi Email.
- Sumber daya Azure Communication Services aktif yang tersambung ke Domain Email dan string koneksi nya. Mulailah dengan menyambungkan Sumber Daya Komunikasi Email dengan Sumber Daya Komunikasi Azure.
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 To
penerima , , CC
atau 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
- Akun Azure dengan langganan aktif. Buat akun secara gratis.
- Java Development Kit (JDK) versi 8 atau lebih tinggi.
- Apache Maven.
- Sumber daya Communication Services yang disebarkan dan string koneksi. Untuk detailnya, lihat Membuat sumber daya Communication Services.
- Buat sumber daya Azure Email Communication Services untuk mulai mengirim email.
- Penyiapan identitas terkelola untuk lingkungan pengembangan, lihat Mengotorisasi akses dengan identitas terkelola.
Menyelesaikan panduan mulai cepat ini dikenakan biaya kecil berupa beberapa sen USD atau kurang di akun Azure Anda.
Catatan
Kami juga dapat mengirim email dari domain terverifikasi kami sendiri Menambahkan domain terverifikasi kustom ke Email Communication Service.
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 To
penerima , , CC
atau 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
- Akun Azure dengan langganan aktif. Buat akun secara gratis.
- Python 3.7+.
- Sumber daya Azure Email Communication Services dibuat dan siap dengan domain yang disediakan. Mulai membuat Sumber Daya Komunikasi Email.
- Sumber daya Azure Communication Services aktif yang tersambung ke Domain Email dan string koneksi nya. Mulailah dengan menyambungkan Sumber Daya Komunikasi Email dengan Sumber Daya Komunikasi Azure.
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
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
Navigasikan ke direktori akar lingkungan virtual dan aktifkan menggunakan perintah berikut.
cd email-quickstart .\Scripts\activate
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 to
daftar penerima , , cc
atau 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:
- Pelajari cara melakukan polling secara manual untuk status email
- Pelajari selengkapnya tentang mengirim email dengan lampiran
- Biasakan diri Anda dengan pustaka klien email