Czy istnieje sposób, w jaki mogę skonfigurować serwer WAMP dla PHP, aby włączyć tę mail()
funkcję?
Czy istnieje sposób, w jaki mogę skonfigurować serwer WAMP dla PHP, aby włączyć tę mail()
funkcję?
Odpowiedzi:
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.
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ć.
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!
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.
from
nagłówek podczas wywoływania mail
w PHP. Na przykład możesz to zrobić mail("to@example.com", "Subject", "Content", "From: youremailaddress@gmail.com")
(to ostatni ważny parametr).
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/
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.
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.exe
plik 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
msmtp-1.6.2-w32.zip
sourceforge.net/projects/msmtp/files/msmtp/1.6.2