Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    problema con funzione mail()

    Salve,
    ho un'applicazione web che non manda email.
    Premesso che sul server che utilizzo, un CMS manda tranquillamente mail,
    ogni qualvolta un utente si registra, in più tramite riga di comando mando mail sia
    ad utenti del sistema sia verso account esterni, vedi tin.it o hotmail.
    Nel server gira debian 5.0 con php 5.3 apache 2.2.9 , postfix 2.5.5. ed altro.
    Nei vari log non viene scritto niente riguardante il tentativo di php di inviare la mail.
    Essendo all'asciutto di php, non vorrei sbagliare il punto di inserimento delle righe
    di codice necessarie ad inviare le mail.
    Al momento la piccola applicazione che sto preparando è così composta:
    prima pagina in html con form e controlli vari javascript sui campi d'immissione,
    con il bottone passo
    seconda pagina dove in php raccolgo le info del form dalle variabili globali POST,
    faccio la query d'inserimento nel db (pgsql) e vorrei che a questo punto fosse mandata una mail
    di avvertimento all'amministratore che un nuovo record è stato inserito, successivamente vorrei inserire nella mail il contenuto del form. L'applicazione al momento funziona, ma non mi manda alcuna mail.

    Qualcuno sa darmi una dritta?

    F.

  2. #2
    E' praticamente impossibile aiutarti senza sapere in che modo cerchi di inviare la mail, ovvero senza vedere il codice che utilizzi per l'invio.
    Full Stack Developer presso Advice Lab
    Bonus Bitcoin
    Moon Bitcoin

  3. #3
    certo scusate:

    <?php

    $destinatario ='mioindirizzo@hotmail.com';
    $oggetto ='Invio Scheda n°';
    $info='questa è una prova';
    mail ($destinatario, $oggetto, $info);
    if(@mail($destinatario, $oggetto, $info)) { // SE L'INOLTRO E' ANDATO A BUON FINE...
    echo 'La mail è stata inoltrata con successo.';
    } else {// ALTRIMENTI...
    echo 'Si sono verificati dei problemi nell\'invio della mail.';
    }
    ?>

    F.

  4. #4
    Ciao,
    il quarto parametro della funzione mail() è opzionale solo teoricamente... in pratica devi sempre mettere l'header con il "From". Non puoi inviare email senza mittente:

    Codice PHP:
    <?php

    $destinatario 
    ='mioindirizzo@hotmail.com';
    $oggetto ='Invio Scheda n°';
    $info='questa è una prova';
    $headers='From: [email]mail@mittente.it[/email]';

    mail ($destinatario$oggetto$info,$headers);

    if(@
    mail($destinatario$oggetto$info,$headers)) { // SE L'INOLTRO E' ANDATO A BUON FINE...
    echo 'La mail è stata inoltrata con successo.';
    } else {
    // ALTRIMENTI...
    echo 'Si sono verificati dei problemi nell\'invio della mail.';
    }
    ?>
    Tra l'altro usi la funzione mail 2 volte.. quindi invierai due volte la mail.

    Alessandro
    Full Stack Developer presso Advice Lab
    Bonus Bitcoin
    Moon Bitcoin

  5. #5
    Ciao,
    ho modificato lo script come da te suggerito,
    e commentato uno dei due righi con la funzione mail(),
    ma purtroppo ancora niente...la mail non arriva...
    anche nei logs:
    mail.err
    mail.log
    mail.info
    mail.warn
    non viene scritto nulla...
    quindi immagino possa trattarsi di un problema legato alla config di php...no? o roba simile...
    oppure ho messo il codice nel punto sbagliato tra le due pagine descritte prima..

    F.

  6. #6
    Ciao,
    secondo me manca anche il parametro che specifica il tipo della mail che invii
    e poi ci sono alcuni server che necessitano anche del quinto parametro, che sarebbe il Return path,

    prova cosi'

    <?php

    $tipomail="MIME-Version:1.0\nContent-type: text/html; charset=iso-8859-1"; // tipo mail
    $destinatario ='mioindirizzo@hotmail.com';
    $oggetto ='Invio Scheda n°';
    $info='questa è una prova';
    $headers='From: tuonome<mail@mittente.it>\r\n$tipomail'; // Intestazioni
    $mittente= "Return-Path: <mail@mittente.it>\r\n"; // Return-path

    if ($info) {
    mail ($destinatario, $oggetto, $info, $headers, $mittente);
    echo 'La mail è stata inoltrata con successo.';
    } else {// ALTRIMENTI...
    echo 'Si sono verificati dei problemi nell'invio della mail.';
    }
    ?>

  7. #7

    [risolto] problema con funzione mail()

    Ho risolto,
    il problema era di una banalità disarmante e vi prego di scusarmi!
    Semplicemente mi mancava il pacchetto libphp-phpmailer,
    avevo solo i pacchetti base di php5...

    Grazie cmq.!

    F.

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.