Das Senden von E-Mails über ein Google Apps-Konto funktioniert lokal, aber nicht auf meinem Webserver

8

Siehe auch:

  

E-Mails über C # über Google Apps-Konto senden

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:

%Vor%

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.

    
Community 24.06.2009, 15:26
quelle

6 Antworten

2

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.

    
Chris Mullins 24.06.2009 20:39
quelle
1

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!

    
Janis Baldwin 26.06.2009 11:37
quelle
1

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.

    
kawama Mugabiii Dennis 16.04.2010 19:58
quelle
0

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.

    
Adrian Lynch 25.06.2009 01:10
quelle
-1

Es kann sein, dass der SMTP-Client nicht auf den SMTP-Server zugreifen kann (möglicherweise vom Webhost deaktiviert).

Fragen Sie den Web-Host, ob er einen bestimmten SMTP-Server hat, mit dem Sie E-Mails versenden sollten.

    
Mauro 24.06.2009 15:42
quelle
-1

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.

    
SqlRyan 24.06.2009 16:48
quelle

Tags und Links