Gibt es eine Möglichkeit zum schließen E-mail-smtp-Sitzung?
Ich bin mit Gmail-SMTP-server zum senden von E-Mails. Es funktioniert ganz gut. Aber von paar Tagen, ist es manchmal aufhört zu arbeiten. Nun, es ist nur die Arbeit 5 out of 10
Zeiten.
Ausnahme: Failure Sending Email
Innere Ausnahme: Unable to connect to remote server.
Nach dem Gespräch auf hosting, technische Unterstützung, Sie sagte, es ist ein E-mail-session-limit auf dem server. Dies ist ein Shared Hosting
, also wenn es über alle neue verbindungen werden blockiert. Sie sagten, Sie versuchen, es zu beheben. Aber auch sagte, bitte überprüfen Sie, dass Sie closing the mail session properly or not
.
Ich schaute hinein, aber es ist keine Close()
oder Dispose()
. Ich habe auch gelesen, dass es keine Bestätigung für den SMTP-Transfer?
Bitte lassen Sie mich wissen, wenn es eh schließen Sie die E-mail-Sitzung? Oder irgendein workaround um dieses Problem zu beheben.
Update
Ich bin mit System.Net.Mail
MailMessage msg = new MailMessage();
SmtpClient sc = new SmtpClient("smtp.gmail.com", 587);
NetworkCredential-info = new NetworkCredential("email", "Passwort");
Dann gibt es eine andere Methode, die Anrufe sc.Send()
.
- Poste bitte deinen aktuellen code. Machen Sie deutlich, wenn Sie mit System.Net.Mail, System.Web.Mail, oder eine andere Lösung
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den System.Net.E-Mail.SmtpClient IDisposable implementiert, so dass ich schlage vor, Sie verwenden, dass eher als, was auch immer code, den Sie derzeit verwenden. Verwenden Sie eine mit - block, um sicherzustellen, es wird richtig entsorgt.
Beachten Sie insbesondere, dass die Verwendung von
System.Web.Mail
ist veraltet zugunsten vonSystem.Net.Mail
.BEARBEITEN
Haben Sie bemerkt jetzt, dass Sie mit
System.Net.Mail
. In diesem Fall werden Sie feststellen, dass die SMTPClient hat haben eine Entsorgen - Methode (wie es IDisposable implementiert), die werden ordnungsgemäß schließen Sie die SMTP-Verbindung. Es ist jedoch als eine bessere Praxis zu verwendenusing
block, vielmehr als BerufungDispose
direkt. Schließlich, beachten Sie bitte Folgendes aus dem verlinkten Dokumentation: