Senden von E-Mails von gmail-SMTP-C# - Verbindung Timeout
Ich habe versucht, Sie senden eine E-Mail über C# von einem gmail-account für die account-Registrierung für meine website.
Ich habe versucht, mehrere Möglichkeiten, aber die gleiche exception weiter zu pop-up: System.Net.E-Mail.Smtp-Ausnahme - Verbindung hat das Zeitlimit überschritten.
Dies ist, was ich inluded in meinem Web.config-Datei:
<system.net>
<mailSettings>
<smtp deliveryMethod="Network"
from="Writely <[email protected]>">
<network host="smtp.gmail.com"
port="465"
enableSsl="true"
defaultCredentials="false"
userName="[email protected]"
password="******" />
</smtp>
</mailSettings>
</system.net>
wo writely ist der name meiner Webseite, und [email protected] ist das Konto, das ich möchten, senden Sie eine E-Mail aus.
Dann im mein Konto-Controller, wenn ich eine Verbindung mit meiner Datenbank und speichern Sie den user in meine Tabelle, ich Schaffe meine MailMessage-Objekt und versucht, gleiche mail von:
using (DBConnection conn = new DBConnection())
{
conn.UserInfoes.Add(userInfo);
conn.SaveChanges();
MailMessage mail = new MailMessage();
mail.From = new MailAddress("[email protected]");
mail.To.Add("[email protected]");
mail.Subject = "Welcome to Writely";
mail.Body = "Test content";
SmtpClient smtp = new SmtpClient();
smtp.Send(mail);
}
Bin ich etwas fehlt oder etwas falsch machen? Ich habe gelesen, dass dies ist eine gute Möglichkeit, dies zu tun, in einigen anderen Frage auf stack overflow, also ich weiß wirklich nicht, was hier das problem.
Dank für deine Hilfe 🙂
InformationsquelleAutor Bernice | 2013-03-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie sagen, die SmtpClient, welche Einstellungen zu verwenden. Es wird nicht automatisch Lesen Sie diese Informationen aus dem Web.Config-Datei.
Sorry, lassen Sie mich anders formulieren. Die Informationen im Web.Config wird nicht automatisch von der SmtpClient-Klasse. Finden Sie den code in meine aktualisierte Antwort.
oh ok danke 🙂 .. und google die Verwendung von port 587 oder 465 ? Ursache, die ich bin, sieht man verschiedene port-Nummern in jeder Frage über das internet. Muss ich den port ändern im web.config für 587 zu?
es hat Super geklappt 🙂 vielen Dank!
Der port, den Sie verwenden, hängt davon ab, ob oder nicht Sie SSL verwenden. Sie verwenden sollten, 465, wenn Sie mit SSL und 587 für den Klartext. Offenbar GMail ist ziemlich fehlertolerant, aber, da ich verwirrt meine ports in dem Beispiel.
InformationsquelleAutor Jason Watkins
gmail erfordert Authentifizierung:
also habe ich
InformationsquelleAutor Crudler
Ich hatte das exakt gleiche problem und es ist gelöst nach dem Wechsel der port-Nummer, von 465 auf 587.
Hatte ich das problem auf "E-Mail-Bestätigung", "password recovery" und "email versenden" und jetzt alle 3 Probleme gelöst :).
Ich weiß, es ist ein ziemlich Alter post, aber normalerweise verwende ich die vorhandenen Beiträge, Antworten zu finden, anstatt zu Fragen, für neue Fragen.
Danke an Euch alle für all Ihre Hilfe.
InformationsquelleAutor Auguste
Als ich bereits beantwortet hier.
Dieses problem kann auch verursacht werden durch eine Sicherheits-Konfiguration in Ihr gmail-Konto.
Den richtigen port 587, aber um Sie zu authentifizieren müssen, um Zugriff auf weniger sichere apps in Ihrem Google Mail-Konto.
Versuchen Sie es hier
Bei mir hat es geklappt, hoffe es hilft..
InformationsquelleAutor dinhokz
Beispiel in asp.net web-Formulare/sharepoint
InformationsquelleAutor Rafael Estevão