C# 在ASP.NET Core MVC 2.1中将用户消息从我的站点发送到我的电子邮件

C# 在ASP.NET Core MVC 2.1中将用户消息从我的站点发送到我的电子邮件,c#,asp.net-core,asp.net-core-mvc,asp.net-core-2.1,C#,Asp.net Core,Asp.net Core Mvc,Asp.net Core 2.1,我在ASP.NET Core MVC 2.1中有一个C#代码,如下所示,用于从我的站点向我发送用户消息: [HttpPost] [ValidateAntiForgeryToken] public async Task<IActionResult> ContactSohJel(string txtEmail, string txtSubject, string txtFirstName, string txtLastName, string txtMessage) { usin

我在ASP.NET Core MVC 2.1中有一个C#代码,如下所示,用于从我的站点向我发送用户消息:

[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> ContactSohJel(string txtEmail, string txtSubject, string txtFirstName, string txtLastName, string txtMessage)
{
    using (MailMessage message = new MailMessage())
    {
        try
        {
            MailMessage mail = new MailMessage();
            //mail.From = new MailAddress("mail@sohjel.ir");
            mail.To.Add("mail@sohjel.ir");
            mail.CC.Add("sohjelveh@gmail.com");
            mail.Bcc.Add("sohjel@yahoo.com");
            mail.From = new MailAddress(txtEmail, txtSubject, System.Text.Encoding.UTF8);
            mail.Subject = "Subject: " + txtSubject + " --- " + "This Message Has Been Sent From: SohJel Let's Learn English WebSite. Microsoft ASP.NET Core MVC";
            mail.SubjectEncoding = System.Text.Encoding.UTF8;
            mail.Body = "<h1>Sender</h1><br/><h2>Information:<br/></h2><h3><strong>First Name: </strong>" + txtFirstName + "<br/><strong>Last Name: </strong>" + txtLastName + "<br/><strong>Email: </strong>" + txtEmail + "<br/><strong>Subject: </strong>" + txtSubject + "<br/><h2>Message: <br/></h2><h3><textarea rows=15 cols=80>" + txtMessage + "</textarea><br/>" + "<br/>" + "<br/>" + "<br/>" + "</h3>" + "This Message Has Been Sent From: SohJel Let's Learn English WebSite.";
            mail.BodyEncoding = System.Text.Encoding.UTF8;
            mail.IsBodyHtml = true;
            mail.Priority = MailPriority.High;
            SmtpClient client = new SmtpClient();

            client.UseDefaultCredentials = false;
            client.Credentials = new System.Net.NetworkCredential("mail@sohjel.ir", "********");
            client.Port = **;
            //client.Port = ***;
            client.Host = "***.***.***.**";
            client.EnableSsl = false;
            await client.SendMailAsync(mail);
            TempData["testmsg"] = " Your Message Sent Successfully To Me! ";
        }
        catch (Exception ex)
        {
            TempData["testmsg"] = " An Error Occured!: Your Message Was NOT Sent To Me! ";
            ViewBag.Title = ex.Message;
        }
    }
    return View("ContactSohJel");
}
[HttpPost]
[ValidateAntiForgeryToken]
公共异步任务联系人(字符串txtmail、字符串txtSubject、字符串txtFirstName、字符串txtLastName、字符串txtMessage)
{
使用(MailMessage=newmailmessage())
{
尝试
{
MailMessage mail=新的MailMessage();
//mail.From=新邮件地址(“mail@sohjel.ir");
mail.To.Add(“mail@sohjel.ir");
mail.CC.Add(“sohjelveh@gmail.com");
mail.Bcc.Add(“sohjel@yahoo.com");
mail.From=新邮件地址(txtmail、txtSubject、System.Text.Encoding.UTF8);
mail.Subject=“Subject:”+txtSubject+”--“+”此消息已从以下地址发送:SohJel Let's Learn English WebSite.Microsoft ASP.NET Core MVC”;
mail.SubjectEncoding=System.Text.Encoding.UTF8;
mail.Body=“发件人
信息:
姓名:“+txtflastname+”
姓氏:“+txtLastName+”
电子邮件:“+txtmail+”
主题:“+txtSubject+”
消息:
“+txtMessage+”
“+”
“+”
“+”+“
”“此消息来自:SohJel Let's Learn English网站。”; mail.BodyEncoding=System.Text.Encoding.UTF8; mail.IsBodyHtml=true; mail.Priority=MailPriority.High; SmtpClient=新的SmtpClient(); client.UseDefaultCredentials=false; client.Credentials=新系统.Net.NetworkCredential(“mail@sohjel.ir", "********"); 客户端端口=**; //client.Port=***; client.Host=“****.*.*.*”; client.enablesl=false; 等待client.SendMailAsync(邮件); TempData[“testmsg”]=“您的邮件已成功发送给我!”; } 捕获(例外情况除外) { TempData[“testmsg”]=“发生错误!您的邮件未发送给我!”; ViewBag.Title=例如消息; } } 返回视图(“ContactsOjel”); }
现在我的问题是消息没有发送给我!
*此代码适用于本地主机上的gmail帐户,但不适用于我的网站!

错误似乎很明显。“发件人”地址域必须与身份验证域相同


您可能正在传入要在发件人标头中使用的用户电子邮件地址。这不正确。您应该在发件人字段中使用自己的地址。

我从位于主机上的站点收到此错误消息:邮箱不可用。服务器响应为:发件人域必须与经过身份验证的域匹配