2012-05-22 4 views
6

Ich habe ein Problem, wenn ich eine E-Mail durch diesen Code dann Fehler "Der SMTP-Server erfordert eine sichere Verbindung oder der Client wurde nicht authentifiziert. Die Antwort des Servers war: . 5.5.1 Authentifizierung erforderlich "Der SMTP-Server erfordert eine sichere Verbindung oder der Client wurde nicht authentifiziert. Die Server-Antwort war: 5.5.1 Authentifizierung erforderlich

und mein Code:

protected void ImageButton1_Click(object sender, ImageClickEventArgs e) 
{ 

    MailMessage mail = new MailMessage(); 
    mail.To.Add("[email protected]"); 
    mail.From = new MailAddress("[email protected]"); 
    string body = "<table><tr><td>Company Name:</td><td>" + txt_cname.Text + "</td></tr><tr><td>Address With No.:</td><td>" + txt_addwithno.Text + "</td></tr><tr><td>Contact Person:</td><td>" + txt_conperson.Text + "</td></tr><tr><td>Email Id</td><td>" + txt_email.Text + "</td></tr><tr><td>Description</td><td>" + txt_description.Text + "</td></tr></table>"; 
    mail.Body = body; 
    mail.IsBodyHtml = true; 
    SmtpClient smtp = new SmtpClient(); 
    smtp.Host = "smtp.gmail.com"; 
    smtp.Port = 25; 
    smtp.UseDefaultCredentials = true; 
    smtp.Credentials = new System.Net.NetworkCredential("[email protected]", "xyz"); 
    smtp.EnableSsl = true; 
    smtp.Send(mail); 


    txt_cname.Focus(); 
    txt_cname.Text = ""; 
    txt_addwithno.Text = ""; 
    txt_conperson.Text = ""; 
    txt_email.Text = ""; 
    txt_description.Text = ""; 

} 
+0

Ist diese Frage gelöst? Weil ich dasselbe Problem habe und versuche, es zu reparieren. –

+0

Sie können dieses versuchen: http://stackoverflow.com/a/11513412/676508 –

Antwort

4

ich glaube, Sie UseDefaultCredentials auf false gesetzt ist, da Sie die Anmeldeinformationen für die Verbindung definieren.

Setzen Sie diese Eigenschaft auf wahr wenn dieses SmtpClient Objekt sollte, wenn vom Server angefordert, authentifiziert die Standard mit Anmeldeinformationen von der aktuell angemeldeten Benutzer.

[...]

Wenn die UseDefaultCredentials Eigenschaft auf falsch gesetzt ist, dann der Wert Satz in der Credentials-Eigenschaft wird für die Anmeldeinformationen verwendet werden, wenn Verbindung mit dem Server

2

Versuchen Sie, den Port 587 (es für mich gearbeitet) und auch auf false gesetzt UseDefaultCredentials. Setzen Sie diese und versuchen, die E-Mail senden

+0

hi maine useDefaultCredentials zu false, aber nicht funktioniert –

+0

ok versuchen nach dem Entfernen der Linie UseDefaultCredentials oder commenitng es vorläufig –

+0

und lassen Sie mich wissen –

15

Google Ihr Konto
Hier eine Anwendung verhindern den Zugriff auf Sie Anwendungen aktivieren können Google-Konto mit Ihren Anmeldeinformationen zuzugreifen:

https://accounts.google.com/DisplayUnlockCaptcha

+0

es funktionierte danach ... –

0

Der Hafen doesn‘ Das ist wirklich wichtig, da System.Net.Mail kein implizites SSL unterstützt, dh es ignoriert den Parameter "Port" vollständig.

0

Ich versuchte, dies über SQL Server 2012-Datenbank-E-Mail einzurichten, und erhielt die gleiche Nachricht.

Ich war nie in der Lage, es mit meinem primären Gmail-Konto zu arbeiten, die doppelte Authentifizierung verwendet, auch nach der Verwendung eines anwendungsspezifischen Passwortes. Am Ende habe ich versucht, meinen sekundären Account zu testen, der keine doppelte Authentifizierung hat, und es hat sofort funktioniert. Für jeden, der es nicht mit einer der oben genannten Lösungen funktioniert, versuchen Sie es mit einem Standardauthentifizierungs-E-Mail-Konto.

Verwandte Themen