Успешная отправка почты на локальном хосте, но не при публикации на живом сервере, например [Somee, GoDaddy] - PullRequest
0 голосов
/ 16 октября 2019

Я пытаюсь отправить почту из 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);
            }
        }

Кроме того, я попытался этот ответ на вопрос, но не удалось.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...