Bagikan melalui


Mengirim email dengan SMTP

Artikel ini menjelaskan cara mengirim email menggunakan Simple Mail Transfer Protocol (SMTP).

Prasyarat

Menyelesaikan artikel ini dikenakan biaya kecil beberapa sen USD atau kurang di akun Azure Anda.

Nota

Anda juga dapat mengirim email dari domain terverifikasi Anda sendiri. Tambahkan domain terverifikasi khusus ke Layanan Komunikasi Email.

Artikel ini menjelaskan cara mengirim email dengan Azure Communication Services menggunakan SMTP.

Pemeriksaan Prasyarat

  • Dalam terminal atau jendela perintah, jalankan perintah dotnet untuk memeriksa bahwa pustaka klien .NET sudah terpasang.
  • Untuk melihat subdomain yang terkait dengan Sumber Daya Email Komunikasi Azure Anda, masuk ke portal Microsoft Azure. Temukan Sumber Daya Email Komunikasi Azure Anda dan buka tab Penyediaan domain dari panel navigasi di sebelah kiri.

Buat aplikasi C# baru

Pada jendela konsol (seperti cmd, PowerShell, atau Bash), gunakan perintah dotnet new untuk membuat aplikasi konsol baru dengan nama EmailQuickstart. Perintah ini membuat proyek C# "Hello World" yang sederhana dengan satu file sumber: Program.cs.

dotnet new console -o EmailSmtpQuickstart

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

cd EmailSmtpQuickstart
dotnet build

Bangun pesan email Anda

Untuk membuat pesan email, Anda perlu:

  • Tentukan kredensial Autentikasi SMTP menggunakan ID Microsoft Entra.
  • Tentukan Subjek dan Isi Email.
  • Tentukan Alamat Pengirim Anda. Dapatkan Alamat MailFrom Anda dari Domain Terverifikasi Anda.
  • Tentukan Alamat Penerima.

Ganti dengan detail domain Anda dan ubah kontennya. Tambahkan detail penerima sesuai kebutuhan.

//Replace with your domain and modify the content, recipient details as required

string smtpAuthUsername = "<SMTP Username>";
string smtpAuthPassword = "<Entra Application Client Secret>";
string sender = "donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net";
string recipient = "emailalias@contoso.com";
string subject = "Welcome to Azure Communication Service Email SMTP";
string body = "This email message is sent from Azure Communication Service Email using SMTP.";

Mengirim email menggunakan System.Net.Mail.SmtpClient

Untuk mengirim pesan email, Anda perlu:

  1. Buat SmtpClient menggunakan URL host Azure Communication Services dan kredensial Autentikasi SMTP.
  2. Buat MailMessage.
  3. Kirim menggunakan metode SmtpClient Send.
using System.Net;
using System.Net.Mail;

string smtpAuthUsername = "<SMTP Username>";
string smtpAuthPassword = "<Entra Application Client Secret>";
string sender = "donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net";
string recipient = "emailalias@contoso.com";
string subject = "Welcome to Azure Communication Service Email SMTP";
string body = "This email message is sent from Azure Communication Service Email using SMTP.";

string smtpHostUrl = "smtp.azurecomm.net";
var client = new SmtpClient(smtpHostUrl)
{
    Port = 587,
    Credentials = new NetworkCredential(smtpAuthUsername, smtpAuthPassword),
    EnableSsl = true
};

var message = new MailMessage(sender, recipient, subject, body);

try
{
    client.Send(message);
    Console.WriteLine("The email was successfully sent using Smtp.");
}
catch (Exception ex)
{
    Console.WriteLine($"Smtp send failed with the exception: {ex.Message}.");
}

Prasyarat

Menyelesaikan pengenalan cepat ini akan mengakibatkan biaya kecil sebesar beberapa sen USD atau kurang di akun Azure Anda.

Nota

Kami juga dapat mengirim email dari domain terverifikasi milik kami sendiri. Tambahkan domain terverifikasi khusus ke Layanan Komunikasi Email.

Artikel ini menjelaskan cara mengirim email dengan Azure Communication Services menggunakan SMTP.

Mengirim email menggunakan Send-MailMessage

Kredensial dapat diverifikasi menggunakan utilitas Microsoft PowerShell Send-MailMessage. Lihat Send-MailMessage untuk sintaks.

Untuk menyimpan kredensial dalam format PSCredential yang diperlukan, gunakan perintah PowerShell berikut:

$Password = ConvertTo-SecureString -AsPlainText -Force -String '<Entra Application Client Secret>'
$Cred = New-Object -TypeName PSCredential -ArgumentList '<SMTP Username>', $Password

Gunakan skrip PowerShell berikut untuk mengirim email. Nilai Dari adalah email dari alamat domain terverifikasi Anda. Nilai Kepada adalah alamat email yang ingin Anda kirimi.

Send-MailMessage -From 'User01 <user01@fabrikam.com>' -To 'User02 <user02@fabrikam.com>' -Subject 'Test mail' -Body 'test' -SmtpServer 'smtp.azurecomm.net' -Port 587 -Credential $Cred -UseSsl