2011-01-14 4 views
0

Ich benutze Google Mail zum Senden von E-Mails in meiner asp.net-Anwendung. E-Mail funktioniert gut, wenn ich E-Mails auf dem Server sende, aber wenn ich versuche, E-Mails auf dem lokalen Computer zu senden, gibt es einen Fehler. Ich habe break poin in code gesetzt und wenn die send-Methode aufgerufen wird, wird das Feld mit der Überschrift "Smtp exception is unhandled by user code" angezeigt und im Detail steht "Faliur send mail".Senden von E-Mail mit Google Mail-Konto auf dem lokalen Computer

Wenn ich auf Browser fortgesetzt es zeigt Fehlerseite mit diesen Details: Eine nicht behandelte Ausnahme während der Ausführung der aktuellen Webanfrage auf:

Eine bestehende Verbindung wurde vom Remote-Host Beschreibung wurde geschlossen. Bitte überprüfen Sie die Stack-Trace für weitere Informationen über den Fehler und wo es aus dem Code stammt.

Ausnahmedetails: System.Net.Sockets.SocketException: Eine bestehende Verbindung wurde vom Remote-Host meinen Code

Unten ist geschlossen war, mich freundlich führen.

Danke.

protected void btnConfirm_Click(object sender, EventArgs e) 
{ 
    string _Message = GetAdminEmailMessage();   

    MailMessage message = new MailMessage(); 
    SmtpClient smtp = new SmtpClient(); 
    NetworkCredential mailAuthentication = new NetworkCredential("[email protected]", "mypassword"); 
    message.To.Add(new MailAddress("[email protected]")); 
    message.From = new MailAddress("[email protected]"); 
    message.IsBodyHtml = true; 
    message.Subject = "Local test email"; 
    message.Body = _Message; 
    smtp.UseDefaultCredentials = false; 
    smtp.EnableSsl = true; 
    smtp.Port = 587; 
    smtp.DeliveryMethod = SmtpDeliveryMethod.Network; 
    smtp.Host = "smtp.gmail.com"; 
    smtp.Credentials = mailAuthentication; 
    smtp.Send(message); 

} 
+1

Ports blockiert? Oder ist deine IP mit Google Mail blockiert? Ich würde prüfen, ob ich mich mit den gleichen Einstellungen von Outlook oder ähnlichem verbinden könnte, bevor ich weitere Probleme anstecke. – StefanE

+0

StefanE Ich habe versucht, Outlook mit gmail und dem folgenden Fehler zu verbinden, es tut mir leid, dass ich es nicht bekommen kann. Die Verbindung zum Server ist fehlgeschlagen. Konto: 'smtp.gmail.com', Server: 'smtp.gmail.com', Protokoll: POP3, Port: 110, Secure (SSL): Nein, Socket Error: 10060, Fehlernummer: 0x800CCC0E – haansi

Antwort

1

Fehlercode 0x800CCC0E zeigt an, dass der Port blockiert wurde: http://support.microsoft.com/kb/191687

Try telnet smtp.gmail.com 587 - Können Sie verbinden?

Wenn Ihr Port nicht blockiert ist und Ihre Anmeldeinformationen korrekt ist, dann wird der Code in der akzeptierte Antwort auf diese Frage sollte funktionieren ..

Sending email through Gmail SMTP server with C#

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Net.Mail; 
using System.Net; 

namespace ConsoleApplication2 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      var client = new SmtpClient("smtp.gmail.com", 587) 
      { 
       Credentials = new NetworkCredential("[email protected]", "mypwd"), 
       EnableSsl = true 
      }; 
      client.Send("[email protected]", "[email protected]", "test", "testbody"); 
      Console.WriteLine("Sent"); 
      Console.ReadLine(); 
     } 
    } 
} 
+0

hearm Ich habe Telnet smtp tipped .gmail.com 587 auf Befehl propt und es zeigt "220 mx.google.com ESMTP s9sn421715wby.4" Es tut mir leid, ich bin nicht bewusst von Telnet ist es bedeutet, dass es verbunden ist? – haansi

+0

Wenn Port ist blicked was kann ich tun, um den Port oder eine Lösung zu entsperren? – haansi

Verwandte Themen