Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di inc40
    Registrato dal
    Sep 2004
    Messaggi
    319

    Inviare posta con PHPMailer

    Salve,
    sto cercando di inviare una mail tramite una pagina php...ho letto diverse cose su questo forum, tra le quali è meglio utilizzare PHPMailer invece del comando mail() - con il quale d'altronde riesco a inviare messaggi, ma non mi piace il fatto che nel mittente compare anonymous@localhost.com (si può cambiare?) -

    Dunque ho scaricato PHPMailer_v2.0.0, ho messo i file class.phpmailer.php, class.pop3.php e class.smtp.php - meglio abbondare - in una cartella sul server Aruba, e nella stessa cartella ho messo questo file .php
    Codice PHP:
    <?
    require("class.phpmailer.php");

    $mail = new PHPMailer();

    $mail->From     "xxxxxx@libero.it";
    $mail->FromName "xxxxxx";
    $mail->Host     "smtp.libero.it";
    $mail->Mailer   "smtp";

        
    // HTML body
        
    $body  "Hello <font size=\"4\">" "xxxxxx" "</font>, 

    "
    ;
        
    $body .= "[i]Your[/i] personal photograph to this message.

    "
    ;
        
    $body .= "Sincerely, 
    "
    ;
        
    $body .= "PHPMailer List manager";

        
    // Plain text body (for mail clients that cannot read HTML)
        
    $text_body  "Hello " "xxxxxx" ", \n\n";
        
    $text_body .= "Your personal photograph to this message.\n\n";
        
    $text_body .= "Sincerely, \n";
        
    $text_body .= "PHPMailer List manager";

        
    $mail->Body    $body;
        
    $mail->AltBody $text_body;
        
    $mail->AddAddress("xxxxxx@libero.it""xxxxxx");

        if(!
    $mail->Send())
            echo 
    "There has been a mail error sending to " "xxxxxx@libero.it" "
    "
    ;
            else echo 
    "mail sent";
    ?>
    ma quando lo lancio mi compare "There has been a mail error sending to xxxxxx@libero.it" (ovviamente al posto di xxxxxx c'è un indirizzo email valido).

    Dove sbaglio?

    Grazie
    Gli uomini, non avendo potuto guarire la morte, la miseria, l'ignoranza, hanno risolto, per vivere felici, di non pensarci.

  2. #2
    Utente bannato L'avatar di Braco
    Registrato dal
    Oct 2005
    Messaggi
    1,697
    Questo funziona:

    Codice PHP:
    $nome htmlentities(stripslashes(trim($_POST['nome'])));
    $suoemail $_POST['suoemail'];   
    $citta ucwords(htmlentities(stripslashes(trim($_POST['citta'])))); 
    $ip $_SERVER['REMOTE_ADDR'];
    $messaggio ucfirst(htmlentities(stripslashes(trim($_POST['messaggio'])))); 
    $giorni = array ("Domenica","Lunedi","Martedi","Mercoledi","Giovedi","Venerdi","Sabato");
    $data date("w"time());//scrive il giorno dell'array
    $data1 date("d/m/Y");
    $orario date("H:i");

    $headers1  "MIME-Version: 1.0\r\n";
    $headers1 .= "content-type: text/html; charset=iso-8859-1\r\n";
    $headers1 .= "X-Mailer: PHP\n";
    $headers1 .= "From:$suoemail";

    //E-mail del destinatario (cioè, io) 
    $a "xxx@123.it";  
    //Oggetto dell'e-mail 
    $oggetto "Messaggio del Visitatore";

    //TUTTI I DATI NEL MESSAGGIO con tutti gli item ($nome, $citta, ecc.)
    $messaggio ="<html>
    <head>
    </head>
    <body background=\"http://www.tuosito.it/sfum020.gif\">
    <font face=sans sharif size=4 color=0000ff>[b]MESSAGGIO DEL VISITATORE :[/b]</font>


    <font face=arial size=2 color=000040>Data:</font><font face=arial size=2 color=000080>
    $giorni[$data]$data1</font><font face=arial size=2 color=000040>Ora:</font><font face=arial size=2 color=000080>$orario</font>




    <font face=arial size=2 color=000040>Nome:</font>&nbsp<font face=arial size=2 color=000080>
    $nome</font>


    <font face=arial size=2 color=000040>Città:</font><font face=arial size=2 color=000080>
    $citta</font>


    <font face=arial size=2 color=000040>Email:</font><font face=arial size=2 color=000080><a href=\"mailto:
    $suoemail\">$suoemail</a></font>


    <font face=arial size=2 color=000040>Ip:</font><font face=arial size=2 color=000080>
    $ip</font>




    <font face=arial size=2 color=000040>Messaggio:</font>
    <table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"16\">
    <tr>
    <td><font face=arial size=2 color=000080>
    $messaggio</font></td>
    </tr>
    </table>
    ---------------------------




    </body>
    </html>"
    ;
    //Invio della mail 
    mail ($a,$oggetto,$messaggio,$headers1); 

  3. #3
    Utente di HTML.it L'avatar di Leo15
    Registrato dal
    Sep 2005
    Messaggi
    307
    Aruba mette a disposizione un servizio email, quindi probabilmente sei costretto ad utilizzare quello.
    Tra l'altro su Aruba anche per l'invio tramite smtp devi fare login, quindi prova ad aggiungere:
    Codice PHP:
    $mail->SMTPAuth true;
    $mail->Host "smtp.tuodominio.it"
    $mail->Username "tuamail@tuodominio.com";
    $mail->Password "tuapwd"
    La disumanità del computer sta nel fatto che, una volta programmato e messo in funzione, si comporta in maniera perfettamente onesta.
    Isaac Asimov

  4. #4
    Utente di HTML.it L'avatar di inc40
    Registrato dal
    Sep 2004
    Messaggi
    319
    Risolto...era un problema di smtp
    Adesso però sorge un altro problema...ho modificato leggermente la pagina precedente (b.php), per la precisione arrivo ad essa a partire da una pagina a.php che contiene un form dove immetto Mittente, Destinatario, Oggetto e Messaggio (quest'ultimo è campo textarea) e nella pagina b.php faccio quindi le opportune $_REQUEST, tra cui $messaggio = $_REQUEST['Messaggio']. Il problema è che se nella pagina a.php immetto nel messaggio anche caratteri 'INVIO', nel momento in cui nella pagina b.php faccio
    Codice PHP:
    $mail->Body    $messaggio
    e quindi invio la mail con $mail->Send(), i caratteri 'INVIO' si perdono, nel senso che non sono riportati nel messaggio quando vado a leggere la posta (su libero.it).

    Come posso fare?

    Grazie
    Gli uomini, non avendo potuto guarire la morte, la miseria, l'ignoranza, hanno risolto, per vivere felici, di non pensarci.

  5. #5
    Utente di HTML.it L'avatar di inc40
    Registrato dal
    Sep 2004
    Messaggi
    319
    Originariamente inviato da inc40
    Risolto...era un problema di smtp
    Adesso però sorge un altro problema...ho modificato leggermente la pagina precedente (b.php), per la precisione arrivo ad essa a partire da una pagina a.php che contiene un form dove immetto Mittente, Destinatario, Oggetto e Messaggio (quest'ultimo è campo textarea) e nella pagina b.php faccio quindi le opportune $_REQUEST, tra cui $messaggio = $_REQUEST['Messaggio']. Il problema è che se nella pagina a.php immetto nel messaggio anche caratteri 'INVIO', nel momento in cui nella pagina b.php faccio
    Codice PHP:
    $mail->Body    $messaggio
    e quindi invio la mail con $mail->Send(), i caratteri 'INVIO' si perdono, nel senso che non sono riportati nel messaggio quando vado a leggere la posta (su libero.it).

    Come posso fare?

    Grazie
    Pardon...bastava cercare un po' di più e trovare questa bella e semplice soluzione
    Codice PHP:
    $mail->Body   =   nl2br($messaggio); 
    Gli uomini, non avendo potuto guarire la morte, la miseria, l'ignoranza, hanno risolto, per vivere felici, di non pensarci.

  6. #6

    Problema con Aruba

    Ciao a tutti...

    Scusate ma stò proprio impazzendo...

    Non riesco a farlo funzionare...

    Ho anche io Aruba...

    Fai conto che i dati del mio account siano:
    nome utente: Samu@aruba.it
    password: Chicco
    e il mio dominio sia: chiccodiprova.com

    Ma come devo settare la classe di PHPMAILER??

    Devo settare le proprietà username e password??
    a smtp devo mettere smtp.aruba.it ? e sotto Host cosa metto??

    Ho guardato 100 esempi ma proprio non riesco a farlo funzionare nè con Gmail nè con Aruba...

    Vi prego aiutatemi....

  7. #7
    Utente di HTML.it L'avatar di Leo15
    Registrato dal
    Sep 2005
    Messaggi
    307
    Non hanno importanza il nome utente di aruba e la relativa password. Contano l'utente e la pwd della casella di posta del tuo dominio

    Quindi, crea un account di posta dal pannello di aruba e chiamalo site@tuodominio.com per esempio. Gli assegnerai una pwd, usa quella. Poi usa il codice che ho postato sopra (con le dovute modifiche)

    Ciao
    La disumanità del computer sta nel fatto che, una volta programmato e messo in funzione, si comporta in maniera perfettamente onesta.
    Isaac Asimov

  8. #8
    Ciao,

    non si uppano discussioni cosi vecchie, qualche mese e siamo a quota 2 anni, relative a richieste abbastanza generiche per postare i propri problemi.

    Apri un thread apposito.

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.