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

    Carattere separatore parametri funzione

    Supponiamo di avere una funzione, ad esempio mail(). I parametri sono separati sa una virgola. Esempio:

    mail ($to,$subject,$message,$headers);

    La variabile $to contiente i destinatari secondo questa sintassi:

    User1 <pippo@pluto.it>, User2 <pippa@pluta.it>, ecc.

    Ora cosa succede se User1, ad esempio, e' una nome in cui e' contenuto una virgola? Ad esempio supponiamo che sia

    U,s,e,r,1

    Succede che la funzione con i parametri sarebbe cosi':

    mail ("U,s,e,r,1 <pippo@pluto.it>, User2 <pippa@pluta.it>",$subject,$message,$headers);

    Ora il compilatore non riesce a comprendere che U,s,e,r,1 e' il nome relativo alla mail <pippo@pluto.it>, ma lui considera solo questi due:

    1) 1 <pippo@pluto.it> (ok qui manda la mail, ma nome errato e mail giusta)
    2) User2 <pippa@pluta.it> (ok qui manda la mail, nome e mail corretti)

    Cosi' ignora parte del primo nome cioe': "U,s,e,r,"

    Anzi, a dire il vero la funzione mail() tenta di mandare le mail a:

    U@nomeserver-dove-gira-la-pagina.ext
    s@nomeserver-dove-gira-la-pagina.ext
    e@nomeserver-dove-gira-la-pagina.ext
    r@nomeserver-dove-gira-la-pagina.ext

    Se il nome contiene purtroppo una virgola, che soluzione posso adottare?
    WiWa le dottoresse di 40 ani.
    "Il potere delle donne è solo dovuto all'idiozia di molti uomini ... se non sbavassero come cani alla prima che gliela fa intravedere, le cose andrebbero diversamente."
    (alexmaz © - rivisitato by xxxfiles)

  2. #2
    Codice PHP:
    $to '"U,s,e,r,1" <pippo@pluto.it>, User2 <pippa@pluta.it>'

  3. #3
    Originariamente inviato da filippo.toso
    Codice PHP:
    $to '"U,s,e,r,1" <pippo@pluto.it>, User2 <pippa@pluta.it>'
    Grazie, ma non va. A chi fosse interessato pu' provare questo codice, basta creare una pagina php con questo codice e verificare:

    Codice PHP:
    <?php
    $to 
    '"U,s,e,r,1" <pippo@pluto.it>, User2 <pippa@pluta.it>';
    $subject "Oggetto";
    $message "Messaggio";
    $headers "";
    $inviata mail ($to,$subject,$message,$headers);
    if (
    $inviata) {
          echo 
    "Ok";  
    } else {
          echo 
    "Errore";  
    };  
    ?>
    WiWa le dottoresse di 40 ani.
    "Il potere delle donne è solo dovuto all'idiozia di molti uomini ... se non sbavassero come cani alla prima che gliela fa intravedere, le cose andrebbero diversamente."
    (alexmaz © - rivisitato by xxxfiles)

  4. #4

  5. #5
    Provato, ma ho stesso errore. Infatti analizziamo il codice dell'esempio:

    Codice PHP:

    <?php
    // multiple recipients
    $to  'aidan@example.com' ', '// note the comma
    $to .= 'wez@example.com';

    // subject
    $subject 'Birthday Reminders for August';

    // message
    $message '
    <html>
    <head>
      <title>Birthday Reminders for August</title>
    </head>
    <body>
      

    Here are the birthdays upcoming in August!</p>
      <table>
        <tr>
          <th>Person</th><th>Day</th><th>Month</th><th>Year</th>
        </tr>
        <tr>
          <td>Joe</td><td>3rd</td><td>August</td><td>1970</td>
        </tr>
        <tr>
          <td>Sally</td><td>17th</td><td>August</td><td>1973</td>
        </tr>
      </table>
    </body>
    </html>
    '
    ;

    // To send HTML mail, the Content-type header must be set
    $headers  'MIME-Version: 1.0' "\r\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' "\r\n";

    // Additional headers
    /////////analizzare questa riga successiva
    $headers .= 'To: U,s,e,r,1 <mary@example.com>, Kelly <kelly@example.com>' "\r\n";
    /////////analizzare questa riga precedente
    $headers .= 'From: Birthday Reminder <birthday@example.com>' "\r\n";
    $headers .= 'Cc: [email]birthdayarchive@example.com[/email]' "\r\n";
    $headers .= 'Bcc: [email]birthdaycheck@example.com[/email]' "\r\n";

    // Mail it
    mail($to$subject$message$headers);
    ?>
    Qui, in questa riga,

    /////////analizzare questa riga successiva
    $headers .= 'To: U,s,e,r,1 <mary@example.com>, Kelly <kelly@example.com>' . "\r\n";
    /////////analizzare questa riga precedente


    nuovamente il compilatore non distingue bene gli "User".
    WiWa le dottoresse di 40 ani.
    "Il potere delle donne è solo dovuto all'idiozia di molti uomini ... se non sbavassero come cani alla prima che gliela fa intravedere, le cose andrebbero diversamente."
    (alexmaz © - rivisitato by xxxfiles)

  6. #6
    Originariamente inviato da xxxfiles
    nuovamente il compilatore non distingue bene gli "User".
    1. Parlare di compilatore è sbagliato. NON è il PHP a non distinguere l'utente, è il server SMTP che non comprende un'email formattata scorrettamente.

    2. Per quale motivo hai provato un codice CHE NON SEGUE il suggerimento dato in prevedenza?

  7. #7
    1) diciamo che da qui non sappiamo chi sbaglia, ossia se e' php che formatta i destinatari in modo scorretto, oppure e' il server SMTP che non comprendere indirizzi formattati in modo corretto.

    2) scusa ma non ho capito. Il tuo suggerimento era di rifarmi all'esempio 4 della pagina http://www.php.net/manual/en/function.mail.php ?
    WiWa le dottoresse di 40 ani.
    "Il potere delle donne è solo dovuto all'idiozia di molti uomini ... se non sbavassero come cani alla prima che gliela fa intravedere, le cose andrebbero diversamente."
    (alexmaz © - rivisitato by xxxfiles)

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.