mail() funktioniert nicht auf neuem server
Kann sein das es eine dumme Frage, aber ich kann nicht herausfinden, der Grund, warum php-mail-Funktion funktioniert nicht
Ich habe einen nginx server auf debian squeeze, zog ich es vor kurzem. Ich versuchte einfach E-mail-Ausführung, sondern es false zurück.
if(mail('[email protected]', 'test-subject', 'test-text-blablabla'))
echo 'ok';
else
echo 'bad';
Was kann ich tun?
Dank.
meine E-mail-Abschnitt von php.ini:
[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25
; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = me@example.com
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
;sendmail_path =
; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail(), even in safe mode.
;mail.force_extra_parameters =
; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
mail.add_x_header = On
; The path to a log file that will log all mail() calls. Log entries include
; the full path of the script, line number, To address and headers.
;mail.log =
- Haben Sie überprüft, Fehler melden?
- können Sie send-Befehl line-E-Mail?
- wie kann ich es tun?
- Ich habe ein paar virtuelle hostings für meine Websites und ich eine log-Datei der Website, wo ich versuchte, verwenden Sie E-mail-Funktion, und ich habe nicht gefunden eine Fehlermeldung über E-mail. Vielleicht werden Sie Fragen, eine andere log-Datei?
- was
mail
Abschnittphpunit
sagt? - wenn Sie Fragen zu php.ini füge ich info in Frage zu stellen, wenn nicht, bitte erklären, was du meinst
phpunit
. - oops, Tippfehler:
mail
Abschnittphpinfo()
- so, Sie sehen es in der Frage Körper:)
- haben Sie überprüft, was Sie wirklich in
phpinfo()
? Wenn ja - haben Sie SMTP-server eingerichtet, auflocalhost:25
? Und, uhm,For Win32 only.
:-S Debian ist nicht windows :-S Sie besser kommentieren und mit sendmail - Ich install sendmail server, aber hmm, wie muss ich es verwenden? Ich muss es irgendwie einstellen oder mm, das ist der Nebel Weg für mich.
- Ich füge sendmail_path zu, dass die Richtlinie in php.ini, nehme ich diesen Weg von phpinfo () aus dem Feld mit dem Titel Pfad zu sendmail.
/usr/sbin/sendmail -t -i
Das Ergebnis ist, dass die Seite, wo die einfachsten E-mail-Funktion arbeiten, wird der http-Fehler 504 gateway time-out - ja wird smtp localhost und smtp_port 25 (Sind diese Richtlinien nur für Windows?). Tut mir Leid, dass Sie stört.
- Ich hoffe, dieser Kommentar hilft irgendwie : github.com/docker-library/php/issues/135#issuecomment-277199026
Du musst angemeldet sein, um einen Kommentar abzugeben.
Okay, ich habe es geschafft. Wie ich es für debian squeeze mit nginx-server: (alle Befehle, die ich ausführen von root-Benutzer)
Zuerst zu installieren, müssen Sie sendmail
als Nächstes müssen Sie die Konfiguration dieser Datei, dass war einfacher als ich dachte
okay, nächste Schritt, den ich machen, war php.ini-Konfiguration (ich bin kein großer admin, ich bin ein Anfänger, also weiß ich nicht, ist es notwendig oder nicht).
Ich
Okay, ab diesem moment, theoretisch können Sie E-Mails senden, aber für meinen Fall führte es zu http-Fehler 504 gateway time-out. Aber als ich viel später die E-Mail kam bereits zu E-Mail-box.
So, meine test-php-Datei ist:
Das ist ziemlich klar.
Nächste problem ist 504 Fehler. Ich gehe in die log-Dateien
und hier finde ich diesen Fehler (das nicht der einzige Fehler, aber einer ist verantwortlich für den 504-Fehler):
Dann, zu finden, wie kann ich lösen dieses Problem:
http://forums.fedoraforum.org/archive/index.php/t-85365.html letzten Kommentar auf dieser Seite.
Oder anderen Worte, die ich aus diesem:
ist und in die Datei ändere ich die Reihenfolge der hosts
speichern, fertig.
öffnen Sie den test-php-Datei, es ist keine 504-Fehler-und E-Mails ist das Einkommen zu E-Mail, die Sie erwähnen in der mail-Funktion.
Als ich sage, ich bin ein Neuling, und das kann nicht für Sie arbeiten, aber es funktioniert bei mir jedenfalls. Dies ist nicht die end-Konfiguration, natürlich. Hoffe, Sie finden es hilfreich.
apt-get install sendmail-bin
und dannapt-get install sendmail
. Dann, versucht, Sie zu senden eine e-mail und es funktionierte. Ich habe keine änderung an php.ini.