Niedawno skonfigurowałem serwer CentOS 6.4 przy użyciu minimalistycznej instalacji. Mam działającą wersję PHP działającą i działającą, ale chcę móc korzystać z tej mail()
funkcji w PHP.
- Czego potrzebuję, aby działało (serwery pocztowe, skrypty, co jest potrzebne?)
- Jak kontynuować instalację potrzebnych elementów?
sendmail
sendmail
jest zainstalowany, gdzie dalej? Nie mam pojęcia.Odpowiedzi:
Wysyłanie wiadomości e-mail to skomplikowany temat, ponieważ pomiary antyspamowe stają się coraz bardziej agresywne. Zalecam wysyłanie wiadomości e-mail za pomocą SMTP i zewnętrznego dostawcy. W większości przypadków masz już możliwość wysyłania i odbierania wiadomości e-mail dotyczących swojego projektu (tj. Dołączonych do domeny lub hostingu). Wyjaśnię poniżej „jak” i „dlaczego”.
Jak wysyłać wiadomości e-mail za pomocą SSMTP?
Wiele możliwości:
To małe narzędzie, które udostępnia funkcję binarną „sendmail” dla funkcji mail () PHP. Zainstaluj i skonfiguruj za pomocą pliku /etc/ssmtp/ssmtp.conf. Oto przykład wysyłania wiadomości e-mail przy użyciu SSMTP i SSL:
Podczas wysyłania wiadomości e-mail za pomocą funkcji mail () php wywoła plik binarny sendmail, a ssmtp dostarczy wiadomość e-mail w sposób transparentny za pomocą SMTP.
Możesz skonfigurować standardowy serwer pocztowy dla swojego systemu i skonfigurować go do przekazywania wiadomości e-mail przez zewnętrznego dostawcę. Jest to trochę bardziej skomplikowane niż ssmtp, ale pozwala na przyjmowanie e-maili na lokalnym porcie SMTP 25. Po prostu google dla przekaźnika smtp i nazwy twojego serwera pocztowego.
Kiedy tworzysz własny projekt i możesz modyfikować kod, powinieneś użyć klasy PHPMailer, ponieważ wysyłanie wiadomości e-mail z zawartością HTML, załącznikiem lub do wielu nadawców jest skomplikowane przy użyciu zwykłej poczty i absolutnie nie jest zalecane dla początkujących.
PHPMailer może wysyłać wiadomości e-mail za pomocą samego SMTP lub może być używany razem z narzędziem ssmtp.
Dlaczego wysyłanie wiadomości e-mail jest skomplikowane?
Jak powiedziałem wcześniej, pomiary antyspamowe stają się coraz bardziej agresywne. aby zrobić to dobrze, musisz skonfigurować demona mailera, takiego jak postfix, exim lub sendmail i skonfigurować go poprawnie. tzn. musisz upewnić się, że nikt nie może używać twojego serwera pocztowego do wysyłania wiadomości e-mail bez uwierzytelnienia. musisz skonfigurować rekord MX domeny, aby wskazywał adres IP serwera, ponieważ inne serwery pocztowe weryfikują adres IP nadawcy za pomocą rekordu MX. Może być konieczne skonfigurowanie DKIM (DomainKeys Identified Mail), aby uniemożliwić klasyfikację poczty jako spam.
Jeśli poprawnie skonfigurowałeś serwer i domenę, nie jesteś gotowy. Zabawa dopiero się zaczyna.
Jeśli zaczniesz wysyłać wiadomości e-mail do różnych dostawców poczty, niektórzy odbiorcy mogą oznaczać je jako spam. Dzieje się tak nie tylko w przypadku biuletynów i reklam, niektóre osoby również oznaczają automatyczne potwierdzenia rejestracji jako spam. Jeśli pewna liczba e-maili została oznaczona jako spam na dużym dostawcy poczty e-mail, takim jak Microsoft, Google lub GMX, zablokują Twój adres IP lub sklasyfikują go jako spam. Następnie musisz zarejestrować się w Microsoft i innych i zbadać usunięcie swojego adresu IP. Może to być czasochłonne zadanie.
może się również zdarzyć, że twój projekt zostanie zhakowany, a twój ip wysyła miliony e-maili. jeśli tak się stanie, możesz mieć trudności z usunięciem złej reputacji adresu IP. powinieneś skonfigurować limity wysyłania, aby ograniczyć wpływ hakerów nadużywających funkcji mail ().
zewnętrzny dostawca zrobi to wszystko za Ciebie. poprawnie skonfigurują serwer pocztowy, utrzymają reputację IP i zablokują również wysyłanie spamu.
źródło