如何修复网站中的传出电子邮件设置 (SMTP)?

how can I fix my outgoing email settings (smtp) in my website?

提问人:NOC 提问时间:6/14/2023 更新时间:6/15/2023 访问量:54

问:

我最近创建了一个网站,但由于某种原因,提交表单在我的网络服务器 hostgator 中不起作用。它在我的本地主机中工作,但在 Web 服务器中不起作用。我尝试使用网络服务器电子邮件,但它现在给了我一个“操作超时”错误。

电子邮件连接设置 我尝试做他们发布的内容,但仍然不起作用。

这是我的代码:

if (!ModelState.IsValid) { return View(); }


 

        //send email to us in order to know that the user has requested 
        try {

            string email = "[email protected]";
            string password = ""; // I am using the same password to login the webmail.


            //Message 
            MailMessage mail = new MailMessage();
            mail.From = new MailAddress(email);
           // mail.To.Add("[email protected]");
           mail.To.Add(new MailAddress("[email protected]"));
            mail.Subject = "You have received a new Project Request from Website";
            //mail.CC.Add("Website Conct us");

            // Body of the email
            mail.IsBodyHtml = true;
            string content = "Name: " + "<br/>";
            content += "Address: ";

            mail.Body = content;


            //Create the Smtp client system
            SmtpClient smpt = new SmtpClient();

            //host
            smpt.Host = "neworiginconstruction.com";
            
            //port 

            smpt.Port = 465;

            smpt.UseDefaultCredentials = false;

            smpt.EnableSsl = true;


            //Network credential to access your mail

            NetworkCredential nc = new NetworkCredential(email, password);

            //now pass nc to smpt server

            smpt.Credentials = nc;
            smpt.Send(mail);



            ViewBag.Message = "Thank you for contacting New Origin Construction. We'll get back to you within 24 hours.";
            ModelState.Clear();
        }
        catch(Exception ex) {

            ViewBag.Message = ex.Message.ToString();
        }


         
        return View();
asp.net asp.net-mvc asp.net-core asp.net-mvc-4

评论

0赞 NOC 6/14/2023
当我在smtp测试工具网站中测试时,它会立即起作用。当我在我的 Web 服务器中运行它时,它非常慢。正如我所提到的,它给了我一个“操作超时”错误消息。

答:

0赞 Jason Pan 6/15/2023 #1

由于您可以在本地成功发送电子邮件,这意味着没有代码问题。然后我们需要检查防火墙设置。并且您将站点部署到 can 平台,我们可以检查如下所示的端口设置。

您需要在HG防火墙插件中打开出站端口

enter image description here

评论

0赞 NOC 6/20/2023
我尝试打开端口,但在控制面板中找不到该页面。我的控制面板是 Plesk,它没有给我打开端口的选项。你知道我如何在 Plesk 中打开它吗?
0赞 Jason Pan 6/21/2023
嗨,@NOC,您可以参考答案,并就如何在 Plesk 中添加网络 acl 进行一些研究。