Skonfiguruj serwer ubuntu do wysyłania poczty ()

40

Próbowałem dużo szukać, ale nie byłem w stanie znaleźć sposobu na skonfigurowanie serwera Ubuntu, aby móc wysyłać wiadomości e-mail przez php za pomocą funkcji mail () w php.

Mam apache2, mysql i php5 zainstalowane na moim serwerze.

Dziękuję Ci.

Shishant
źródło

Odpowiedzi:

45

Zgadzam się również, że brakuje samouczków dla osób, które potrzebują tylko skryptu do wysłania, np. Wiadomości e-mail o błędach i nie potrzebują pełnego serwera pocztowego.

Po pierwsze, jeśli postfix nie został jeszcze zainstalowany, wykonaj:

sudo apt-get install postfix

To podpowiada kilka pytań. Jako pierwszy wybrałem „stronę internetową”; dla maszyny za zaporą ogniową mógłbym zamiast tego wybrać smarthost. W przypadku drugiego pytania domyślnie jest to nazwa komputera; Dołączyłem nazwę domeny, którą kontroluję (aby w razie potrzeby móc ustawić dla niej DNS).

W tym momencie powinieneś być w stanie użyć „mail” z wiersza poleceń, aby wysłać test. (Zwykle postępuję zgodnie z instrukcjami na http://ubuntuforums.org/showthread.php?t=38429 , w przeciwnym razie muszę użyć -fflagi do /usr/bin/sendmail. Lubię też tworzyć /etc/aliaseswpisy dla roota i mojego normalnego użytkownika, a następnie uruchomić newaliases)

Następnie w /etc/php5/conf.d utwórz plik (np. Mailconfig.ini) z następującą zawartością:

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

Zmień [email protected] na swój adres e-mail. Oznacza to, że wszystkie wiadomości e-mail będą wyglądały na wysłane przez Ciebie, co może pomóc w zapobieganiu ich odrzuceniu. Jest to wystarczające do wysłania wiadomości e-mail o błędzie do programisty.

(Powyższe instrukcje przetestowane na Ubuntu 10.04, 11.04, 11.10, 12.04)

PS Jak wskazano w razzed w komentarzach, mailnie zawsze tam jest (np. W Ubuntu 11.10 go brakuje). Nie wpływa to w rzeczywistości na powyższe instrukcje, wystarczy tylko mailna test i można sendmaildo tego równie dobrze wykorzystać. Ale mailjest również przydatny do czytania wiadomości e-mail, więc zwykle warto ją zainstalować, używając: apt-get install mailutils(jako root).

Darren Cook
źródło
1
Dzięki! To działało idealnie. Testowane na Ubuntu 12.04 LTS x64.
Trent Scott,
To rozwiązuje również użycie NGINX! I PHP5-FPM
TheBlackBenzKid
1
Uwaga na moim hoście, mailnarzędzie wiersza polecenia nie jest instalowane w czystej instalacji Ubuntu, a instalacja PostFix go nie instaluje. Postaraj sudo apt-get install mailutilssię uzyskać mailpolecenie lub użyj alternatyw, takich jak Mutt, lubssmtp
razzed
Potrzebowałem tygodni, aby dowiedzieć się, że rzeczy, które sendmail_pathmuszą być za sobą, "muszą działać, np.sendmail_path = "/usr/sbin/sendmail -t -i -f [email protected]"
Sliq
1
Wreszcie! Proste i proste rozwiązanie. Działa na Ubuntu 14.04.
Knyri
2

Musisz skonfigurować serwer Ubuntu, aby móc wysyłać pocztę ... na przykład możesz zainstalować i skonfigurować Postfix.

Dokumentacja Ubuntu ma ładną stronę na https://help.ubuntu.com/community/MailServer

Dominik
źródło
jakiś tutorial, do którego możesz mnie połączyć?
Shishant,
dodano link do samouczka
Dominik
1

Przejdź przez bolesny proces konfigurowania serwera pocztowego bezpośrednio na serwerze (postfiks itp.) Lub użyj biblioteki, która pozwoli ci połączyć się bezpośrednio z serwerem smtp.


źródło
0

Powinieneś najpierw zainstalować pakiet xmail, a jeśli nadal nie działa, spójrz tutaj .

Prof. Falken
źródło