2011-01-10 12 views
22

Sto imparando PHP e ho installato Xampp sul mio computer.setup di posta php in xampp

Ma ho un problema con l'installazione poiché l'opzione di posta elettronica non sembra funzionare.

Dopo aver fatto qualche lettura penso che abbia qualcosa a che fare con il seguito, trovato sul mio server nel file php.ini

[mail function] 
; For Win32 only. 
; *hp://*php.net/smtp 
SMTP = localhost 
; http://php.net/smtp-port 
smtp_port = 25 

; For Win32 only. 
; http://php.net/sendmail-from 
;sendmail_from = [email protected] 

[Si prega di notare che ho cambiato sopra CV: // da http: // a causa di una limitazione su questo sito Web per pubblicare un collegamento ipertestuale]

C'è qualcosa che devo cambiare? Ho visto software come swiftmailer menzionato ma non so se Xampp ha già incluso questo? Qualsiasi consiglio sarebbe molto apprezzato!

Grazie James

+6

Xampp include Mercury. L'hai inventato? Penso che i documenti includano anche un capitolo su come far funzionare PHP con esso –

risposta

13

mio server SMTP preferito è hMailServer.

Ha un programma di installazione e procedura guidata ottimizzati per Windows. Giù il server di posta più facile che abbia mai installato.

Può eseguire il proxy tramite il tuo account gmail/yahoo/etc o inviare email direttamente.

Una volta installato, l'email in xampp funziona senza modifiche di configurazione.

+1

Ciao Byron, ci sono tutorial su come configurare il proxy hMailserver per inviare email a gmail e yahoo? – jasper

+0

È relativo a solo Windows? –

+0

@ByronWhitlock ci sono alternative per linux –

5

Se non si dispone di un server di posta impostato sul computer locale, l'impostazione SMTP = localhost non avrà alcun effetto.

Nei giorni passati (molto tempo fa), era sufficiente impostare il valore di SMTP sull'indirizzo del server SMTP del proprio ISP. Questo funziona raramente perché la maggior parte degli ISP richiede l'autenticazione con un nome utente e una password. Tuttavia, la funzione PHP mail() non supporta l'autenticazione SMTP. È progettato per funzionare direttamente con l'agente di trasporto della posta del server locale.

È necessario configurare un server di posta locale o utilizzare classi PHP che supportano l'autenticazione SMTP, come Zend_Mail o PHPMailer. La soluzione più semplice, tuttavia, è caricare il tuo script di elaborazione della posta sul tuo server remoto.

7

XAMPP avrebbe dovuto venire con un programma "falso" sendmail. In tal caso, è possibile utilizzare sendmail così:

[mail function] 
; For Win32 only. 
; http://php.net/smtp 
;SMTP = localhost 
; http://php.net/smtp-port 
;smtp_port = 25 

; For Win32 only. 
; http://php.net/sendmail-from 
;sendmail_from = [email protected] 

; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). 
; http://php.net/sendmail-path 
sendmail_path = "C:/xampp/sendmail/sendmail.exe -t -i" 

Sendmail dovrebbe avere una sendmail.ini con esso; esso dovrebbe essere configurato come così:

# Example for a user configuration file 

# Set default values for all following accounts. 
defaults 
logfile "C:\xampp\sendmail\sendmail.log" 

# Mercury 
#account Mercury 
#host localhost 
#from [email protected] 
#auth off 

# A freemail service example 
account ACCOUNTNAME_HERE 
tls on 
tls_certcheck off 
host smtp.gmail.com 
from EMAIL_HERE 
auth on 
user EMAIL_HERE 
password PASSWORD_HERE 

# Set a default account 
account default : ACCOUNTNAME_HERE 

Naturalmente, sostituire ACCOUNTNAME_HERE con un nome account arbitrario, sostituire EMAIL_HERE con un indirizzo email valido (come ad esempio un Gmail o Hotmail), e sostituire PASSWORD_HERE con la password al tuo indirizzo email. Ora dovresti essere in grado di inviare posta. Ricordarsi di riavviare Apache (dal pannello di controllo o dai file batch) per consentire il corretto funzionamento delle modifiche a PHP.