Jak skonfigurować php.ini ze zdalnym SMTP?

11

Jak skonfigurować PHP do wysyłania poczty za pomocą mail () za pośrednictwem zdalnego serwera SMTP?

Próbowałem to zrobić za pomocą php.ini, ale wydaje się, że możesz to zrobić tylko pod Windows32 i chcę to zrobić na moim serwerze Unix.

Próbowałem również zmienić konfigurację sendmaila, aby korzystał ze zdalnego serwera SMTP, ale nie jestem pewien, czy to możliwe.

Brayn
źródło

Odpowiedzi:

9

Moim wyborem jest skonfigurowanie serwera Postfix na tym samym serwerze sieciowym, który wysłał pocztę tylko do hosta lokalnego, a przy tym ustawieniu w main.cf do korzystania ze zdalnego serwera SMTP:

relayhost = [a.b.c.d]

Mi to pasuje.

hdanniel
źródło
HD, czy możesz podać więcej szczegółów lub skierować mnie do zasobu, który to wyjaśnia. Mam konto Google (podobnie jak Google Apps) i uważam, że SMTP wymaga uwierzytelnienia. Google używa TLS do SMTP na porcie 587 (a nie 25). Gdzie mam podać wszystkie te informacje?
Uri
To jest najlepsza odpowiedź, ponieważ naprawdę odciążasz smtp do postfiksa. Jeśli wysyłasz pocztę za pośrednictwem aplikacji, a zdalny serwer jest wyłączony, blokujesz żądanie. Najlepszym rozwiązaniem jest jednak przekazanie korespondencji pracownikowi w kolejce, aby wykonał tę pracę, ale jest to dobry pierwszy krok we właściwym kierunku.
Mike
3

To niemożliwe, AFAIK. Chciałbym albo:

  1. Użyj pełniej działającej klasy poczty, takiej jak PEAR :: Mail .
  2. Jeśli cała poczta z tego komputera powinna być inteligentnie przekazywana, rozważ skonfigurowanie SSMTP jako pliku binarnego sendmaila.
Dan Carley
źródło
2

msmtp może być używany jako alternatywa dla sendmaila, który po prostu przekazuje ruch bezpośrednio do zewnętrznego serwera SMTP. Jest dość łatwy w konfiguracji i działa bardzo dobrze.

Jonathan Prior
źródło
msmtp uratował mi życie :)
w00t
1

Możesz użyć wbudowanych narzędzi IMAP PHP lub bardzo poręcznego PHPMailera

Można lepiej odpowiedzieć na Przepełnienie stosu Obawiam się ...

Andy
źródło
2
+1 za odpowiedź, jednak nie zgadzam się z późniejszym komentarzem. Zwykle sysadmini mają „zabawną część” konfigurowania SMTP, ponieważ nie wszyscy programiści mają pojęcie o tym, co to jest. Chcą tylko „działającego e-maila”. Oczywiście, uogólniam, żadna gra słów nie była zamierzona.
Andrioid
0

Wewnętrzna funkcja mail () może używać SMTP tylko na komputerze z systemem Windows, tak jak powiedziałeś.

Jedyną opcją jest użycie PHPMailer. Możesz także wypróbować pakiet PEAR PHP: http://pear.php.net/package/Mail

Mohammed Naser
źródło
-1

https://docs.nexcess.net/article/how-to-configure-a-remote-mail-server.html W menu głównym SiteWorx kliknij Administracja> Opcje poczty> Zdalna konfiguracja. - Zobacz więcej na: https://docs.nexcess.net/article/how-to-configure-a-remote-mail-server.html#sthash.JeroEsDU.dpuf

Vishal Panchal
źródło
Witaj w Server Fault! Chociaż teoretycznie może to odpowiedzieć na pytanie, podaj kontekst wokół linków, aby inni mieli pojęcie, co to jest i dlaczego. Jeśli to możliwe, streść lub przytocz najistotniejszą część ważnego linku, na wypadek gdyby strona docelowa była nieosiągalna lub została trwale wyłączona.
HBruijn,