为什么我的电子邮件已成功发送,但没有发送到收件人的收件箱?



我的.net核心web应用程序中有一个验证电子邮件功能,我目前正在我的web主机帐户中使用活动域的电子邮件服务。在.net core3.1中,我使用MailKit

MimeKitappsettings.json

"OpvUsersViewModel": {
"EmailId": "myemail@mydomain.com",
"UserName": "myemail@mydomain.com",
"UserPassword": "mypassword",
"SenderName": "Admin",
"Host": "mail.mydomain.com",
"Port": 25
},

启动.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);
}
}

邮件最终进入垃圾邮件文件夹的几率很高。

通过将电子邮件发送到与发送地址相同的地址(myemail@mydomain.com(来测试代码。如果这在C#中没有任何错误的情况下失败了,请考虑检查日志,看看到底哪里出了问题。

如果此测试成功,但使用不同的电子邮件地址失败,则应与mail.mydomain.com的管理员讨论此问题。

相关内容

最新更新