Instalowanie funkcji php mail ()

0

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?
Simon Carlson
źródło
Prawdopodobnie będziesz musiał zacząć od instalacjisendmail
kobaltz
sendmailjest zainstalowany, gdzie dalej? Nie mam pojęcia.
Simon Carlson,
Naprawdę nie powinieneś bezpośrednio współpracować z mail (). Lepiej byłoby z Zend_mail, PHPMailer lub inną biblioteką. Poprawne redagowanie wiadomości, aby uzyskać oznaczenie, ponieważ SPAM nie jest trywialny. Idealnie będziesz używać jednej z tych bibliotek za pośrednictwem odpowiednio skonfigurowanego serwera pocztowego, zamiast polegać tylko na źle skonfigurowanym lokalnym sendmailu.
Zoredache,
Dzięki za wkład. Jak to osiągnąć? Jestem całkowicie początkującym do tego wszystkiego, więc jestem bardzo, bardzo nieświadomy ...
Simon Carlson,
Jeśli nie masz problemów z korzystaniem z niego, czy otrzymujesz jakieś błędy?
kobaltz

Odpowiedzi:

0

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:

  1. ssmtp .

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:

mailhub=smtp.yourprovider.com:465
hostname=yourdomain.com
AuthUser=yourusername
AuthPass=yourpassword
FromLineOverride=NO
UseTLS=yes

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.

  1. Postfix / Exim / Sendmail

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.

  1. PHPMailer

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.

bhelm
źródło