Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    sendmail va ma php non invia

    Forse qualcuno puo' drami una mano. Il mio fedora 9 funziona veramente bene, ho configurato sendmail come smarthost per usare l'smtp del mio provider. Se provo ad inviare mail da shell non ci sono problemi. Tramite mail() di php invece nulla accade.
    Ho provato a usare al posto di sendmail ssmtp e la posta viene recapitata, significa quindi che quindi la funzione mail() funge. Il problema pare sia proprio legato a sendmail.
    Cos aposso controllare ancora, non so piu' cosa pensare.

  2. #2
    Utente di HTML.it L'avatar di Gab-81
    Registrato dal
    Nov 2005
    Messaggi
    558
    Ciao, attenzione a non confondere... per usare mail() devi avere server di posta altrimenti puoi anche sbatterti per terra ma non funzionerà mai per testare in locale devi per forza appoggiarti all'SMTP del tuo provider...cmq, se posso, ti consiglierei di usare la class PHPMailer, efficace ma soprattutto semplicissima da usare...senza considerare che sia il forum che la rete è piena di esempi di utilizzo...


  3. #3
    grazie ,
    ma io il server ce l'ho, è sendmail.
    E' configurato come SmartHost quindi invia tutto al mio provider.
    Io per testarlo provo da shell ad inviare con "mail indirizzo@dominio.dom" e funziona.
    Solo il php non invia.
    Eppure il php funziona, infatti se a sendmail sostituisco ssmtp e rigiro la posta su gmail funziona tutto.

  4. #4
    Utente di HTML.it L'avatar di Gab-81
    Registrato dal
    Nov 2005
    Messaggi
    558
    Si ma un conto è mail da shell linux, un conto è la funzione mail() di php...tutto qua. Per inviare mail da php con la funzione mail() ho hai un hosting con servizio mail, oppure niente da fare. In locale devi usare smtp da php...


  5. #5
    cosa intendi esattamente con "in locale devi usare smtp da php" tutte le costanti SMTP in php si riferiscono a Windows e non a Linux.
    Dammi qualche idea per favore....

  6. #6
    ho capito cosa intendi. Hosting con servizio mail
    Ce l'ho infatti e lì funziona tutto, solo volevo far funzionare la cosa in locale.
    E' per questo che uso sendmail come SmartHost, perché nn puo'inviare direttamente ed utilizza invece il mio provider (alice).
    Ma a quanto mi dici la funzione mail di php segue altre strade. Hai info in merito ?
    ssmto funziona, ma le memail arrivano tutte con lo stesso mittente e non mi piace.
    Ciao :rollo:

  7. #7
    Utente di HTML.it L'avatar di Gab-81
    Registrato dal
    Nov 2005
    Messaggi
    558
    Ripeto: in locale mail() NON funziona...invito ad usare PHPMailer, che tra l'altro ti fa switchare da smtp a mail a sendmail in modo velocissimo...altre strade non le conosco, se non come hai fatto tu: usare mail() sul server e sendmail con SmartHost in locale. Tra l'altro con PHPMailer puoi impostare mittente e quant'altro: è una classe veramente potente.


  8. #8
    Ciao, attenzione a non confondere... per usare mail() devi avere server di posta altrimenti puoi anche sbatterti per terra ma non funzionerà mai per testare in locale devi per forza appoggiarti all'SMTP del tuo provider
    Per inviare mail da php con la funzione mail() ho hai un hosting con servizio mail, oppure niente da fare. In locale devi usare smtp da php
    Ripeto: in locale mail() NON funziona...invito ad usare PHPMailer, che tra l'altro ti fa switchare da smtp a mail a sendmail in modo velocissimo...altre strade non le conosco, se non come hai fatto tu: usare mail() sul server e sendmail con SmartHost in locale. Tra l'altro con PHPMailer puoi impostare mittente e quant'altro: è una classe veramente potente.
    Gab, ma queste ferrate nozioni le hai trovate nell'uovo di pasqua o te le ha regalate la befana???

    quando parli, e per giunta insisti, devi essere MATEMATICAMENTE sicuro di quello che dici!!!

    Sui sistemi posix php utilizza sendmail mentre su windows utilizza un relay smtp ovvero si appoggia ad un server che risolve i dns mx per lui ed effettua le spedizioni

    Probabilmente la cosa è dovuta proprio alla configurazione come smarthost, potrebbero esserci svariati motivi per il quale non funzioni correttamente (password per l'invio, mittente non riconosciuto [viene utilizzato l'utente di apache se non lo specifici, controlla] e tanta altra roba)
    Impostalo come normale server smtp ragiungibile solo su localhost:25 e ti risolvi il problema

  9. #9
    Utente di HTML.it L'avatar di Gab-81
    Registrato dal
    Nov 2005
    Messaggi
    558
    Originariamente inviato da daniele_dll
    Gab, ma queste ferrate nozioni le hai trovate nell'uovo di pasqua o te le ha regalate la befana???
    Senza voler andare OT, parlo per esperienza, limitata che sia. Riporto solo quella. Volevo solamente dire che mail() funziona in locale SE HAI UN SERVER DI POSTA (prima risposta al post):

    [...]Bisogna ricordare però che perchè l'invio venga effettuato è necessario disporre di un mail server, e l'indirizzo di questo deve essere indicato nelle impostazioni di PHP. Se volete testare i vostri script che fanno uso della funzione mail() in locale, vi consiglio di installare un mail server gratuito, come ad esempio PostCast Server.[...]
    Fonte: Tutorial CodiceFacile.it

    Quindi credo che se vuole usare mail() deve avere questo server, altrimenti per inviare mail deve necessariamente passare per SMTP (come hai giustamente detto anche tu).

    Credo di non avere detto tutte fandonie, cmq grazie per le precisazioni postate daniele_dll, come sono state utili a me potranno essere utili a qualcun'altro


  10. #10
    Originariamente inviato da Gab-81
    Senza voler andare OT, parlo per esperienza, limitata che sia. Riporto solo quella. Volevo solamente dire che mail() funziona in locale SE HAI UN SERVER DI POSTA (prima risposta al post):
    questo su windows, su linux viene richiamato l'eseguibile sendmail (che poi il vero sendmail o un link simbolico per compatibilità che si comporta nello stesso modo non è importante)

    [...]Bisogna ricordare però che perchè l'invio venga effettuato è necessario disporre di un mail server, e l'indirizzo di questo deve essere indicato nelle impostazioni di PHP. Se volete testare i vostri script che fanno uso della funzione mail() in locale, vi consiglio di installare un mail server gratuito, come ad esempio PostCast Server.[...]
    Fonte: Tutorial CodiceFacile.it

    Quindi credo che se vuole usare mail() deve avere questo server, altrimenti per inviare mail deve necessariamente passare per SMTP (come hai giustamente detto anche tu).
    il server di posta non serve, può anche starci solo un applicativo che si scrive lui che si chiama sendmail e stia nella path e basta

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.