Skonfiguruj serwer WAMP do wysyłania wiadomości e-mail

Odpowiedzi:

205

Konfigurowanie działającego klienta poczty z hosta lokalnego jest dość uciążliwe, próbując to spędziłem wiele godzin frustracji. Jestem pewien, że ktoś bardziej doświadczony może być w stanie pomóc lub może się ze mną zgodzić.

Jeśli chcesz tylko przetestować, oto świetne narzędzie do lokalnego testowania poczty, które prawie nie wymaga konfiguracji:

http://www.toolheap.com/test-mail-server-tool/

U mnie zadziałało od samego początku, mam nadzieję, że to ci pomoże.

Wesley Murch
źródło
16
Działa z wampem bez żadnej konfiguracji. Po prostu otwórz .eml za pomocą Windows Live Mail (konfiguracja nie jest wymagana).
Benjamin Crouzier
5
Jeśli (tak jak ja) doszedłeś do tego wspaniałego rozwiązania po poprawieniu php.ini, pamiętaj o domyślnej konfiguracji: [funkcja poczty] SMTP = localhost smtp_port = 25
BenL
2
Działało wspaniale dla mnie, używając WAMP 4 na Win10. Dzięki Wesley!
nickstaw
4
każdemu, kto nie znajdzie linku do pobrania, przejdź tutaj: toolheap.com/test-mail-server-tool/users-manual.html
SolidSnake
3
Dla tych, którzy chcą to pobrać bez wyłączania adblocka, oto link do pobrania: toolheap.com/test-mail-server-tool/TestMailServerToolSetup.exe
Kaczor Donald
44

Zainstaluj Fake Sendmail (pobierz sendmail.zip ). Następnie skonfiguruj C: \ wamp \ sendmail \ sendmail.ini:

smtp_server=smtp.gmail.com
smtp_port=465
auth_username=user@gmail.com
auth_password=your_password

Powyższe będzie działać na koncie Gmail. A następnie skonfiguruj php.ini:

sendmail_path = "C:\wamp\sendmail\sendmail.exe -t"

Teraz uruchom ponownie Apache i to w zasadzie wszystko, co musisz zrobić.

gianjey
źródło
3
+1 za rozwiązanie pod klucz. Jako dodatkowe źródło informacji dla tych, którzy potrzebują trochę więcej szczegółów na temat kroków: blog.techwheels.net/…
Prusprus
@gianjey Czy to będzie działać z innymi kontami, takimi jak Hotmail, czy potrzebujesz zarejestrowanego konta Gmail, aby z niego korzystać?
Ryman Holmes,
1
dang, ta metoda wydaje się już nie działać ... zakładając, że wszystko zostało skonfigurowane poprawnie
Banowanie
Cześć @Banning, udało mi się to ustawić bez trudności właśnie teraz, więc nadal działa. Upewnij się, że nie masz skonfigurowanego uwierzytelniania dwuetapowego na koncie Gmail. W każdym razie to był dobry przewodnik - blog.techwheels.net/ ...
faludi
1
Nie mogę uwierzyć, że to zadziałało jako pierwsza próba !!! tak niesamowite. Jedyną częścią, która mnie zepsuła, jest to, że jeśli używasz Gmaila, musisz podać swoją nazwę użytkownika Gmaila i hasło, aby mógł zalogować się do klienta poczty e-mail i WYSŁAĆ wiadomość e-mail. UWAGA: jeśli zamierzasz to zrobić, utwórz nowe konto Gmail, ponieważ zwiększa to ryzyko zagrożenia bezpieczeństwa.
William Howley,
5

Używając programu typu open source o nazwie Send Mail , możesz w rzeczywistości dość łatwo wysyłać za pośrednictwem wampa. Nadal go konfiguruję, ale oto świetny samouczek autorstwa Jo Jordan . Konfiguracja zajmuje mniej niż 2 minuty.

Właśnie go wypróbowałem i zadziałało jak urok! Kiedy odkomentowałem dziennik błędów i dowiedziałem się, że utknął w uwierzytelnianiu pop3, po prostu go usunąłem i ładnie wysłałem. Powodzenia!

David Hobs
źródło
Jeśli używasz konta Gmail, musisz zezwolić na dostęp mniej bezpiecznym aplikacjom. Aby to zrobić, po wykonaniu tego, co jest napisane w samouczku, do którego link znajduje się w tej odpowiedzi, i otwarciu strony PHP za pomocą mail, otrzymasz wiadomość e-mail od Google z informacją, że próba logowania została zablokowana. W tym e-mailu kliknij „Sprawdź aktywność” i na wyświetlonej stronie kliknij „Tak, to ja”, a następnie kliknij „Dowiedz się więcej”, a następnie kliknij „Jeśli„ Dostęp mniej bezpiecznych aplikacji ”jest wyłączony dla Twoje konto ”, a następnie kliknij„ Włącz je z powrotem ”, a następnie włącz przełącznik.
Kaczor Donald
Musisz także określić fromnagłówek podczas wywoływania mailw PHP. Na przykład możesz to zrobić mail("[email protected]", "Subject", "Content", "From: [email protected]")(to ostatni ważny parametr).
Kaczor Donald
2

Do wysyłania poczty potrzebny jest serwer SMTP. Jeśli masz taki, który nie wymaga uwierzytelniania SMTP (może twój ISP?), Po prostu edytuj ustawienie 'SMTP' ([funkcja poczty]) w pliku php.ini.

Jeśli to nie jest opcja, ponieważ twój serwer SMTP wymaga uwierzytelnienia, nie będziesz mógł używać wewnętrznej funkcji mail () i będziesz musiał użyć klasy innej firmy, która obsługuje smtp auth. np. http://pear.php.net/package/Mail/

mwallisch
źródło
1

Wypróbowałem narzędzie Test Mail Server Tool i chociaż działało świetnie, nadal musisz otworzyć wiadomość e-mail na jakimś kliencie.

Znalazłem Papercut : https://papercut.codeplex.com/

Dla konfiguracji łatwo jak Test Server narzędzie Poczta (pratically zero-conf), a także służy jako klient poczty elektronicznej, z widokiem na Wiadomość (wielki dla wiadomości e-mail w formacie HTML), nagłówki , ciała (do wglądu HTML) i RAW (pełna nieprzetworzona wiadomość e-mail).

Zawiera również widok Sekcje , aby podzielić różne typy multimediów znalezione w wiadomości e-mail.

Ma super czysty i przyjazny interfejs użytkownika, dobrą przeglądarkę dziennika i wyświetla powiadomienia, gdy otrzymasz wiadomość e-mail.

Uważam to za idealne, więc po prostu chciałem dać moje 2c i może komuś pomóc.

Fábio Duque Silva
źródło
1

Sendmail nie działał dla mnie, więc użyłem msmtp 1.6.2 w32 i większość z nich po prostu postępowała zgodnie z instrukcjami na DeveloperSide . Oto krótkie podsumowanie konfiguracji dla potomnych:

Włączono dostęp IMAP na koncie Gmail (to, z którego msmtp wysyła e-maile)

Włącz dostęp dla mniej bezpiecznych aplikacji . Zaloguj się na swoje konto Google i przejdź tutaj

Edytujphp.ini , znajdź i zmień każde z poniższych ustawień, aby odzwierciedlić następujące:

; These are commented out by prefixing a semicolon
;SMTP = localhost
;smtp_port = 25

; Set these paths to where you put your msmtp files.
; I used backslashes in php.ini and it works fine.
; The example in the devside guide uses forwardslashes. 
sendmail_path = "C:\wamp64\msmtp\msmtp.exe -d -C C:\wamp64\msmtp\msmtprc.ini -t --read-envelope-from"

mail.log = "C:\wamp64\msmtp\maillog.txt"

Utwórz i edytuj plikmsmtprc.ini w tym samym katalogu co msmtp.exeplik w następujący sposób, zastępując go własnym adresem e-mail i hasłem:

# Default values for all accounts
defaults
tls_certcheck off
# I used forward slashes here and it works.
logfile C:/wamp64/msmtp/msmtplog.txt

account Gmail
host smtp.gmail.com
port 587
auth on
tls on
from ReplaceWithYourEmail@gmail.com
user ReplaceWithYourEmail@gmail.com
password ReplaceWithYourPassword
account default : gmail
iyrin
źródło
Nie mogę zainstalować msmtp w systemie Windows. Mogę znaleźć tylko pliki tar.
Oussama Essamadi
1
Wypróbuj link w mojej odpowiedzi i pobierz msmtp-1.6.2-w32.zip sourceforge.net/projects/msmtp/files/msmtp/1.6.2
iyrin
0

Użyłem Mercury / 32 i Pegasus Mail, aby funkcja mail () działała. Działa również świetnie jako serwer pocztowy, jeśli chcesz, aby adres e-mail kończył się nazwą Twojej domeny.

ZeldaBoy
źródło