Compartilhar via


Início Rápido: Enviar email com SMTP

Neste início rápido, você aprenderá a enviar emails usando SMTP.

Pré-requisitos

A realização deste início rápido gera um pequeno custo de alguns centavos de dólar ou menos em sua conta do Azure.

Observação

Também podemos enviar um e-mail de nosso próprio domínio verificado. Como adicionar domínios verificados ao Serviço de Comunicação por E-mail.

Neste início rápido, você aprenderá a enviar emails com os Serviços de Comunicação do Azure usando o SMTP.

Verificação de pré-requisitos

  • Em um terminal ou janela de comando, execute o comando dotnet para verificar se a biblioteca de clientes do .NET está instalada.
  • Para exibir os subdomínios associados ao seu recurso de email de comunicação do Azure, entre no portal do Azure, localize seu recurso de email de comunicação do Azure e abra a guia Provisionar domínios no painel de navegação esquerdo.

Criar um aplicativo em C#

Em uma janela de console (como cmd, PowerShell ou Bash), use o comando dotnet new para criar um novo aplicativo do console com o nome EmailQuickstart. Esse comando cria um projeto simples C# "Olá, Mundo" com um arquivo de origem único: Program.cs.

dotnet new console -o EmailSmtpQuickstart

Altere o seu diretório para a pasta de aplicativo recém-criada e use o comando dotnet build para compilar o seu aplicativo.

cd EmailSmtpQuickstart
dotnet build

Construir sua mensagem de e-mail

Para construir uma mensagem de email, você precisa:

  • Definir as credenciais de autenticação Smtp usando um aplicativo Entra.
  • Definir o assunto e corpo do email.
  • Definir o endereço do remetente. Obter seu endereço MailFrom de seu domínio verificado.
  • Definir o Endereço do Destinatário.

Substituir por seus detalhes de domínio e modificar o conteúdo, detalhes do destinatário, conforme necessário

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

string smtpAuthUsername = "<Azure Communication Services Resource name>|<Entra Application Id>|<Entra Application Tenant Id>";
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.";

Enviar um email usando System.Net.Mail.SmtpClient

Para enviar uma mensagem de e-mail, você precisa:

  1. Criar um SmtpClient usando a URL de host dos Serviços de Comunicação do Azure e as credenciais de autenticação Smtp.
  2. Criar um MailMessage.
  3. Enviar usando o método Send do SmtpClient.
using System.Net;
using System.Net.Mail;

string smtpAuthUsername = "<Azure Communication Services Resource name>|<Entra Application Id>|<Entra Application Tenant Id>";
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}.");
}

Pré-requisitos

A realização deste início rápido gera um pequeno custo de alguns centavos de dólar ou menos em sua conta do Azure.

Observação

Também podemos enviar um e-mail de nosso próprio domínio verificado. Como adicionar domínios verificados ao Serviço de Comunicação por E-mail.

Neste início rápido, você aprenderá a enviar emails com os Serviços de Comunicação do Azure usando o SMTP.

Enviar um email usando Send-MailMessage

As credenciais podem ser verificadas usando o utilitário Send-MailMessage do Microsoft PowerShell. Confira Send-MailMessage para obter a sintaxe.

Para armazenar as credenciais no formato PSCredential necessário, use os seguintes comandos do PowerShell:

$Password = ConvertTo-SecureString -AsPlainText -Force -String '<Entra Application Client Secret>'
$Cred = New-Object -TypeName PSCredential -ArgumentList '<Azure Communication Services Resource name>|<Entra Application ID>|<Entra Tenant ID>', $Password

O seguinte script do PowerShell pode ser usado para enviar o email. O valor From é o email do endereço de seu domínio verificado. O valor To é o endereço de email para o qual você gostaria de enviar.

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