首页 > 解决方案 > 在本地主机中成功发送邮件,但在 [Somee, GoDaddy] 等实时服务器上发布时发送邮件失败

问题描述

我正在尝试从 Gmail 发送邮件,它已在 localhost 中成功发送,但在服务器上发布网站时未发送邮件。网站发布在 somee 和 GoDaddy 托管服务器上。当网站发布时,一些异常已经生成为“邮件发送失败。 ”。

下面是我用过的功能。

public static void SendMailMessage(string subject, string body, string receiverEmail)
        {
            try
            {
                var host = ConfigurationManager.AppSettings["EMAIL_SMTP_HOST"];
                var port = ConfigurationManager.AppSettings["EMAIL_SMTP_PORT"];
                var isSSL = ConfigurationManager.AppSettings["EMAIL_ENABLESSL"] == "1" ? true : false;
                var isUseDefaultCredentials = ConfigurationManager.AppSettings["EMAIL_USE_DEFAULT_CREDENTIALS"] == "1" ? true : false;
                var userName = ConfigurationManager.AppSettings["EMAIL_USERNAME"];
                var password = ConfigurationManager.AppSettings["EMAIL_PASSWORD"];

                var objMailMsg = new MailMessage
                {
                    From = new MailAddress(userName),
                    Subject = subject,
                    Body = body,
                    IsBodyHtml = true,
                    Priority = MailPriority.High
                };

                objMailMsg.To.Add(new MailAddress(receiverEmail));
                using (var msmtpClient = new SmtpClient())
                {
                    msmtpClient.Host = host;
                    msmtpClient.Port = Convert.ToInt32(port);
                    msmtpClient.Credentials = new NetworkCredential(userName, password);
                    msmtpClient.EnableSsl = isSSL;
                    msmtpClient.UseDefaultCredentials = isUseDefaultCredentials;
                    msmtpClient.Send(objMailMsg);
                }
            }
            catch (Exception ex)
            {
                // throw;

                var url = ConfigurationManager.AppSettings["ApiPortalDomain"];
                using (System.IO.StreamWriter file =
                new System.IO.StreamWriter(url + "Upload/Product/WriteLines2.txt"))
                {
                  file.WriteLine(ex.Message);

                }
                //Console.Write(ex);
            }
        }

另外,我已经尝试过这个问题的答案,但没有成功。

标签: asp.net-mvc

解决方案


推荐阅读