O e-mail de confirmação esta sendo enviado para o próprio e-mail do programa, e não para o que eu cadastro, alguém sabe pq?
EmailService:
using MailKit.Net.Smtp;
using Microsoft.Extensions.Configuration;
using MimeKit;
using UsuariosApi.Models;
namespace UsuariosApi.Services
{
public class EmailService
{
private readonly IConfiguration _configuration;
public EmailService(IConfiguration configuration)
{
_configuration = configuration;
}
public void EnviarEmail(string[] destinatario, string assunto,
int usuarioId, string code)
{
Mensagem mensagem = new(destinatario,
assunto, usuarioId, code);
var mensagemDeEmail = CriaCorpoDoEmail(mensagem);
Enviar(mensagemDeEmail);
}
private void Enviar(MimeMessage mensagemDeEmail)
{
using var client = new SmtpClient();
try
{
client.Connect(_configuration.GetValue<string>("EmailSettings:SmtpServer"),
_configuration.GetValue<int>("EmailSettings:Port"), true);
client.AuthenticationMechanisms.Remove("XOUATH2");
client.Authenticate(_configuration.GetValue<string>("EmailSettings:From"),
_configuration.GetValue<string>("EmailSettings:Password"));
client.Send(mensagemDeEmail);
}
catch { throw; }
finally
{
client.Disconnect(true);
client.Dispose();
}
}
private MimeMessage CriaCorpoDoEmail(Mensagem mensagem)
{
var mensagemDeEmail = new MimeMessage();
mensagemDeEmail.From.Add(new MailboxAddress("Venturo RH - Ativação de conta",
_configuration.GetValue<string>("EmailSettings:From")));
mensagemDeEmail.To.AddRange(mensagem.Destinatario);
mensagemDeEmail.Subject = mensagem.Assunto;
mensagemDeEmail.Body = new TextPart(MimeKit.Text.TextFormat.Text)
{
Text = mensagem.Conteudo
};
return mensagemDeEmail;
}
}
}
Mensagem:
using MimeKit;
using System.Collections.Generic;
using System.Linq;
using UsuariosApi.Models;
namespace UsuariosApi.Models
{
public class Mensagem
{
public List<MailboxAddress> Destinatario { get; set; }
public string Assunto { get; set; }
public string Conteudo { get; set; }
public Mensagem(IEnumerable<string> destinatario, string assunto,
int usuarioId, string codigo)
{
Destinatario = new List<MailboxAddress>();
Destinatario.AddRange(destinatario.Select(d => new MailboxAddress("testedestinatario", d)));
Assunto = assunto;
Conteudo = $"http://localhost:6000/ativa?UsuarioId={usuarioId}&CodigoDeAtivacao={codigo}";
}
}
}