Meine Frage ist die gleiche, also habe ich Koistya's implementiert Lösung wie folgt. Der Kummer ist, dass es wunderbar auf meinem Entwickler-Laptop funktioniert, aber wenn es auf den Webserver portiert wird, läuft es ohne Erklärung ab.
Meine SMTP-Konfiguration befindet sich in meiner web.config
-Datei. Ich habe Mods basierend auf Koistyas Antwort erstellt:
Mein .Net C # -Code (vor und nach dem Entfernen):
%Vor%Wie gesagt, das funktioniert großartig in meiner Entwicklungsumgebung, aber nicht im Web. Kann jemand helfen? Danke.
Ihre Einstellungen sind korrekt. Wir verwenden Google Mail, um in unseren Web-Apps jederzeit E-Mails zu versenden. Ihr Server blockiert wahrscheinlich ausgehenden Datenverkehr auf Port 587. Ich würde Ihren Host kontaktieren und sehen, ob er Ihnen helfen kann, da Sie sonst eine neue Mail oder einen neuen Host benötigen.
Dank der Hilfe von allen auf dieser Seite und dem Google Apps Forum (obwohl mir dieses eine besser gefällt), habe ich endlich alle Teile des Puzzles zusammengestellt. Aus irgendeinem Grund würden Port 465 und Port 587 nicht funktionieren. Das hat bei mir funktioniert:
Web.config:
%Vor%aus der Datei aspx.cs:
%Vor%Nochmals vielen Dank!
Ich hatte das gleiche Problem für meine Form. Meine Website läuft auf einem Plesk Control Panel. Ich habe mich nur bei meinem Panel angemeldet und das E-Mail-Hosting auf meinem Webserver deaktiviert. Danach wurde mein Formular an ein Google Apps-Konto gesendet. Probieren Sie aus, was ich gemacht habe, ich bin mir sicher, dass Sie einen Unterschied machen werden.
Wenn eine Antwort von Ihrem Hosting-Unternehmen fehlschlägt und Sie über einen anderen Server verfügen, an den Sie Testanfragen senden können, versuchen Sie, Verbindungen zu anderen Ports anzufordern, und sehen Sie, was passiert.
Wenn Ihr Webhost Ihnen nicht erlaubt, ausgehende SMTP-Nachrichten von ihren Servern zu senden, würde dies zu diesem Problem führen. Zum Beispiel ermöglicht GoDaddy nur das Senden von ausgehenden Nachrichten über smtpout.secureserver.net von Ihrem Server, so dass jeder Versuch fehlschlägt, Nachrichten über einen anderen Host (in diesem Fall smtp.gmail.com) zu senden. Wenn Ihr ISP das ausgehende SMTP nicht blockiert (wie Qwest zum Beispiel nicht), dann würde das lokal funktionieren.
Überprüfen Sie die FAQ mit Ihrem Webhost, um zu sehen, was sie darüber zu sagen haben. Die meisten Hosting-Unternehmen erlauben ausgehendes SMTP, beschränken es jedoch auf eine bestimmte Anzahl von Relays / Tag, um eine versehentliche Ausnutzung der Spam-Weiterleitung zu verhindern.
Sie haben Recht, dass der MX-Eintrag in Ihrer Domain nur eingehende E-Mails betrifft. Wenn jemand versucht, eine E-Mail an [email protected] zu senden, übergibt er sie an einen SMTP-Server (höchstwahrscheinlich den, den ihr ISP ihnen gibt), und dann sucht der SMTP-Server Ihren MX-Eintrag, um zu sehen, wer Ihre E-Mails bearbeitet. Es wird zu smtp.gmail.com aufgelöst, also wer wird Ihre Post bekommen, und Sie bekommen es von ihnen. Wenn Sie ausgehende E-Mails senden, können sie von jedem Benutzer weitergeleitet werden, da Sie nur den MX-Eintrag für die Zieldomäne interessieren (in der die E-Mail schließlich landen wird).
Macht das Sinn? Wenn Sie etwas Klärung wünschen, kann ich einige Tutorials und andere Erklärungen finden, um einen Sinn zu machen.
Tags und Links .net c# email google-apps