Enviar Mensagens de Email via MailGun e SendGrid
Contents
[
Hide
]
Enviando Mensagens usando MailGun e SendGrid
Aspose.Email fornece a capacidade de enviar mensagens de email usando os serviços MailGun ou SendGrid. Sua API unificada permite que você inicialize um cliente, prepare e envie a mensagem de email.
Primeiro, é importante configurar opções dependendo de qual serviço será usado para enviar mensagens. A classe DeliveryServiceOptions ajudará você com isso. O seguinte exemplo de código mostra como configurar opções para os serviços.
Opções do cliente MailGun:
string domain = "SEU_DOMÍNIO_MAILGUN";
string privApiKey = "SUA_CHAVE_API_PRIVADA_MAILGUN";
var opt = new MailgunClientOptions { Domain = domain, ApiKey = privApiKey };
Opções do cliente SendGrid:
string privApiKey = "SUA_CHAVE_API_PRIVADA_SENDGRID";
var opt = new SendGridClientOptions { ApiKey = privApiKey };
Para preparar e enviar uma mensagem, use o seguinte exemplo de código e etapas:
- Crie uma instância da interface IDeliveryServiceClient.
- Crie uma nova mensagem em formato eml usando a classe MailMessage. Especifique suas propriedades.
- Use o método Send do objeto cliente para enviar o email. O resultado da operação de envio é armazenado na variável resp.
- Se a operação de envio não foi bem-sucedida (resp.Successful é falso), o código entra em um loop foreach para iterar sobre a coleção ErrorMessages do objeto resp. Cada mensagem de erro é impressa no console usando Console.WriteLine.
IDeliveryServiceClient client = DeliveryServiceClientFactory.Get(opt);
MailMessage eml = new MailMessage(fromAddress, toAddress, subject, body);
var resp = client.Send(eml);
if (!resp.Successful)
{
foreach (var error in resp.ErrorMessages)
{
Console.WriteLine(error);
}
}
Enviando Mensagens de forma Assíncrona
MailMessage eml = new MailMessage(fromAddress, toAddress, subject, body);
var sendTask = client.SendAsync(eml);
sendTask.Wait();
if (!sendTask.Result.Successful)
{
foreach (var error in sendTask.Result.ErrorMessages)
{
Console.WriteLine(error);
}
}