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.

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 = "me@example.com"
sendmail_path = "/usr/sbin/sendmail -t -i -f me@example.com"

Zmień mnie@example.com 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).


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 me@example.com"
Sliq

1
Wreszcie! Proste i proste rozwiązanie. Działa na Ubuntu 14.04.
Knyri


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.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.