C# 为什么我的电子邮件成功发送但未送达收件人';s的收件箱?
我在我的.net核心web应用程序中有一个验证电子邮件功能,我目前正在我的web主机帐户中使用我的活动域的电子邮件服务。在.net core3.1中,我将使用MailKit和MimeKit作为我在.net core中的依赖项来发送电子邮件。我下面的代码似乎工作正常,没有任何错误,但当我检查收件人的电子邮件收件箱时,没有收到任何邮件,也没有发送任何电子邮件。我现在不知道我是否还错过了什么。我希望有人能帮我。下面是我的代码 appsettings.jsonC# 为什么我的电子邮件成功发送但未送达收件人';s的收件箱?,c#,asp.net-core,asp.net-core-3.1,mailkit,mimekit,C#,Asp.net Core,Asp.net Core 3.1,Mailkit,Mimekit,我在我的.net核心web应用程序中有一个验证电子邮件功能,我目前正在我的web主机帐户中使用我的活动域的电子邮件服务。在.net core3.1中,我将使用MailKit和MimeKit作为我在.net core中的依赖项来发送电子邮件。我下面的代码似乎工作正常,没有任何错误,但当我检查收件人的电子邮件收件箱时,没有收到任何邮件,也没有发送任何电子邮件。我现在不知道我是否还错过了什么。我希望有人能帮我。下面是我的代码 appsettings.json "OpvUsersViewMod
"OpvUsersViewModel": {
"EmailId": "myemail@mydomain.com",
"UserName": "myemail@mydomain.com",
"UserPassword": "mypassword",
"SenderName": "Admin",
"Host": "mail.mydomain.com",
"Port": 25
},
Startup.cs
services.Configure<OpvUsersViewModel>(Configuration.GetSection("OpvUsersViewModel"));
通过将电子邮件发送到您发送电子邮件的地址(
myemail@mydomain.com
)。如果在C语言中没有任何错误,那么请考虑看它到底出了什么问题。
如果此测试成功,但使用不同的电子邮件地址失败-您应该与您的
mail.mydomain.com
管理员讨论此问题。邮件很有可能最终进入垃圾邮件文件夹。@jstedfast…它也不在垃圾邮件或垃圾文件夹中。我已经从端口25尝试了他们的替代端口,结果仍然相同。我也尝试过在端口465和587上使用gmail smtp,结果仍然一样。收件箱或垃圾邮件文件夹中未出现任何内容。我尝试从我自己的域电子邮件服务手动发送邮件,但效果良好,但不是通过我们网站中的电子邮件程序。您可以检查日志,但如果SendAsync方法未引发异常,则服务器正在接受邮件。此时,它就掌握在smtp服务器手中。
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);
}
}