Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: php mail errore

  1. #1

    php mail errore

    Ciao!

    sto cercando di far funzionare la funzione mail() di php per inviare delle mail su compilazione di un campo..

    la parte di codice php è questa:
    codice:
    $mail = $_POST['mail'];    
    //MAIL ADMIN 
    $destinatario = "XXX@hotmail.it"; 
    $oggetto = "Subscription";  
    $messaggio = "The email sent by the user is: $mail";  
     mail($destinatario,$oggetto,$messaggio);
    come mai non funziona?
    mi sembra strano..

    ho provato a stampare la variabile mail ed effettivamente prende il valore dal form..

  2. #2
    Prova ad aggiungere il quarto parametro anche se è facoltativo.
    Codice PHP:
    $mail $_POST['mail'];    
    //MAIL ADMIN 
    $destinatario "XXX@hotmail.it"
    $oggetto "Subscription";  
    $messaggio "The email sent by the user is: $mail";  
     
    mail($destinatario,$oggetto,$messaggio,"From: mittente); 
    CODENCODE \ Branding \ Design \ Marketing
    www.codencode.it

  3. #3
    niente da fare, avevo gia provato anche io ma non va!
    non so piu dove mettere le mani? server? ho accesso a tutti i file..

  4. #4
    Cosa significa "non va"?

    Prova ad aggiungere l'header:

    Codice PHP:
    $header  'MIME-Version: 1.0' "\r\n";
    $header .= 'Content-type: text/html; charset=iso-8859-1' "\r\n";
    $header .= 'From: Mittente <email@email.it>' "\r\n";

    $destinatario "XXX@hotmail.it"
    $oggetto "Subscription";  
    $messaggio "The email sent by the user is: $mail";
      
    mail($destinatario$oggetto$messaggio$header); 
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Per caso stai lavorando su localhost? Se sì allora ti serve per forza un MTA, o comunque un server SMTP. Controlla le impostazioni del tuo php.ini

  6. #6
    No sto lavorando in remoto, su un server..
    cosa devo controllare?

  7. #7
    Controlla che la variabile sendmail_path punti a un mail sender, io per esempio ce l'ho valorizzata a /usr/sbin/sendmail -t (nota che sendmail è il comando per inviare la posta).

    Probabilmente dovrai sostituirlo con l'indirizzo del tuo server SMTP, che potrebbe essere mail.tuosito.it oppure smtp.tuosito.it

    Se non hai la possibilità di configurare il php.ini contatta il tuo provider, oppure in alternativa prova il Mail package di PEAR, oppure phpmailer o altri script, che di solito fanno uso di server già configurati per inviare mail, e quindi non dovresti avere problemi.

  8. #8
    nel php.ini il sendmail è configurato cosi:
    codice:
    [mail function]
    ; For Win32 only.
    ; http://www.php.net/manual/en/mail.co...n.php#ini.smtp
    SMTP = localhost
    ; http://www.php.net/manual/en/mail.co...#ini.smtp-port
    smtp_port = 25
    
    ; For Win32 only.
    ; http://www.php.net/manual/en/mail.co....sendmail-from
    ;sendmail_from = me@example.com
    
    ; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
    ; http://www.php.net/manual/en/mail.co....sendmail-path
    sendmail_path = /usr/sbin/sendmail -t -i
    
    ; Force the addition of the specified parameters to be passed as extra parameters
    ; to the sendmail binary. These parameters will always replace the value of
    ; the 5th parameter to mail(), even in safe mode.
    ;mail.force_extra_parameters =
    
    ; Add X-PHP-Originaiting-Script: that will include uid of the script followed by the filename
    mail.add_x_header = On
    
    ; Log all mail() calls including the full path of the script, line #, to address and headers
    ;mail.log =
    ed effettivamente sotto /usr/sbin/sendmail cè..

    Le altre opzioni devo cambiarle?

  9. #9
    Intanto il tuo server è windows o linux?

    Poi credo che dovresti cambiare la riga

    codice:
    SMTP = localhost
    sostituendo localhost con il tuo server SMTP.

    Leggi qui: http://email.about.com/od/emailprogr...nding_Mail.htm

  10. #10
    Ciao, il server è linux.

    Vorrei evitare di modificare il php.ini dato che uso Joomla e funziona li la mail..

    E' possibile utilizzare l'SMTP esterno (di gmail) senza usare sendmail, cosi da risolvere il problema.
    Come posso fare? ho letto che esiste phpmailer ma non riesco a capire perchè non mi va!

    hai suggermienti o pezzi di codice da cui prendere spunto?

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.