C'è un modo per configurare il server WAMP per PHP per abilitare la mail()
funzione?
C'è un modo per configurare il server WAMP per PHP per abilitare la mail()
funzione?
Risposte:
Configurare un client di posta elettronica funzionante da localhost è piuttosto un lavoro ingrato, ho passato ore di frustrazione a provarlo. Sono sicuro che qualcuno più esperto potrebbe essere in grado di aiutare, o forse potrebbero essere d'accordo con me.
Se vuoi solo testare, ecco un ottimo strumento per testare la posta in locale, che non richiede quasi alcuna configurazione:
http://www.toolheap.com/test-mail-server-tool/
Ha funzionato subito per me, spero che questo ti aiuti.
Installa Fake Sendmail (scarica sendmail.zip ). Quindi configura C: \ wamp \ sendmail \ sendmail.ini:
smtp_server=smtp.gmail.com
smtp_port=465
auth_username=user@gmail.com
auth_password=your_password
Quanto sopra funzionerà con un account Gmail. E poi configura php.ini:
sendmail_path = "C:\wamp\sendmail\sendmail.exe -t"
Ora riavvia Apache e questo è praticamente tutto ciò che devi fare.
Utilizzando un programma open source chiamato Send Mail , puoi inviare tramite wamp piuttosto facilmente. Lo sto ancora configurando, ma ecco un ottimo tutorial di jo jordan . Ci vogliono meno di 2 minuti per l'installazione.
L'ho appena provato e ha funzionato a meraviglia! Una volta decommentato il registro degli errori e scoperto che si stava bloccando sull'autenticazione pop3, l'ho appena rimosso e l'ho inviato correttamente. Buona fortuna!
mail
hai aperto una pagina PHP con , riceverai un'e-mail da Google che dice che un tentativo di accesso è stato bloccato. In quell'email, fai clic su "Verifica attività" e, nella pagina che si apre, fai clic su "Sì, ero io", quindi su "Ulteriori informazioni", quindi su "Se" Accesso alle app meno sicure "è disattivato per il tuo account ", quindi fai clic su" riaccendilo ", quindi riattiva l'interruttore.
from
un'intestazione quando chiami mail
in PHP. Ad esempio, puoi farlo mail("to@example.com", "Subject", "Content", "From: youremailaddress@gmail.com")
(è l'ultimo parametro che è importante).
Hai bisogno di un server SMTP per inviare la tua posta. Se ne hai uno disponibile che non richiede l'autenticazione SMTP (forse quello del tuo ISP?), Modifica semplicemente l'impostazione "SMTP" ([funzione di posta]) nel tuo file php.ini.
Se questa non è un'opzione perché il tuo server SMTP richiede l'autenticazione, non sarai in grado di usare la funzione interna mail () e dovrai usare una classe di terze parti che supporta l'autenticazione smtp. ad es. http://pear.php.net/package/Mail/
Ho provato Test Mail Server Tool e sebbene abbia funzionato alla grande, è comunque necessario aprire l'email su alcuni client.
Ho trovato Papercut : https://papercut.codeplex.com/
Per la configurazione è facile come Test Mail Server Tool (praticamente zero-conf), e funge anche da client di posta elettronica, con viste per il messaggio (ottimo per le email HTML), le intestazioni , il corpo (per ispezionare l'HTML) e Raw (completo email non analizzata).
Ha anche una vista Sezioni , per suddividere i diversi tipi di media trovati nell'e-mail.
Ha un'interfaccia utente super pulita e amichevole, un buon visualizzatore di log e ti dà notifiche quando ricevi un'e-mail.
Lo trovo perfetto, quindi volevo solo dare il mio 2c e forse aiutare qualcuno.
Sendmail non funzionava per me, quindi ho usato msmtp 1.6.2 w32 e la maggior parte ha seguito le istruzioni su DeveloperSide . Ecco una rapida carrellata della configurazione per i posteri:
Accesso IMAP abilitato sotto il tuo account Gmail (quello da cui msmtp invia le email)
Abilita l'accesso per app meno sicure . Accedi al tuo account Google e vai qui
Modificaphp.ini
, trova e cambia ciascuna impostazione di seguito per riflettere quanto segue:
; 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"
Crea e modifica il filemsmtprc.ini
nella stessa directory del msmtp.exe
file come segue, sostituendolo con la tua email e password:
# 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