Início Rápido: Enviar email com SMTP
Neste início rápido, você aprenderá a enviar emails usando SMTP.
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- A versão mais recente da biblioteca de clientes do .NET Core para o seu sistema operacional.
- Um recurso de email de comunicação do Azure criado e pronto com um domínio provisionado Introdução à criação do recurso de comunicação por email
- Um recurso ativo dos Serviços de Comunicação do Azure conectado ao domínio de email e uma cadeia de conexão. Introdução Conectando o Recurso de email com um Recurso de Comunicação
- Credenciais Smtp criadas usando um aplicativo Entra com acesso ao recurso dos Serviços de Comunicação do Azure. Como criar credenciais de autenticação para enviar emails usando o Smtp
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:
- Criar um SmtpClient usando a URL de host dos Serviços de Comunicação do Azure e as credenciais de autenticação Smtp.
- Criar um MailMessage.
- 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
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- Um recurso de email de comunicação do Azure criado e pronto com um domínio provisionado Introdução à criação do recurso de comunicação por email
- Um recurso ativo dos Serviços de Comunicação do Azure conectado ao domínio de email e uma cadeia de conexão. Introdução Conectando o Recurso de email com um Recurso de Comunicação
- Credenciais Smtp criadas usando um aplicativo Entra com acesso ao recurso dos Serviços de Comunicação do Azure. Como criar credenciais de autenticação para enviar emails usando o Smtp
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
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de