mail() function su apache

ciao a tutti

ho installato apache, mysql e php secondo le istruzioni del sito.. e va che è una meraviglia! è veramente fantastico!!

ho però riscontrato un problema:

durante l'installazione del blog wordpress mi vengono visualizzati diversi errori relativi al db, andando avanti il blog c'è  ma ha dei problemi come ad esempio nn si riesce  a postare... ma qui ho risolto eliminando i vari dati all'interno del db che avevo creato e sostituendo quelli presenti con il dump di un installazione fatta sul mio sito web dello stesso script

ma vengo al dunque:

quando provo a chiedere la pw perche me la sono persa (voglio solo provare a vedere se lo script funziona a dovere in locale, la pw la conosco) mi viene restituita una pagina con questa scritta:

The e-mail could not be sent.

Possible reason: your host may have disabled the mail() function...

come posso risolvere?

ciao e grazie per l'eventuale aiuto

Daniele

inviato 11 anni fa
danynero
X 0 X

Inviare email con PHP dal proprio PC, specie se si usa Windows, è sempre un po' complesso.

Il problema sta nel fatto che PHP non spedisce "personalmente" la mail ma si limita a passarla ad un server SMTP

Se dai un'occhiata al tuo php.ini troverai delle righe di questo tipo:

[mail function]

; For Win32 only.

SMTP = localhost

smtp_port = 25

dove è evidente che PHP vuole sapere a quale server SMTP appoggiarsi per l'invio della mail. In teoria basterebbe sostituire "localhost" con l'indirizzo del serer SMTP che usi per inviare le tue mail, ad esempio quello che ti è stato fornito dal tuo provider.

Purtroppo però oggi, a causa dello spam, molti provider hanno abilitato diversi sistemi di sicurezza nei loro SMTP, ad esempio la tecnica POP before SMTP o l'uso di password, per cui sempre più spesso PHP non riesce comunque ad accedere a tali server per inviare la mail.

Prova quindi ad impostare un indirizzo corretto di SMTP nel php.ini (non dimenticare di riavviare Apache ad ogni modifica del file) e vedi se le email vengono spedite. Fai qualche tentativo con diversi SMTP.

 :bye:

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

Scusate l'intromissione, considerato che anche io ho avuto lo stesso problema con un script fatto da me a scopo di test, mi chiedevo se il suggerimento fattto da te Giannì, vale anche se si è offline il localhost?

Ciao  ;)

risposto 11 anni fa
TrxWeb
X 0 X

Cosa intendi per offline? Senza un collegamento ad internet? In tal caso se sei su windows non c'è speranza di ricevere mail...

 :bye:

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

Intendo prorpio offline, cioè senza connessione ad internet. Ho anche installato un webmail è funziona, cioè ho creato due account fittizzi , e con outlook express riesco ad inviare e riceve e-mail fra i due account, usando le porte rispettivamente, 26 per [smtp] e 111 per il [pop].  :(

risposto 11 anni fa
TrxWeb
X 0 X
Intendo prorpio offline, cioè senza connessione ad internet. Ho anche installato un webmail è funziona, cioè ho creato due account fittizzi , e con outlook express riesco ad inviare e riceve e-mail fra i due account, usando le porte rispettivamente, 26 per [smtp] e 111 per il [pop].  :(

Ma da Outlook a chi invii le mail? Chi funge da server SMTP?

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

Ho installato un mailserver e creato due account, settato i parametri e poi gli stessi account li ho creati in outlook ed il gioco è fatto.

risposto 11 anni fa
TrxWeb
X 0 X
Ho installato un mailserver e creato due account, settato i parametri e poi gli stessi account li ho creati in outlook ed il gioco è fatto.

Adesso si... non avevi detto la cosa più inportante: la presenza di un mail server in locale...

 :bye:

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

Si però il problema rimane, nel senso che non so come settare php.ini per mandare e-mail il localhost, ho provato ad inserire come [SMTP] lo stesso valore che ho inserito nel mailserv, ma non funge ugualmente, bho :(

risposto 11 anni fa
TrxWeb
X 0 X

se il server SMTP è sul tuo PC devi mettere "localhost" come indirizzo nel php.ini

Il problema potrebbe essere legato a qualche forma di autenticazione richiesta dal server SMTP. PHP non è in grado di autenticari quindi qualsiasi protezione va disabilitata.

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

Grazie, questa sera proverò a fare delle modifiche, poi mi faccio risentire.

Denghiu  O0

risposto 11 anni fa
TrxWeb
X 0 X

Niente da fare, le ho provate tutte, ma lo script da sempre [glow=red,2,300]Server Error[/glow]

 :tichedoff:

risposto 11 anni fa
TrxWeb
X 0 X

Io per provare la funzione mail sotto Windows faccio così:

ho scaricato ed installato questo server SMTP gratuito:

http://www.softstack.com/freesmtp.html

basta installarlo e lanciarlo, nessuna configurazione

nel php.ini ho messo l'SMTP a localhost

Punto.

 :bye:

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

Grazie provero anche questa.

Ho gia scaricato ed installato due differenti mailweb server, uno è della argostf, gratuito è molto semplice da usare, l'altro professionale Imate ed in tutti è due i casi funzionano per l'invio e ricezione di email, ma non è possibile utilzzarlto con php.ini, o meglio sono forse io che non sono riuscito a configurarli.

Grazie per i lsuggerimento  O0

risposto 11 anni fa
TrxWeb
X 0 X

Ho scaricato SMTP server pro in versione dimostrativa per determinati giorni, cmq, mi pare di capire che tutte le versioni sono a pagamento e non free. tuttavia, il problema ora è che non riesco a farlo funzionare.

Mentre con la versione di ArGoSoft Mail Server, mi è bastato inserire un nome di dominio a scelta es. phpnews.it

porte SMTP 26 e POP3 111, e poi creare un nome utente ad esempio pippo password pippo, e, successivamente, con gli stessi paramentri creare un nuovo account su Outlookexpress prechè funzionasse il tutto sia in invio che in ricezione, con SMTP Server PRO, non ci riesco, se tento di effetturare l'invio e ricevi, il browser di posta tenta di collegarsi ad internet, ho anche indicato il tipo di connesione lan, ma poi dice sempre che non riesce a trovare il dominio. Ho provato anche solo ad inserire localhost come dominio, ma senza riuscirci. DOve diavolo sto sbagliando? :uglystupid:

risposto 11 anni fa
TrxWeb
X 0 X

Il link che ti ho riportato punta alla versione free del programma. Io non ho configurato nulla (c'è poco da configurare nella versione free) ed ha funzionato al primo colpo.  :dunno:

Il link per scaricare il programma è nella stessa pagina, in basso.

 :bye:

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

Ok provo a scaricare  la versione free.

 ::)

risposto 11 anni fa
TrxWeb
X 0 X

scusate ho lo stesso problema visto che ho installato il tutto su windows... ma per la posta faccio le prove direttamente on-line a questo punto

+ che altro mi chiedo ... ma che cos'è un server SMTP

se SMTP è il protocollo usato per l'invio di infomrazioni via e-mail

server per cosa sta?

il server nn è il software (IIS, Apache) che serve per la raccolta e la condivisione di materiale sulla macchina in cui è installato?

se il software che invia il materiale al destinatario sta nel mio server web (Apache) che vuol dire?che ho 2 server (Apache e SMPT) uno dentro l'altro a mho di matriosca?

mi aiutate a capire?

risposto 10 anni fa
affafa
X 0 X

Un server non è altro che un programma che gira sul tuo computer, un programma come tutti gli altri.

In un moderno PC, qualsiasi 'cosa' all'interno e all'esterno della macchina comunica attraverso una porta, identificata con un numero progressivo da 0 a infinito, e i programmi comunicano con la porta attraverso quel numero.

E' un po' come comporre un numero di telefono, ad ogni numero corrisponde un abbonato il quale risponderà se chiamato.

Questo fa sì che tu puoi montare tanti server quanti ne può contenere la memoria del tuo pc, ognuno dialogherà su una porta diversa.

Simple Mail Transfer Protocol è un server di posta, puoi leggere qualcosa qui: http://it.wikipedia.org/wiki/SMTP

risposto 10 anni fa
Marco Grazia
X 0 X

emm si ho letto prima di postare...

quindi quando mi installo apache in realtà mi installo un complesso di server?

perchè ora si parla di apache e SMTP, ma chissà quanti altri server ho installato

risposto 10 anni fa
affafa
X 0 X

Apache è solo un server Web, non fa altro.

Quanti ne hai instalati? Be c'è una comoda funzione di Windows che ti permette di gestire tutte le applicazioni che girano in background, ma non so qual'è :)

risposto 10 anni fa
Marco Grazia
X 0 X

mhhh nn mi hai capito

STMP     = server

APACHE = server

io ho installato solo apache, ma con lui ora ho anche SMPT (giusto?anche se su windows nn funziona)

quindi SMPT + APACHE = 2 server

risposto 10 anni fa
affafa
X 0 X

Ma hai installato tu un server SMPT?

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

opps ... da quello che ho letto qui, pensavo facesse parte di apache ... e che sotto windows nn funzionasse

risposto 10 anni fa
affafa
X 0 X

A quanto pare mancano un po' di informazioni di base.

Vediamo se riesco ad aiutare in modo semplice.

Server: lo puoi considerare un commesso che esegue dei compiti per i clienti (client), quindi mantenendo il paragone di un negozio:

un cliente entra nel negozio, chiede al commesso quello che gli serve, il commesso cerca/esegue, e da al cliente quanto richiesto.

Traslando questo nel nostro campo (facciamo l'esempio della posta elettronica):

Outlook Express (thunderbird, ecc) si collega al PC (negozio) che fa da server di posta (SMTP), gli chiede le proprie email, il server le cerca e le da a outlook express che te le fa vedere.

Questo è il principio di funzionamento; apache è un server web quindi rende disponibili i siti web per i propri clienti che sono i browser (IE, Firefox, opera, ecc).

firefox si collega al server apache, gli chiede la pagina, apache la recupera e la trasmette a firefox.

Edit:

Se questo ti è chiaro, ti accorgi che per avere un server smtp devi installarlo, un server web devi installarlo, ecc. esistono  anche dei pacchetti preconfezionati che installano tutto, ma cmq sono installazioni di + programmi server in un unica volta.

Tornando all'esempio dei negozi, il pc è la struttura dl centro commerciale in cui ci stanno tutti i negozi che vuoi, fino al limite dello spazio (risorse) disponibile.

risposto 10 anni fa
LonelyWolf
modificato 10 anni fa
X 0 X

ci ho messo  un pò per rispondere :D

cmq volevo dire grazie e che paragone

mhh si hai reso l'idea

vado a scaricarmi un server di posta

risposto 10 anni fa
affafa
X 0 X

scaricato e provato

che ridere!!!

F U N Z I O N A!!!

risposto 10 anni fa
affafa
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda