GoDaddy 共享主机上的 System.Net.Mail - 未显示错误但不发送提交的电子邮件

问题描述

首先,我很抱歉,因为我觉得这个问题在 Stack Overflow 上被问了很多次,但是我已经尝试查看其中的一些解决方案,但它们似乎仍然没有帮助。我只是想找出我的代码中是否有任何内容因我的问题而突出。

我有一个当前托管在 GoDaddy 共享主机帐户上的 mvc 网站。我正在尝试设置一个简单的联系表单,用于向站点所有者发送电子邮件。当我提交表单时,没有报告错误,但是没有发送电子邮件。我已经多次与 GoDaddy 支持人员交谈过,他们说这没什么。此外,当从我的本地主机(在我的 web.config 中使用)进行测试时,电子邮件成功保存到目录中。

一些细节:

  1. 我遇到问题的页面(对于电话,只能使用数字。我仍在处理)https://solarsafely.com/Home/Contact

  2. GoDaddy 托管:共享

  3. 我试图用来发送的电子邮件:Outlook 365 电子邮件(从 GoDaddy 购买)

这是我用于发送的 mvc 控制器:

     public async Task<ActionResult> Contact(Email email)
    {
        if(ModelState.IsValid)
        {
            try
            {
                string body = "<p>Email From: {0} ({1})</p><p>Message:</p><p>{2}</p>";
                MailMessage mail = new MailMessage();
                mail.To.Add(new MailAddress("info@Solarsafely.com"));
                mail.From = new MailAddress(email.From);
                mail.Subject = "You have a new message from Solarsafely.com - Contact Us";
                mail.Body = string.Format(body,email.Name,email.From,email.Body);
                mail.IsBodyHtml = true;
                using (SmtpClient smtp = new SmtpClient())
                {
                    await smtp.SendMailAsync(mail);
                    return RedirectToAction("Sent");
                }
            }
            catch(Exception exc)
            {
                ViewBag.Error = exc.Message;
            }
            
        }
        return View(email);
    }

Web.config

<system.net>
<mailSettings>
  <smtp from="info@Solarsafely.com">
    <network host="relay-hosting.secureserver.net" port="25" />
  </smtp>
</mailSettings>
   </system.net>

知道为什么我的电子邮件没有发送吗? 谢谢

解决方法

尝试使用 GMAIL 地址临时设置它。
我在这里检查过:https://www.godaddy.com/help/send-form-mail-using-an-smtp-relay-server-953 并且您可能必须在 web.config 中明确设置身份验证和 ssl 设置。