mails werden nicht ausgelöst
Frank
- php
Liebe PHP Freunde,
ich versuche seit Tagen mit Hilfe eines Skripts zwei Mails auszulösen, wenn sich ein Benutzer in eine Datenbank online eingetragen hat. Eine "Dankeschön für den Eintrag blabla.." und eine Mail an mich, dass ein neuer Eintrag stattgefunden hat.
Beim Erstellen teste ich lokal mit einem apache 1.3.20 (win32), ob es läuft.
Das Testskript:
mail("engelmann@2-e.biz","neuer eintrag in der db",
"Neuer Eintrag von", "From: $email");
gibt den Fehler aus:
"Warning: Failed to connect in c:\apache\htdocs/projekt/kontakt.php in line 34"
...obwohl es von der Syntax genau dem entspricht, was ich in allen Tutorials
gefunden habe.
In einem Beispiel habe ich entdeckt, dass ein "@" vor "mail" gesetzt wurde, also
@mail("engelmann@2-e.....usw. Ich habe es probiert und es kam keine Fehlermeldung hurra!), aber es wurde auch keine Mail verschickt :-(((
Was mache ich falsch?
Frank
Hallo
Ich tippe mal du hast keinen Mailserver installiert bzw.die Adresse in der php.ini falsch angegeben. Deswegen "failed to connect".
Verwende keine @ vor einem PHP-Befehl, das unterdrückt die Fehlermeldung und verhindert so, dass du wertvolle Debug-Infos bekommst.
Grüße
David
Hallo David,
dass das @ die Fehlermeldung unterdrückt ist schonmal ein wertvoller Hinweis. Kannst Du das mit der php.ini noch genauer erläutern? Ich habe lokal outlook installiert. Ich dachte erst, das funktioniert wie der übliche mailto-tag - kann natürlich garnicht. Wie verändere ich was, bzw. kann ich - wenn ich das ganze dann zum Provider schiebe - davon ausgehen, dass es dort ebenso eingerichtet ist, d.h. gibt es da einen Standard?
Grüße, Frank
hi,
wenn du das local testest musst du einen Mailserver local installiert haben, oder einen externen in der PHP.ini eintragen:
z.b.
SMTP = mailto.t-online.de
grüße christian
hallo christian,
ich habe den erwähnten apache laufen. alle anderen skripte laufen hervorragend auf dem.
hi,
der webserver ist egal. Du musst trotzdem in der PHP.ini Server eintragen, der für das verschicken von mails zuständig ist:
SMTP = mailto.t-online.de
grüße christian
hallo christian,
da stand ich auf dem Schlauch! David hat das mit dem Mailserver auch gerade erwähnt. Ich forsche gleich mal in der ini, wo ich deinen Vorschlag hinpacke.
Vielen Dank!
Frank
hi christian,
ich habe den satz
"SMTP = mailto.t-online.de" wie Du vorschlugst eingetragen, vorher stand da "smtp = localhost", ich schätze also es war die korrekte Stelle. Leider ist die Fehlermeldung geblieben,
Grüße Frank
hi
musst den Apache mit stop stoppen und mit start wieder zum laufen bringen (nicht mit restart)
grüße christian
hi,
ich habe gerade zur sicherheit nochmal alles runter- und wieder hochgefahren, den php-coder neu gestartet...hilft alles nichts.
bei dir läuft es über t-online? ich muss da kein kunde sein, damit das funktioniert?
grüße frank
hi
nein du musst kein t-online kunde sein, dass ist ein öffentlicher Server. Liegt deine PHP.ini auch im Verzeichnis WINDOWS bzw. winnt ?
grüße christian
hi,
nein, die ini liegt in C:/apache/php4. bisher hat sie da - soweit ich das beurteilen kann - gute dienste geleistet :) du meinst, ich sollte sie besser ins windows- verzeichnis packen? einfach so frei rein?
grüße
frank
ja du musst sie auf jeden fall dahin kopieren! im php verzeichnis liegt sie standardmäßig unter dem Namen php.ini-dist. Diese muss man in php.ini umbenennen und nach WINDOWS bzw winnt kopieren. Wenn du sie dahin kopiert hast musst den Apache nochmal starten.
grüße
hi,
...ini-dist geändert, kopiert, umbenannt, in windows verschoben, neugestartet...fehlanzeige. hat das bei dir schon mal funktioniert? ich muss mich bei dir schon mal sehr für die hilfe bisher bedanken,
grüße frank
hallo christian,
wie auch immer das lokal funktioniert. ich habe gerade online getestet und da funktionierts auf anhieb, danke nochmal für alles!!!
schönes wochenende
frank
Hallo
wie auch immer das lokal funktioniert.
Du nimmst dir einen Mailserver, installierst und konfigurierst ihn. zB gibt es da denFreeware-Server "Hamster" http://hamster.volker-gringmuth.de. Danach in der php.ini den smtp wieder auf localhost setzen. dann sollte das klappen.
Wenn du dort t-online ohne Probleme eingetragen hast und das keine Problkeme bereitet hat, so wäre ich doch (wie bereits angesprochen) sehr vor Spam besorgt. Also hoffe ich mal das hat damit nicht geklappt :)
ich habe gerade online getestet und da funktionierts auf anhieb
Dein Webspace-Anbieter hat folglich einen Mailserver installiert. Bei dem ist also sowas wie der Hamster (naja, wohl ein wenig was anderes, aber vom Prinzip her schon) eingerichtet. Somit funktioniert dort der Mailversand.
schönes wochenende
auch so
Grüße
David
Moin!
nein du musst kein t-online kunde sein, dass ist ein öffentlicher Server.
Natürlich muß er da Kunde sein, so öffentlich ist der Server garantier nicht. Denn ansonsten wäre es ein Paradies für Spammer!
Frank möge _den_ SMTP-Server eintragen, den er auch für seine Mails benutzt. Zusammen mit einer passenden Absender- oder Empfänger-Mailadresse sollte es funktionieren.
- Sven Rautenberg