Visualizzazione risultati 1 fino 7 di 7

Discussione: Error con PHPmailer

  1. #1
    zyro non è connesso Utente
    Data registrazione
    08-05-2010
    Messaggi
    105

    Predefinito Error con PHPmailer

    Ciao a tutti,

    come da oggetto ho qualche problema con phpmailer. Ho scaricato la classe nella versione 5.0.0, ho creato questo form:

    Codice HTML:
    <form action="inviovoti_ok.php" method="post" enctype="multipart/form-data" name="contatti" id="mail">
            <fieldset>
              <legend>Scrivimi una mail</legend>
              <p>Nome e Cognome<span id="camponome">
                <input type="text" name="nome" id="nome" tabindex="10">
                <span class="textfieldRequiredMsg">Inserisci il tuo Nome e Cognome</span></span></p>
              <p>
                <label for="email">E-mail</label>
                <span id="campoemail">
                <input type="text" name="email" id="email" tabindex="20">
                <span class="textfieldRequiredMsg">Inserisci la tua mail</span><span class="textfieldInvalidFormatMsg">Indirizzo mail non valido.</span></span> </p>
              <p>&nbsp;</p>
              <p>
                <label id="labeltesto" for="testo">Messaggio</label>
              </p>
              <p>            <span id="campotesto">
                <textarea name="testo" id="testo" cols="53" rows="7" tabindex="30"></textarea>
              <span class="textareaRequiredMsg">Volevi scriverci qualcosa?</span></span> </p>
              <p>
                <input type="file" name="sfoglia" id="sfoglia">
              </p>
              <p>
                <input type="submit" name="invia" id="invia" value="Invia" tabindex="40">
                <input type="reset" name="cancella" id="reset" value="Cancella" tabindex="50">
              </p>
            </fieldset>
          </form>
    e ho riportato questo codice php


    Codice PHP:
    <?php

    /*PRELEVAMENTO DATI DA MAIL.HTML*/
    $nome = $_POST["nome"];
    $email = $_POST["email"];
    $testo = $_POST["testo"];
    $sfoglia = $_POST["sfoglia"];


    include_once(
    'class.phpmailer.php');/*INCLUDIAMO IL FILE PHPMAILER CHE CI PERMETTERA' DI FAR FUNZIONARE IL TUTTO*/

    $mail = new PHPMailer();/*INSTANZIAMO LA FUNZIONE PHPMAILER*/

    $mail->From = $email;/*E-MAIL DELL'UTENTE CHE INVIA LA MAIL*/
    $mail->FromName = $nome;/*NOME DI CHI INVIA LA MAIL*/
    $mail->Subject = "Mail di prova 01";/*OGGETTO DELLA MAIL*/
    $mail->Body = $testo;/*CONTENUTO DELLA MAIL*/
    $email->AddAttachment = $sfoglia;/*ALLEGATO DELLA MAIL*/

    $mail->AddAddress("zyrodesign@gmail.com");/*DESTINATARIO*/
    $mail->AddReplyTo($email,"Mail arrivata super correttamente");/*INVIA AL MITTENTE RISPOSTA DI INVIO MAIL*/

    if($mail->Send())
    {
    echo
    'mail inviato correttamente';
    }
    else
    {
    echo
    'Errore: mail non inviato';
    }

    ?>
    Ho provato a fare un test di invio mail, ma stranamente mi esce questo errore

    Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /membri/zyro/nuovosito/mail/class.phpmailer.php on line 56

    Alla riga indicata mi esce questo codice:

    Codice PHP:
    public $Priority = 3;
    Qualcuno ha riscontrato il mio stesso problema o sa come risolverlo?

    Edit: per comodita vi linko anche il file class.phpmailer.php
    Ultima modifica di zyro : 20-08-2013 alle ore 23.22.42

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,064

    Predefinito

    Ma guarda... io ho provato così:

    Codice PHP:
    <?php

    /*PRELEVAMENTO DATI DA MAIL.HTML
    $nome = $_POST["nome"];
    $email = $_POST["email"];
    $testo = $_POST["testo"];
    $sfoglia = $_POST["sfoglia"];
    */
    $nome = 'nome';
    $email = 'email@spam.com';
    $testo = 'testo testo testo';


    include_once(
    'class.phpmailer.php');/*INCLUDIAMO IL FILE PHPMAILER CHE CI PERMETTERA' DI FAR FUNZIONARE IL TUTTO*/

    $mail = new PHPMailer();/*INSTANZIAMO LA FUNZIONE PHPMAILER*/

    $mail->From = $email;/*E-MAIL DELL'UTENTE CHE INVIA LA MAIL*/
    $mail->FromName = $nome;/*NOME DI CHI INVIA LA MAIL*/
    $mail->Subject = "Mail di prova 01";/*OGGETTO DELLA MAIL*/
    $mail->Body = $testo;/*CONTENUTO DELLA MAIL*/
    $email->AddAttachment = $sfoglia;/*ALLEGATO DELLA MAIL*/

    $mail->AddAddress("testtesttest@spam.com");/*DESTINATARIO*/
    $mail->AddReplyTo($email,"Mail arrivata super correttamente");/*INVIA AL MITTENTE RISPOSTA DI INVIO MAIL*/

    if($mail->Send())
    {
    echo
    'mail inviato correttamente';
    }
    else
    {
    echo
    'Errore: mail non inviato';
    }

    ?>
    E non da nessun errore. Dice "mail inviato correttamente". Prova a riscaricare la classe.

    Ciao!

  3. #3
    zyro non è connesso Utente
    Data registrazione
    08-05-2010
    Messaggi
    105

    Predefinito

    Niente, mi compare lo stesso errore.

    Ora che ci faccio caso tra l'altro nella directory segnalata dall'errore in questione c'è questo /membri che non fa parte della directory del mio sito. Immagino sia qualcosa di legato al server di Altervista giusto?

    Comunque non funziona, per caso devo installare qualche libreria sul sito? Con la vecchia mail() inviava correttamente. Ora però ho necessità di far allegare file

  4. #4
    zyro non è connesso Utente
    Data registrazione
    08-05-2010
    Messaggi
    105

    Predefinito

    Ok ho risolto controllando bene la fonte dell'errore. In pratica l'ultima versione del phpmailer non supporta più il PHP4, ho dovuto semplicemente cambiare le impostazioni del server PHP dal 4 al 5 e ora funziona correttamente

  5. #5
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,064

    Predefinito

    Sì, è normale che ci sia "/membri". Verifica che dal pannello di controllo ci sia l'ultima versione di PHP attivata.

    Ciao!

  6. #6
    zyro non è connesso Utente
    Data registrazione
    08-05-2010
    Messaggi
    105

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Sì, è normale che ci sia "/membri". Verifica che dal pannello di controllo ci sia l'ultima versione di PHP attivata.

    Ciao!
    Sì sì, ho verificato. In effetti era proprio lì il problema. Appena ho capito a cosa faceva riferimento la stringa di errore sono subito andato a verificare nel pannello :)

  7. #7
    Guest

    Predefinito

    scusate io uso la stessa classe ma se io aggiungo un allegato non mi spedisce nulla altrimenti si.
    l'allegato si trova sul server (non viene passato da un form)
    vi posto il codice:
    00. require_once percorso/class.phpmailer.php";
    01. $mail = new phpmailer(true);
    02.
    03. $allegato=$path.$file_name;(percorso completo :/membri/miosito/miacartella/file.XXX)
    04.
    05. $mail->AddAddress($to);
    06. $mail->SetFrom(miaemail@email.it, mail@mionome);
    07. $mail->Subject = $subject;
    08. $mail->MsgHTML($body);
    09.
    10. if(file_exists($allegato)){
    11. $mail->AddAttachment($allegato); // attachment
    12. }else {echo 'not found file';die;}
    13. $mail->Send();
    secondo voi dove sbaglio?

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •