У меня есть функция проверки электронной почты в моем веб-приложении .net core, и в настоящее время я использую службу электронной почты моего активного домена в своей учетной записи веб-хостинга. В .net core3.1 я использую MailKit и MimeKit в качестве зависимостей в .net core для отправки электронной почты. Мой приведенный ниже код работает нормально, в нем нет ошибок, но когда я проверяю почтовый ящик получателя, ничего не приходит и электронное письмо не доставляется. На данный момент я не могу понять, пропустил ли я что-нибудь. Я надеюсь, что кто-нибудь может помочь мне с этим. Вот мои коды ниже.
appsettings.json
"OpvUsersViewModel": {
"EmailId": "[email protected]",
"UserName": "[email protected]",
"UserPassword": "mypassword",
"SenderName": "Admin",
"Host": "mail.mydomain.com",
"Port": 25
},
Startup.cs
services.Configure<OpvUsersViewModel>(Configuration.GetSection("OpvUsersViewModel"));
Способы отправки электронной почты:
private async void SendVerificationEmail(string recepientEmail, string message)
{
var email = new MimeMessage();
email.From.Add(MailboxAddress.Parse(_mailSettings.EmailId));
email.To.Add(MailboxAddress.Parse(recepientEmail));
email.Subject = "CODE VERIFICATION";
email.Body = new TextPart(MimeKit.Text.TextFormat.Plain)
{ Text = message };
using (var smtp = new MailKit.Net.Smtp.SmtpClient())
{
await smtp.ConnectAsync(_mailSettings.Host, _mailSettings.Port, SecureSocketOptions.StartTls);
await smtp.AuthenticateAsync(_mailSettings.UserName, _mailSettings.UserPassword);
await smtp.SendAsync(email);
await smtp.DisconnectAsync(true);
}
}