2011-01-08 5 views
2

Ich habe ein kleines Problem. Ich verwende ein funktionierendes Skript (funktioniert auf meinem Testkonto - shared server), um eine Mail über PHP mit der Funktion mail() zu senden.PHP mail() Funktion liefert keine Mail

Ich habe gerade einen dedizierten Server, und ich konnte die Funktion nicht funktionieren. Ich habe die letzten 10 Stunden damit verbracht, verschiedene Dokumentationen auf BIND zu lesen (für den SPF-Datensatz), dovecot, sendmail und postfix, um verschiedene Dinge auszuprobieren, damit das funktioniert.

Da ist eindeutig etwas, das ich vermisse.

So wissen wir, der PHP-Code funktioniert gut. Alle Header sind alles in Ordnung. Wir wissen das, da es sich um eine direkte Kopie von meinem Testkonto handelt. Also muss das Problem irgendwo in der Serverkonfiguration auftreten. Der Pfad zu sendmail ist korrekt und sendmail funktioniert (anscheinend) gut. Ich habe das Skript eingerichtet, um nun "Sent" oder "Error" basierend auf dem booleschen Ergebnis der PHP mail() - Funktion zu liefern. Das heißt:

if(mail($blah,$blah,$blah,$blah,$blah)) { echo "Sent"; } else { echo "Error";} 

Und das Ergebnis ist immer kommt als „Gesendet“ - aber die E-Mail nie ankommt. Kann jemand Dinge vorschlagen, um zu überprüfen, wie ich völlig neu (24 Stunden oder so!) Bin.

Vielen Dank im Voraus.

Ryan

+2

Haben Sie den Span-Ordner in der Empfänger-E-Mail überprüft? – tkt986

+0

Welchen Mail-Daemon haben Sie auf Ihrem dedizierten Server? –

+0

John, die Tags-Liste sendmail. –

Antwort

0

Haben Sie die mailq command versucht, es zu sehen, ob Fehler? Hier ist ein answer to a similar question on ServerFault mit mehr Details.

+0

Hey alle - Danke für die Antworten. Nichts im Spamfilter. Ich benutze sendmail, aber ich habe auch Postfix ausgeführt. OK, also etwas Fortschritt, als ich mailq eingab, bevor es '0' zurückgab, aber jetzt gebe ich "mailq -Ac" ein und ich bekomme 8 Fehler. – Ryan

+0

Danke Matt. Ich werde das jetzt lesen. – Ryan

+0

Hallo nochmal Matt. Ich arbeitete durch und schickte eine E-Mail an meinen Google Mail-Account über den Google SMTP-Server. Es hat sich durchgesetzt, ist aber im Spam-Ordner ohne Absender usw. gelandet. Habe ich recht, wenn ich annehme, dass das ein SPF-Problem ist? Oder gibt es noch etwas, das mir fehlt? – Ryan

0

Haben Sie einen SMTP-Server installiert? Die PHP-Mail-Funktion funktioniert nur, wenn Sie eine installieren. Unter Linux können Sie beispielsweise Postfix installieren. Unter Windows ist MS Exchange ein Beispiel.

+0

Hallo Alexandre, ja, Postfix läuft. Ich bin mir nicht sicher, ob das das Problem ist oder nicht. Ich erhalte einen verzögerten Fehler in Mailq. – Ryan