2016-09-24 3 views
-1
senden

Ich benutze SMTP-Client, um E-Mails zu senden, aber das Problem ist, dass wenn ich versuchte, E-Mail-Formular senden meine lokale System-E-Mail erfolgreich gesendet, aber ich auf Server als E-Mail nicht gesendet. Hier ist mein CodeIch kann keine E-Mail mit SMTP auf Server

try 
     { 
      MailMessage mail = new MailMessage(); 
      mail.To.Add(receiver); 
      mail.From = new MailAddress("[email protected]"); 
      mail.Subject = subject; 
      mail.Body = body; 
      mail.IsBodyHtml = true; 
      if (attachment != null) 
      { 
       mail.Attachments.Add(attachment); 
      } 
      SmtpClient smtp = new SmtpClient(); 
      smtp.Host = "smtp.gmail.com"; 
      smtp.Credentials = new System.Net.NetworkCredential("[email protected]", "xxxxxx"); 
      smtp.EnableSsl = true; 
      smtp.UseDefaultCredentials = false; 
      smtp.DeliveryMethod = SmtpDeliveryMethod.Network; 
      smtp.Port = 587; 
      smtp.Send(mail); 
      return true; 
     } 
     catch 
     { 
      return false; 
     } 
+1

Haben Sie versucht, den Zugriff auf weniger sichere Apps in Ihrem Google-Konto zu aktivieren? –

+0

Ja, es ist aktiviert. –

+0

Wenn Sie E-Mails von Ihrem lokalen System mit demselben Code senden können und sie nicht vom Server senden können, scheint das Problem nicht in Ihrem Code zu liegen. Ein Problem kann darin bestehen, wie Sie Methoden auf Ihrem Server aufrufen oder wie Ihr Server sich mit dem Internet verbindet (Firewall-Probleme vielleicht). –

Antwort

0

Es kann viele Gründe für that.By an Ihrem Code suchen sein schlage ich zuerst überprüfen Sie Wetter eine Ausnahme erzeugt wird, wenn dieser Code in Server ausführt (log Ausnahme) .Dieses wird dazu beitragen, zu untersuchen, weiter.Überprüfen Sie auch, ob Port (587) im Code von der Server-Firewall nicht blockiert wird (falls auf dem Server aktiviert).

Verwandte Themen