Pytanie Konfigurowanie maszyny Ubuntu / Apache / PHP do wysyłania wiadomości e-mail


Pracuję dla małej firmy Ho Chi Minh City, której jedynym serwerem był tylko jeden stary mały komputer. Teraz, zaledwie kilka miesięcy później, szybko się rozwijamy i jednym z wymagań dla nowych użytkowników jest wymaganie od nich weryfikacji ich adresów e-mail.

W systemie Ubuntu nie ma specjalnych programów, a jedyną rzeczą, którą zrobiłem na rzeczywistym serwerze, było ponowne sformatowanie całego dysku twardego z Windows XP i zainstalowanie na nim Natty Narwhal, a następnie zainstalowanie Apache i PHPMYADMIN.

Chciałbym, aby PHP wysłało e-mail do użytkownika i administratorów, gdy tylko ktoś złoży wniosek o członkostwo. Ale nie mam pojęcia, co muszę zrobić, aby zacząć.

Wszelkie pomysły dotyczące tego, co muszę najpierw skonfigurować, zostaną pokornie docenione; Nie szukam krok po kroku, tylko kilka wskazówek, które wskażą mi właściwy kierunek.

-Duong Van


35
2017-10-17 22:44


pochodzenie




Odpowiedzi:


sudo apt-get install sendmail zainstaluje kopię sendmaila, który słucha lokalnie. Jeśli to zainstalujesz, php może użyć wbudowanych mail() funkcjonować. Nie będzie także ryzyka, że ​​zostaniesz zdalnym przekaźnikiem, jeśli zainstalujesz tak samo.

Jeśli planujesz wysyłać pocztę do innych domen internetowych, musisz się upewnić, że adres IP urządzenia wysyłającego e-mail ma również skonfigurowany odwrotny wpis DNS (rekord PTR). Większość dużych dostawców usług internetowych odrzuci Twoją pocztę, jeśli twój adres IP nie ma rekordu PTR lub takiego, który wskazuje na hosta generycznego (np. 1.2.3.3.domena.isp.com). Powinien odwrócić się do czegoś takiego jak mail.twojadomena.com


69
2017-10-17 22:57



Doskonała odpowiedź, a to niewiarygodne, że to NIE JEST WYJAŚNIONE GDZIEKOLWIEK !!! Próbuję WEEKS teraz wysłać e-mail z php. - Sliq
+1 dla zauważenia, że ​​sendmail musi być zainstalowany dla funkcji mail ()! Żadna inna strona, na którą się natknąłem, nie wspomniała o tym - Jonathan Brown
najlepsza odpowiedź w historii - webmaster
Czy mógłbyś wyjaśnić, jak zrobić to, co wyjaśniono w drugim akapicie? Dzięki! - Luka Govedič
@ LukaGovedič W większości przypadków musisz połączyć się z usługodawcą internetowym, aby skonfigurować to za Ciebie. Niewiele ma narzędzi, aby to ustawić w zależności od dostawcy. Ponadto potrzebujesz statycznego adresu IP, więc jeśli robisz to w swoim domowym połączeniu, musi to być statyczna usługa IP. Widziałem, że niektórzy dostawcy usług hostingowych, którzy przypisali ci dedykowany adres IP, mają narzędzia internetowe do konfigurowania własnych odwrotnych usług dns, więc mogą znajdować się w panelu sterowania hostingu, jeśli jest on w hostowanej usłudze. - drew010


Natywna funkcja poczty jest dobrą wbudowaną opcją.

Funkcja mail jest częścią jądra PHP, ale wymaga instalacji sendmaila na serwerze.

Wierzę, że sendmail może być już zainstalowany z pakietami, które już wybrałeś, ale możesz to sprawdzić za pomocą polecenia:

dpkg --get-selections | grep sendmail

Jeśli pojawi się pusty, możesz zainstalować sendmaila za pomocą:

sudo apt-get install sendmail

11
2017-10-17 22:50



Dziękuję, będę szukać tej paczki. - Dương Văn
Dziękuję bardzo, oszczędziłeś mi godzin poszukiwań! - AlexR
"Natywna funkcja poczty to dobra wbudowana opcja.". Muszę się nie zgodzić. Jest zbyt wiele gotcha, a korzystanie z biblioteki jest znacznie łatwiejsze i bardziej niezawodne. - Goose


sudo apt-get install sendmail
sudo sendmailconfig

Do prawidłowego działania potrzebowałem drugiego polecenia. (pyta o jakąś konfigurację, po prostu wpisz Y za każdym razem, gdy pyta)


6
2018-04-21 11:47



To działało jak czar. - Milap


Zalecam zainstalowanie Postfix MTA do wysyłania wiadomości e-mail z serwera Ubuntu:

aptitude install postfix

I przy użyciu klasy PHP Mailer do wysyłania wiadomości e-mail z PHP: http://phpmailer.worxware.com/


W przypadku "w pełni funkcjonalnych" usług e-mailowych mój przepis to:

Postfix + DKIM-proxy + Dovecot + Roundcube + PHP Mailer + SpamAssassin + odpowiednie ustawienia DNS + certyfikat SSL do włączenia szyfrowanych połączeń

(A ja wolę NginX jako serwer HTTP ...)


3
2017-10-17 23:55



Link jest nieaktualny, teraz wysyła nielegalne treści - Alessandro Mascolo


sendmail załatwia sprawę. Możesz skonfigurować sendmaila do korzystania ze swojego zwykłego konta smtp, szczegóły są tutaj: http://developernote.com/2012/07/how-i-configured-sendmail-for-php-on-ubuntu-server-12-04/ a w szczególności dla gmail tutaj: http://linuxconfig.org/configuring-gmail-as-sendmail-email-relay W plikach konfiguracyjnych sendmaila znajduje się błąd, o którym możesz przeczytać tutaj: http://linux.koolsolutions.com/2010/10/14/tip-fixing-sendmail-configuration-error/


1
2017-07-08 17:30