Member 11774405 Ответов: 1

Сбой отправки почты.


привет разработчикам!!

Недавно я работаю над отправкой почты с помощью кодирования c#, и я попытался отправить почту с помощью кодирования c# на платформе visual studio, и это работает совершенно нормально в моем локальном хосте visual studio. но когда я запускаю тот же код на другом хостинговом сайте, например myASP.NET или Somee.com в тот раз этот код получил ошибку.

ошибка типа (если я использовал smtp.gmail.com тогда ошибка вроде
The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.7.0 Authentication Required. Learn more at
) и (если бы я использовал smtp.somee.com затем ошибка генерируется как
Failure sending mail.
)

Отправка почтового кода в c# - это,

string username = "";
      string password = "";
      OleDbConnection con = new OleDbConnection(ConfigurationManager.ConnectionStrings["cstring"].ConnectionString);
      OleDbCommand cmd = new OleDbCommand("select umail, lpwd from uregister where umail=@email", con);
      cmd.Parameters.AddWithValue("email", txtEmail.Text);
      con.Open();
      using(OleDbDataReader sdr = cmd.ExecuteReader()) {

          if (sdr.Read()) {
              username = sdr["umail"].ToString();
              password = sdr["lpwd"].ToString();

          }

      }
      con.Close();
         if (!string.IsNullOrEmpty(password)) {

            MailMessage Msg = new MailMessage();
              // Sender e-mail address.
              Msg.From = new MailAddress(txtEmail.Text);
              // Recipient e-mail address.
              Msg.To.Add(txtEmail.Text);
              Msg.Subject = "Your Password Details";
              Msg.Body = ("Your Username is:" + username + "<br/><br/>" + "Your Password is:" + password);
              Msg.IsBodyHtml = true;
              // your remote SMTP server IP.
               SmtpClient Smtp = new SmtpClient();
              Smtp.Host = "";
             Smtp.Port = 587;
            NetworkCredential ntwd = new NetworkCredential();
                    ntwd.UserName = "xyz@gmail.com"; //Your Email ID
          ntwd.Password = "xyz123."; // Your Password
            Smtp.UseDefaultCredentials = false;
          Smtp.Credentials = ntwd;

          Smtp.EnableSsl = true;
          Smtp.Send(Msg);

              lbltxt.Text = "Your Password Details Sent to your mail.";
              // Clear the textbox valuess
              txtEmail.Text = "";
          }
          else
          {
              lbltxt.Text = "The Email you entered not exists.";
          }


этот код не работает на хостинге сайта somee.com/myASP.NET поэтому, пожалуйста, дайте мне знать, в чем проблема в этом коде. .

Что я уже пробовал:

string username = "";  
        string password = "";  
        OleDbConnection con = new OleDbConnection(ConfigurationManager.ConnectionStrings["cstring"].ConnectionString);  
        OleDbCommand cmd = new OleDbCommand("select umail, lpwd from uregister where umail=@email", con);  
        cmd.Parameters.AddWithValue("email", txtEmail.Text);  
        con.Open();  
        using(OleDbDataReader sdr = cmd.ExecuteReader()) {  
  
            if (sdr.Read()) {  
                username = sdr["umail"].ToString();  
                password = sdr["lpwd"].ToString();  
  
            }  
  
        }  
        con.Close();  
           if (!string.IsNullOrEmpty(password)) {  
            
              MailMessage Msg = new MailMessage();
                // Sender e-mail address.
                Msg.From = new MailAddress(txtEmail.Text);
                // Recipient e-mail address.
                Msg.To.Add(txtEmail.Text);
                Msg.Subject = "Your Password Details";
                Msg.Body = ("Your Username is:" + username + "<br/><br/>" + "Your Password is:" + password); 
                Msg.IsBodyHtml = true;  
                // your remote SMTP server IP.
                 SmtpClient Smtp = new SmtpClient();
                Smtp.Host = "smtp.gmail.com";
               Smtp.Port = 587;  
              NetworkCredential ntwd = new NetworkCredential();
                      ntwd.UserName = "xyz@gmail.com"; //Your Email ID  
            ntwd.Password = "xyz123."; // Your Password
              Smtp.UseDefaultCredentials = false;  
            Smtp.Credentials = ntwd;  
  
            Smtp.EnableSsl = true;  
            Smtp.Send(Msg);            
               
                lbltxt.Text = "Your Password Details Sent to your mail.";
                // Clear the textbox valuess
                txtEmail.Text = "";
            }
            else
            {
                lbltxt.Text = "The Email you entered not exists.";
            }

1 Ответов

Рейтинг:
1

RickZeeland

Смотрите ответы здесь: сбой отправки почты[^]

Как вы, кажется, используете старую версию .NET framework это также может вызвать проблемы с SSL, самым простым решением является обновление до самой новой версии.