Zambros! ho risolto il problema Fatal error: Call to undefined method PHPMailer::SetFrom() inD:\Inetpub\webs\esseaserviceit\mailManager.php on line **7, ****aggiornando la versione di PHPMailer alla 5.1 che ho trovato a questo link sourceforge.net/projects/phpmailer/files/phpmailer for php5_6/PHPMailer v5.1/. Purtroppo non ho risolto del tutto il mio problema perchè adesso mi da questo errore SMTP Error: Could not connect to SMTP host. SMTP Error: Could not connect to SMTP host. **Puoi aiutarmi? Io vorrei che mi arrivino le informazioni compilate nel form, alla mia posta su gmail.
torna9125
@torna9125
Post creati da torna9125
-
RE: Form contatti formattato alla ricezione
-
RE: Form contatti formattato alla ricezione
Buongiorno,
Grazie per il consiglio. Il mio file class.phpmailer.php non contiene il metodo SetFrom() ma il metodo *var $From,*dove ho messo il mio indirizzo. E' la solita cosa?
Mi sono accorto anche che la variabile Host,che dovrebbe contenere l'host smtp è scritta così: *var $Host = 'localhost'; *Io non so cosa metterci avendo un account gmail.Questa è la parte di configurazione SMTP nel file class.phpmailer.php:
*
[PHP]///////////////////////////////////////////////// // PROPERTIES FOR SMTP /////////////////////////////////////////////////
/* * Sets the SMTP hosts. All hosts must be separated by a * semicolon. You can also specify a different port * for each host by using this format: [hostname:port] * (e.g. "smtp1.example.com:25;smtp2.example.com"). * Hosts will be tried in order. * @var string / var $Host = 'localhost';
/* * Sets the default SMTP server port. * @var int / var $Port = 25;
/* * Sets the SMTP HELO of the message (Default is $Hostname). * @var string / var $Helo = '';
/* * Sets connection prefix. * Options are "", "ssl" or "tls" * @var string / var $SMTPSecure = "";
/* * Sets SMTP authentication. Utilizes the Username and Password variables. * @var bool / var $SMTPAuth = false;
/* * Sets SMTP username. * @var string / var $Username = '';
/* * Sets SMTP password. * @var string / var $Password = '';
/* * Sets the SMTP server timeout in seconds. This function will not * work with the win32 version. * @var int / var $Timeout = 10;
/* * Sets SMTP class debugging on or off. * @var bool / var $SMTPDebug = false;
/* * Prevents the SMTP connection from being closed after each mail * sending. If this is set to true then to close the connection * requires an explicit call to SmtpClose(). * @var bool / var $SMTPKeepAlive = false;
/* * Provides the ability to have the TO field process individual * emails, instead of sending to entire TO addresses * @var bool */ var $SingleTo = false;[/PHP] -
RE: Form contatti formattato alla ricezione
Adesso che ho cancellato,sia nel file.html che nel file.php,il codice che riguardava l'inserimento di un file, mi da il seguente errore: **Fatal error: Call to undefined method PHPMailer::SetFrom() in **D:\Inetpub\webs\esseaserviceit\mailManager.php on line **7
******Ti posto anche il codice del file mailManager.php attuale:
[PHP]<?php
require_once('phpmailer/class.phpmailer.php');//invio mail $mail = new PHPMailer(); $mail->SetFrom($_POST['email'],$_POST['nome']."".$_POST['cognome']); //mittente $mail->AddAddress("[email protected]", "Marco Tornani"); //destinatario $mail->Subject = "Invio mail da form"; //oggetto $mail->Body = $_POST['messaggio']; //corpo del messaggio $mail->AddAttachment($_FILES['allegato']['name']); //allegato appena caricato sul server if(!$mail->Send()) { echo "Messaggio non inviato! <p>"; echo "Errore: " . $mail->ErrorInfo; exit; } echo "Message inviato con successo";
?>
[/PHP] -
RE: Form contatti formattato alla ricezione
Si,ho bisogno anche che carichi un immagine. Sto provando il tutto su un server windows... Quindi devo dare i permessi alla cartella upload. Provo un pò e poi ti faccio sapere. **Grazie **
-
RE: Form contatti formattato alla ricezione
Ho copiato il codice che mi hai postato e questi sono i file che ho creato:
**index.html
**
[HTML]<html> <head> <title> Prova php mailer </php></title> </head> <body> <form method="POST" action="mailManager.php" enctype="multipart/form-data"> <table> <tr> <td>Nome</td> <td><input class="text" type="text" name="nome" size="20"></td> </tr> <tr> <td>Cognome</td> <td><input class="text" type="text" name="cognome" size="20"></td> </tr> <tr> <td>Email</td> <td><input class="text" type="text" name="email" size="20"></td> </tr> <tr> <td>Messaggio</td> <td><textarea rows="2" name="messaggio" cols="20"></textarea></td> </tr> <tr> <td>File</td> <td><input type="file" name="allegato"></td> </tr> <tr> <td> </td> <td><input type="submit" value="Invia" name="sub"><input type="reset" value="Annulla" name="res"></td> </tr> </table> </form> </body></html>[/HTML]**mailerManager.php
**[PHP]<?php require_once('phpmailer/class.phpmailer.php'); //upload dell'allegato if (!move_uploaded_file($_FILES['allegato']['tmp_name'], $_FILES['allegato']['name'])) { echo "Errore nel caricamento dell'immagine"; } else{ //invio mail $mail = new PHPMailer(); $mail->SetFrom($_POST['email'],$_POST['nome']."".$_POST['cognome']); //mittente $mail->AddAddress("[email protected]", "Marco Tornani"); //destinatario $mail->Subject = "Invio mail da form"; //oggetto $mail->Body = $_POST['messaggio']; //corpo del messaggio $mail->AddAttachment($_FILES['allegato']['name']); //allegato appena caricato sul server
if(!$mail->Send()) { echo "Messaggio non inviato! <p>"; echo "Errore: " . $mail->ErrorInfo; exit; } echo "Message inviato con successo"; }
?>[/PHP]Ho caricato tutto sul mio server. Dopo aver compilato tutti i campi ed aver caricato l'immagine *wedding_head_table_4.jpg, *al momento che premo invio mi compare questo errore:
Warning: move_uploaded_file(wedding_head_table_4.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied inD:\Inetpub\webs\esseaserviceit\mailManager.php on line **4
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\PHP\upload\php2348.tmp' to 'wedding_head_table_4.jpg' in**D:\Inetpub\webs\esseaserviceit\mailManager.php on line **4
Errore nel caricamento dell'immagine**NE SAI QUALCOSA???
**
-
RE: Form contatti formattato alla ricezione
Ok grazie. Sto seguendo il tuo consiglio ed ho scaricato PHPMailer Version 2.0 dal sito sourceforge.net/projects/phpmailer/files/phpmailer for php4/v2.0.0/.
Successivamente ho trovato una guida su come utilizzare PHPMailer: mrwebmaster.it/php/articoli/inviare-email-classe-phpmailer_631.html
Alla Pagina 3 della guida,con il titolo "Inviare email in formato HTML con PHPMailer", suggerisce questo codice:
<?require "phpmailer/class.phpmailer.php";$messaggio = new PHPmailer();$messaggio->IsSMTP();//settiamo su true il metodo che indica alla classe //il formato HTML$messaggio->IsHTML(true);$messaggio->Host='Host SMTP';//intestazioni e corpo dell'email$messaggio->From='[email protected]';$messaggio->AddAddress('[email protected]');$messaggio->AddReplyTo('[email protected]'); $messaggio->Subject='Prova formato HTML';//inseriamo i tag HTML e i CSS per formattare il messaggio$messaggio->Body = '<html>
<body>
<head>
<style>';$messaggio->Body .= '.up{background-color:#FF0000;color:#000000;font-size:12px}';$messaggio->Body .= '.down{color:#FF0000;text-align:left;font-size:15px}';$messaggio->Body .= '</style></head>';$messaggio->Body .= '<center><table><tr><td class="up">Ciao!!</td></tr>';$messaggio->Body .= '<tr><td class="down">ciao!!!</td></tr></table></center>';$messaggio->Body .= '</body></html>';//parte relativa all'invioif(!$messaggio->Send()){ echo $messaggio->ErrorInfo; }else{ echo 'Email inviata correttamente!';}$messaggio->SmtpClose();unset($messaggio);?>Adesso,quest'ultimo, deve essere scritto nella mia pagina index.html, dove metterò i text box opportuni per l'utilizzo del form contatti, oppure deve essere inserito in un file di configurazione di PHPMailer?
-
Form contatti formattato alla ricezione
Salve a tutti,
Non so precisamente se questa è la categoria giusta per iniziare questa discussione ma adesso vi spiego il mio problema, così se ci fosse bisogno la sposterò immediatamente.
Avrei bisogno di creare un form contatti su un sito web, dove è possibile che il visitatore possa introdurre il suo Nome,Cognome,Indirizzo,Data di nascita e tante altre informazioni.
Il mio problema giunge quando il proprietario del sito riceve la mail, perché dovrebbe visualizzare tutte le info. non sotto forma di lista ma formattate come in una lettera.Grazie per l'attenzione.