Ubuntu server zum senden von mails einrichten ()

40

Ich habe viel gesucht, konnte aber nicht herausfinden, wie man einen Ubuntu-Server einrichtet, damit ich Mails mit der mail () -Funktion in PHP über PHP senden kann.

Ich habe Apache2, MySQL und PHP5 auf meinem Server installiert.

Dankeschön.

Shishant
quelle

Antworten:

45

Ich stimme auch zu, dass es an Tutorials für Leute mangelt, die nur ein Skript zum Senden benötigen, z. B. Fehler-E-Mails, und keinen vollwertigen Mailserver benötigen.

Erstens, wenn Postfix noch nicht installiert ist:

sudo apt-get install postfix

Es werden einige Fragen gestellt. Zum ersten Mal habe ich "Internet site" gewählt; Für eine Maschine hinter einer Firewall könnte ich stattdessen Smarthost wählen. Für die zweite Frage wird standardmäßig der Computername verwendet. Ich habe einen Domain-Namen angehängt, den ich kontrolliere (damit ich später DNS dafür einstellen kann, sollte ich das müssen).

Zu diesem Zeitpunkt sollten Sie in der Lage sein, "mail" von der Kommandozeile aus zu verwenden, um einen Test zu senden. (Ich folge normalerweise zuerst den Anweisungen unter http://ubuntuforums.org/showthread.php?t=38429 , ansonsten muss ich das -fFlag verwenden, um /usr/bin/sendmail. Ich erstelle auch gerne /etc/aliasesEinträge für root und meinen normalen Benutzer und führe sie dann aus. newaliases)

Dann erstelle unter /etc/php5/conf.d eine Datei (zB mailconfig.ini) mit folgendem Inhalt:

sendmail_from = "[email protected]"
sendmail_path = "/usr/sbin/sendmail -t -i -f [email protected]"

Ändern Sie [email protected] in Ihre E-Mail-Adresse. Dies bedeutet, dass alle E-Mails so aussehen, als würden sie von Ihnen gesendet. Dies kann dazu beitragen, dass sie nicht abgelehnt werden. Dies reicht aus, um nur Fehler-E-Mails an einen Entwickler zu senden.

(Die obigen Anweisungen wurden unter Ubuntu 10.04, 11.04, 11.10, 12.04 getestet.)

PS Wie in den Kommentaren durchgeknallt hervorgehoben, mailist es nicht immer da (zB bei Ubuntu 11.10 fehlt es). Die obigen Anweisungen bleiben davon unberührt, Sie benötigen sie nur mailfür den Test und können sie auch verwenden sendmail. Ist mailaber auch nützlich zum Lesen von E-Mails, daher lohnt es sich normalerweise, diese mit apt-get install mailutils(als root) zu installieren .

Darren Cook
quelle
1
Vielen Dank! Das hat einwandfrei funktioniert. Getestet auf Ubuntu 12.04 LTS x64.
Trent Scott
Dies behebt auch die Verwendung von NGINX! Und PHP5-FPM
TheBlackBenzKid
1
Hinweis: Auf meinem Host wird das mailBefehlszeilenprogramm bei einer sauberen Ubuntu-Installation nicht installiert, und bei der Installation von PostFix wird es nicht installiert. Versuchen Sie sudo apt-get install mailutils, den mailBefehl ssmtp
abzurufen
Ich brauchte Wochen, um herauszufinden, dass das Zeug drin sein sendmail_pathmuss, um "richtig zu funktionieren, wiesendmail_path = "/usr/sbin/sendmail -t -i -f [email protected]"
Sliq
1
Endlich! Eine einfache und unkomplizierte Lösung. Funktioniert auf Ubuntu 14.04.
Knyri
2

Sie müssen den Ubuntu-Server einrichten, um E-Mails senden zu können. Als Beispiel können Sie Postfix installieren und konfigurieren.

Die Ubuntu-Dokumentation hat eine schöne Seite unter https://help.ubuntu.com/community/MailServer

Dominik
quelle
Mit welchem ​​Tutorial kannst du mich verlinken?
Shishant
hat einen Tutorial-Link hinzugefügt
Dominik
1

Führen Sie entweder den mühsamen Prozess durch, einen Mailserver direkt auf Ihrem Server einzurichten (Postfix usw.), oder verwenden Sie eine Bibliothek, mit der Sie eine direkte Verbindung zu einem SMTP-Server herstellen können.


quelle
0

Sie sollten zuerst das xmail-Paket installieren, und wenn es immer noch nicht funktioniert, schauen Sie hier vorbei .

Prof. Falken
quelle