Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么我的电子邮件成功发送但未送达收件人';s的收件箱?_C#_Asp.net Core_Asp.net Core 3.1_Mailkit_Mimekit - Fatal编程技术网

C# 为什么我的电子邮件成功发送但未送达收件人';s的收件箱?

C# 为什么我的电子邮件成功发送但未送达收件人';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

我在我的.net核心web应用程序中有一个验证电子邮件功能,我目前正在我的web主机帐户中使用我的活动域的电子邮件服务。在.net core3.1中,我将使用MailKitMimeKit作为我在.net core中的依赖项来发送电子邮件。我下面的代码似乎工作正常,没有任何错误,但当我检查收件人的电子邮件收件箱时,没有收到任何邮件,也没有发送任何电子邮件。我现在不知道我是否还错过了什么。我希望有人能帮我。下面是我的代码

appsettings.json

"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);
            }

        }