Phpmailer Fehler
DarkSoja
- php
Hallo!
Ich habe schon ein Thema zum phpmailer erstellt, doch hier noch ein weiterer Fehler, der (meiner Meinung nach) ein neues Thema rechtferigt.
Also, ich habe nun mit phpmailer 5.1 ein Script erstellt, welches eine E-Mail/meherere E-Mails über Googlemail schickt.
Wenn ich das bei mir lokal laufen lassen, klappt das auch wunderbar.
Doch wenn ich das Ganze auf einen Server lade, klappt das nicht mehr und ich bekomm den Fehler:
Mailer Error: SMTP Error: Could not connect to SMTP host
Invalid address: SMTP Error: Could not connect to SMTP host.
Weiß jemand, woran das liegen könnte?
Ich habe ein Tutorial benutzt:
How-to use PHPMailer with GMail
Viele Grüße!
Hallo,
sagt der Fehler nicht in welcher Zeile. Was sagt Dir der Fehler?
Mailer Error: SMTP Error: Could not connect to SMTP host
Keine Möglichkeit mit dem SMTP-Server (Versenden) zu verbinden.
Invalid address: SMTP Error: Could not connect to SMTP host.
Ungültige Adresse. Tja, da würde ich doch glatt mal im Code nachschauen.
Gruß
jobo
Hallo,
sagt der Fehler nicht in welcher Zeile. Was sagt Dir der Fehler?
leider wird die Zeile nicht angegeben...
Ungültige Adresse. Tja, da würde ich doch glatt mal im Code nachschauen.
Hab ich ja... Ich habe die Datei einmal lokal bei mir: alles klappt wunderbar.
Dann hab ich die Datei auf einen anderen Server kopiert: Fehler :(
Ich verzweifel langsam :(
Viele Grüße...
Hallo!
Wenn ich das bei mir lokal laufen lassen, klappt das auch wunderbar.
Doch wenn ich das Ganze auf einen Server lade, klappt das nicht mehr und ich bekomm den Fehler:
Mailer Error: SMTP Error: Could not connect to SMTP host
Naheliegende Ursache: Eine Policy erlaubt es nicht. Hast Du Deinen Provider mal gefragt?
Hotti
Hallo, danke für die schnelle Antwort.
Mailer Error: SMTP Error: Could not connect to SMTP host
Naheliegende Ursache: Eine Policy erlaubt es nicht. Hast Du Deinen Provider mal gefragt?
Meinst du mit Provider den Server anbieter? Wenn ja: Ich habe vollzugriff auf den Server, php.ini usw. Ist ein Windows Server 2003
hi,
Meinst du mit Provider den Server anbieter? Wenn ja: Ich habe vollzugriff auf den Server, php.ini usw. Ist ein Windows Server 2003
Von der Logik her: Dein Script kriegt von einer Maschine aus die Verbindung, von einer anderen Maschine aus nicht. Sofern Du auf die andere Maschine draufkommst, versuche ein
telnet example.com 25
^SMTP Host
und teile mal das Ergebnis mit.
Hotti
Sofern Du auf die andere Maschine draufkommst, versuche ein
telnet example.com 25
^SMTP Host
Ich komm auf die Maschine drauf. Doch wie genau soll der Befehl aussehen und wo? :P
Viele Grüße!
hi,
Ich komm auf die Maschine drauf. Doch wie genau soll der Befehl aussehen und wo? :P
Habe erstmal nachgelesen:
Check with your web hosting provider if port 465 (TCP out) is open, if not ask him to open that port
Du kannst mit dem telnet-Kommando
telnet example.com 465
(auf der Kommandozeile ausführen) testen, ob überhaupt eine Verbindung von der betreffenden Maschine aus möglich ist, unabhängig vom PHPScript.
Hotti
Hallo,
Habe erstmal nachgelesen:
Check with your web hosting provider if port 465 (TCP out) is open, if not ask him to open that port
Das ist ein "Privat"server, also mit dynamischer iP hinter einem Router. Ich habe Port 465 am Router freigegeben.
Du kannst mit dem telnet-Kommando
telnet example.com 465
Hatte ich ausprobiert, doch mein Rechner kennt den Befehl nicht. Der Server schon -> Es konnte keine Verbindung mit dem Host hergestellt werden, auf Port 465
Klappt also auch nicht.
Ich habe mal eine test.php mit
$s = fsockopen('smtp.googlemail.com', 465, $n, $e);
var_dump($s); var_dump($n); var_dump($e);
reingestellt. Ergebnis bei mir lokal:
resource(2) of type (stream) int(0) string(0) "" -> Klappt wohl...
Ergebnis Server:
Warning: fsockopen() [function.fsockopen]: unable to connect to smtp.googlemail.com:465 (Ein Verbindungsversuch ist fehlgeschlagen, da die Gegenstelle nach einer bestimmten Zeitspanne nicht ordnungsgemäß reagiert hat, oder die hergestellte Verbindung war fehlerhaft, da der verbundene Host nicht reagiert hat. ) in [...]\test.php on line 3
Fatal error: Maximum execution time of 60 seconds exceeded in [...]\test.php on line 3
-> Klappt offensichtlich nicht...
Viele Grüße!
hi,
Du kannst mit dem telnet-Kommando
telnet example.com 465
Hatte ich ausprobiert, doch mein Rechner kennt den Befehl nicht. Der Server schon -> Es konnte keine Verbindung mit dem Host hergestellt werden, auf Port 465
Der Fehler liegt somit nicht am Script. Btw., Port 25 (SMTP Standard) funktioniert auch (jedenfalls bei mir):
telnet smtp.googlemail.com 25
Antwort: 220 mx.google.com ESMTP f20sm4130446bkf.16
Das Problem liegt in Deinem Netzwerk/Routerkonfiguration. Du müsstest darüber mal ein bischen mehr erzählen, damit evntl. eine Hilfe möglich ist, am Besten einen Netzplan zeigen.
Hotti
Das Problem liegt in Deinem Netzwerk/Routerkonfiguration. Du müsstest darüber mal ein bischen mehr erzählen, damit evntl. eine Hilfe möglich ist, am Besten einen Netzplan zeigen.
Also im TCP/IP Protokoll der LAN-Verbindung sind alle Ports aktiviert.
Dann haben wir
Server mit Script -> Standardgateway (anderer Server) -> Router mit freigegebenem Port für iP des Servers mit dem Script
Viele Grüße!
hi,
Server mit Script -> Standardgateway (anderer Server)
Hmm, moment mal, was ist ein Standardgateway?: Stelle dir einen Raum vor, mit Leuten drin (Anton, Berta, Cäsar, Dora, Emil). Jetzt will Berta mit Heinrich reden, aber Heinrich ist nicht im Raum. Aber: Da ist ne Tür! Das ist der Gateway, der Default- oder Standardgateway.
Und diese Tür, der Gateway muss erreichbar sein. Also: Mach mal ein ping auf den Gateway, das muss funktionieren. Sonst kommste nicht raus. I.d.R. ist der Gateway in Deinem LAN Dein Router.
LAN, Privates Netz, z.b. 192.168.1.0/24. Der Defaultgateway muss eine Adresse im Netz haben und natürlich auch ein Interface (das Türchen nach draußen).
Hotti
Hallo nochmal.
Also ich habe meinen Server mit dem PHP Scripten und der lokalen iP 192.168.1.101
dann den Standardgateway mit 192.168.1.100 und einen Router mit 192.168.1.1
Und auf dem Router ist TCP für 192.168.1.101 freigegeben.
Der Ping wird erfolgreich ausgeführt.
Viele Grüße und danke für dein Bemühen :)
Moin,
dann den Standardgateway mit 192.168.1.100 und einen Router mit 192.168.1.1
wie, hast du zwei Router? Falls es noch Probleme gibt, zeige mal Deinen Netzplan, die Adressbereiche und Netzmasken.
Hotti
Moin,
dann den Standardgateway mit 192.168.1.100 und einen Router mit 192.168.1.1
wie, hast du zwei Router? Falls es noch Probleme gibt, zeige mal Deinen Netzplan, die Adressbereiche und Netzmasken.
Hotti
Ich habe mal einen "Plan" erstellt. Der rote Server 2 ist der, auf dem das Script laufen soll und er hat die iP 192.168.1.101.
Der grüne ist ein anderer Server, mit Betriebssystem Windows Server 2000 und auf disem klappt das Script! ip: 192.168.1.102
Der blaue ist der Standardgateway zwischen Servern und Routern. iP: 192.168.1.100
und der Orange-Router hat 192.168.1.1
Ich habe das eben mal auf dem Server mit Win 2000 ausprobiert und da läuft es. Kann also nur am Betriebssystem liegen? Oder SSH nicht installiert? Steht aber in der phpinfo.
Viele Grüße!
hi,
Ja, gut, jetzt brauchen wir noch die Angabe der Netzmasken und eine Aussage darüber, ob die Router classfull oder classless routen...
hotti
hi,
Ja, gut, jetzt brauchen wir noch die Angabe der Netzmasken und eine Aussage darüber, ob die Router classfull oder classless routen...
hotti
Hallo,
also ich habe mir gerade mal angeguckt, wie der 192.168.10.1 eingestellt ist:
Da steht eine Option auf "Gateway" und nicht auf "Router"...
Ich habe aber leider keinen offiziellen Netzplan, daher ist das oben nur meine Vermutung.
Also ich denke es kann NICHT am Server 1 oder am Router liegen, da das Ganze von Server 3 aus ja klappt...
Meinst du jetzt die Subnetmasks? Die sind 255.255.255.0
Viele Grüße!
Hello,
Ja, gut, jetzt brauchen wir noch die Angabe der Netzmasken und eine Aussage darüber, ob die Router classfull oder classless routen...
Ich bräuchte dazu erstmal etwas Klartext. "Server" interpretiere ich erstmal als "Host". Darauf laufen dann irgendwelche Services, die hier nicht näher bezeichnist sind.
Die Zeichnung deute ich so, dass Host-1 ("Server 1") drei Netzwerkkarten hat. Dann wäre er doch auch irgendwie Router, oder?
Und wo sind die Clients angeschlossen? Hängen die alle auf der anderen Seite des Routers?
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Moin!
Die Zeichnung deute ich so, dass Host-1 ("Server 1") drei Netzwerkkarten hat. Dann wäre er doch auch irgendwie Router, oder?
Nicht zwingend. Ich habe hier eine Netzwerkkarte liegen, die ist zugleich ein 5-Port-Hub. Die hat aber als 10Mbit-Karte nur musealen Wert.
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix