Wie konfiguriere ich php.ini mit Remote-SMTP?

11

Wie konfiguriere ich PHP so, dass E-Mails mit mail () über einen Remote-SMTP-Server gesendet werden?

Ich habe versucht, dies mit php.ini zu tun, aber es scheint, dass Sie dies nur unter Windows32 tun können, und ich möchte dies auf meinem Unix-Server tun.

Ich habe auch versucht, die Konfiguration für sendmail so zu ändern, dass ein Remote-SMTP-Server verwendet wird, bin mir aber nicht sicher, ob dies möglich ist.

Brayn
quelle

Antworten:

9

Ich habe die Wahl, einen Postfix-Server auf demselben Webserver einzurichten, der nur E-Mails für localhost gesendet hat, und mit dieser Einstellung in main.cf einen Remote-SMTP-Server zu verwenden:

relayhost = [a.b.c.d]

Für mich geht das.

hdanniel
quelle
HD, können Sie bitte weitere Details angeben oder mich auf eine Ressource verweisen, die dies erklärt. Ich habe ein Google-Konto (sowie Google Apps) und glaube, dass SMTP eine Authentifizierung erfordert. Google verwendet TLS für SMTP an Port 587 (und nicht an 25). Wo gebe ich all diese Informationen an?
Uri
Dies ist die beste Antwort, weil Sie das SMTP auf Postfix auslagern. Wenn Sie E-Mails über Ihre App senden und der Remote-Server nicht verfügbar ist, blockieren Sie die Anforderung. Die beste Option ist, das Mailing an einen Mitarbeiter in einer Warteschlange weiterzuleiten, um diese Arbeit zu erledigen. Dies ist jedoch ein guter erster Schritt in die richtige Richtung.
Mike
3

Das ist nicht möglich, AFAIK. Ich würde entweder:

  1. Verwenden Sie eine voll funktionsfähige Mail-Klasse wie PEAR :: Mail .
  2. Wenn alle E-Mails von diesem Computer intelligent weitergeleitet werden sollen, sollten Sie SSMTP als Ihre sendmail-Binärdatei konfigurieren .
Dan Carley
quelle
2

msmtp kann als Alternative zu sendmail verwendet werden, bei dem der Datenverkehr einfach direkt an einen externen SMTP-Server weitergeleitet wird. Es ist ziemlich einfach einzurichten und funktioniert sehr gut.

Jonathan Prior
quelle
msmtp hat mein Leben gerettet :)
w00t
1

Sie können entweder die in PHP integrierten IMAP-Tools oder den sehr praktischen PHPMailer verwenden

Dies könnte besser auf Stapelüberlauf beantwortet werden, fürchte ich ...

Andy
quelle
2
+1 für die Antwort, ich bin jedoch nicht mit dem späteren Kommentar einverstanden. Normalerweise erhalten die Systemadministratoren den "lustigen Teil" der Konfiguration von SMTP, da nicht alle Programmierer eine Vorstellung davon haben, was das ist. Sie wollen nur "E-Mail funktioniert". Natürlich verallgemeinere ich, kein Wortspiel beabsichtigt.
Andrioid
0

Die interne mail () -Funktion kann SMTP nur auf einem Windows-Computer verwenden, wie Sie gesagt haben.

Die einzige Option ist die Verwendung von PHPMailer. Sie können auch das PEAR PHP-Paket ausprobieren: http://pear.php.net/package/Mail

Mohammed Naser
quelle
-1

https://docs.nexcess.net/article/how-to-configure-a-remote-mail-server.html Klicken Sie im SiteWorx-Hauptmenü auf Administration> Mail-Optionen> Remote-Setup. - Weitere Informationen finden Sie unter: https://docs.nexcess.net/article/how-to-configure-a-remote-mail-server.html#sthash.JeroEsDU.dpuf

Vishal Panchal
quelle
Willkommen bei Server Fault! Während dies theoretisch die Frage beantworten kann, geben Sie bitte den Kontext für Links an, damit andere eine Vorstellung davon haben, was es ist und warum es dort ist. Wenn möglich, fassen Sie den relevantesten Teil eines wichtigen Links zusammen oder zitieren Sie ihn, falls die Zielwebsite nicht erreichbar ist oder dauerhaft offline geht.
HBruijn