Qualcuno sa dirmi cosa vuol dire questo errore?
l'errore fa riferimento alla riga 1269 del file class.phpmailer.php.
Questo errore me lo da se cerco di inviare una mail utilizzando questo form
PHP:
Fatal error: Call to undefined method SMTP::setTimeout()
l'errore fa riferimento alla riga 1269 del file class.phpmailer.php.
PHP:
$this->smtp->setTimeout($this->Timeout);
PHP:
<?php
# http://localhost/test_site/php/test/MAIL/PHPMailer_Test.php
if (isset($_POST['Submitted'])){
// estrae e stampa variabili e valori da $_POST
print '<table width="800" border="0" cellspacing="5" cellpadding="5">';
while(list($chiave, $valore)=each($_POST)){
${$chiave}=trim(strip_tags($valore));
print "<tr><td>".$chiave." : </td><td>".${$chiave}."</td></tr>";
}
if (!GestisciAllegato()) exit;
print "</table>";
require_once 'class.phpmailer.php';
require 'PHPMailerAutoload.php';
// require_once 'Config_MAIL.php'; // servizi SMTP disponibili
// SMTPservice(0); // sceglie il servizio SMTP da usare per invio mail, da Config_MAIL.php
$mail = new PHPMailer();
$mail->SMTPDebug = 4; // attiva log dell'invio, ELIMINARE quando si mette in "produzione"
$mail->Debugoutput = "error_log"; // scrive messaggi di errore nel log di PHP, si può lasciare sempre
// impostazione del servizio
$mail->IsSMTP();
$mail->Host = $eM_Host;
$mail->Port = $eM_Port;
$mail->SMTPAuth = $eM_Auth;
$mail->SMTPSecure = $eM_Secure;
$mail->Username = $eM_username; // mittente
$mail->Password = $eM_password;
$mail->From = $eM_username; // uguale al mittente (alcuni servizi ignorano, altri errore)
$mail->FromName = "Mailer"; // nome che precede indirizzo e-mail mittente
if(!empty($eM_ReplyTo)) $mail->AddReplyTo($eM_ReplyTo, $eM_ReplyToName); // rispondere a ...
// impostazione dei destinatari
$mail->AddAddress($eM_TO1, $eM_TOname1); // destinatario 1
if(!empty($eM_TO2)) $mail->AddAddress($eM_TO2, $eM_TOname2); // destinatario 2
if(!empty($eM_CC1)) $mail->AddCC($eM_CC1, $eM_CCname1); // copia conoscenza
if(!empty($eM_BCC1)) $mail->AddBCC($eM_BCC1, $eM_BCCname1); // copia conoscenza nascosta
// impostazione del messaggio
$mail->WordWrap = 50; // set word wrap
$mail->IsHTML(true); // send as HTML
$mail->Subject = $eM_subject;
$mail->Body = $eM_body;
if(!empty($AltBody)) $mail->AltBody = $eM_AltBody;
// $body = file_get_contents('contents.html'); // testo del messaggio in formato html
// $mail->MsgHTML($body);
if(!empty($Allegato)) $mail->AddAttachment($Allegato); // include l'allegato
// $mail->AddAttachment("/path/to/file.zip");
// $mail->AddAttachment("/path/to/image.jpg", "new.jpg");
// invio della mail
if(!$mail->Send()) print "ERRORE : MESSAGGIO NON INVIATO";
else print "MESSAGGIO INVIATO";
print "<br /><br /><a href=\"PHPMailer_Test.php\">RIPROVA</a>";
}
else{
require_once 'Config_MAIL.php'; // servizi SMTP disponibili
SMTPservice(2); // sceglie il servizio SMTP da provare per invio mail, da Config_MAIL.php
?>
<!DOCTYPE html>
<form action="PHPMailer_Test.php" method="post" enctype="multipart/form-data" name="eM_form" id="eM_form">
<table width="500" border="0" cellspacing="5" cellpadding="5">
<caption> </caption>
<tr>
<td colspan="2"><b>PROVA INVIO MAIL CON ALLEGATO (classe PHPMailer 5.2.4)</b></td>
</tr>
<tr>
<td width="165"><label for="eM_Host">Servizio SMTP :</label></td>
<td width="300"><input type="text" name="eM_Host" id="eM_Host" required value="<?= $eM_Host; ?>" size="50"></td>
</tr>
<tr>
<td width="165"><label for="eM_Port">Porta :</label></td>
<td width="300"><input type="text" name="eM_Port" id="eM_Port" required value="<?= $eM_Port; ?>" size="50"></td>
</tr>
<tr>
<td><label for="eM_Auth">Autenticazione :</label></td>
<td>
<input type='radio' name='eM_Auth' id="eM_Auth" value=false checked /> nessuna
<span style='padding-left: 10px'> </span>
<input type='radio' name='eM_Auth' id="eM_Auth" value=true <?php if($eM_Auth == true) echo 'checked'; ?> /> sicura
</td>
</tr>
<tr>
<td><label for="eM_Secure">Connessione sicura :</label></td>
<td>
<input type='radio' name='eM_Secure' id='eM_Secure' value='' checked /> NO
<span style='padding-left: 10px'> </span>
<input type='radio' name='eM_Secure' id='eM_Secure' value='tls' <?php if($eM_Secure == 'tls') echo 'checked'; ?> /> TLS
<span style='padding-left: 10px'> </span>
<input type='radio' name='eM_Secure' id='eM_Secure' value='ssl' <?php if($eM_Secure == 'ssl') echo 'checked'; ?> /> SSL
</td>
</tr>
<tr>
<td><label for="eM_username">Utente registrato :</label></td>
<td><input type="email" name="eM_username" id="eM_username" required value="<?= $eM_username; ?>" size="50"></td>
</tr>
<tr>
<td><label for="eM_password">Password :</label></td>
<td><input type="text" name="eM_password" id="eM_password" required value="<?= $eM_password; ?>" size="50"></td>
</tr>
<tr>
<td><label for="eM_FROM">e-mail from :</label></td>
<td><input type="email" name="eM_FROM" id="eM_FROM" required value="<?= $eM_username; ?>" size="50"></td>
</tr>
<tr>
<td><label for="eM_TO1">e-mail to :</label></td>
<td><input type="email" name="eM_TO1" id="eM_TO1" required value="<?= $eM_TO1; ?>" size="50"></td>
</tr>
<tr>
<td><label for="eM_subject">Oggetto :</label></td>
<td><input type="text" name="eM_subject" id="eM_subject" required value="oggetto per messaggio di prova" size="50"></td>
</tr>
<tr>
<td><label for="eM_body">Messaggio :</label></td>
<td><input type="text" name="eM_body" id="eM_body" required value="testo del messaggio di prova" size="50"></td>
</tr>
<tr>
<td><label for="Allegato">Allegato :</label></td>
<td><input type="file" name="Allegato" id="Allegato" /></td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
<tr>
<td colspan="2"><input name="submit" type="submit" id="submit" formaction="PHPMailer_Test.php" formenctype="multipart/form-data" formmethod="POST" value="Invia"></td>
</tr>
<tr>
<td colspan="2"><span class="autorizzo">Autorizzo ai sensi del D. Lgs. 30 Giugno 2003 n. 196 il trattamento dei dati personali trasmessi</span></td>
</tr>
</table>
<input type="hidden" name="eM_TOname1" value="">
<input type="hidden" name="eM_TO2" value="">
<input type="hidden" name="eM_TOname2" value="">
<input type="hidden" name="eM_CC1" value="">
<input type="hidden" name="eM_CCname1" value="">
<input type="hidden" name="eM_BCC1" value="">
<input type="hidden" name="eM_BCCname1" value="">
<input type="hidden" name="eM_ReplyTo" value="">
<input type="hidden" name="eM_ReplyToName" value="">
<input type="hidden" name="eM_AltBody" value='This is the body in plain text for non-HTML mail clients'>
<input type="hidden" name="Submitted" value="1" />
</form>
</html>
<?PHP
}
function GestisciAllegato() {
global $Allegato;
$Allegato = "";
if ($_FILES["Allegato"]["error"] == 4)
return true;
else {
if ($_FILES["Allegato"]["error"] > 0) {
print "<font color=red>Upload Return Code: ".$_FILES["Allegato"]["error"]."</font><br />";
return false;
} }
$Allegato_name = $_FILES["Allegato"]["name"];
$Allegato_type = $_FILES["Allegato"]["type"];
$Allegato_size = $_FILES["Allegato"]["size"] / 1024;
$Allegato_temp = $_FILES["Allegato"]["tmp_name"];
$Allegato_path = dirname($_FILES["Allegato"]["tmp_name"]);
$Allegato = $Allegato_path."/".$Allegato_name;
if ( ($Allegato_size > 2000000)
|| ( ($Allegato_type <> "image/gif")
&& ($Allegato_type <> "image/jpeg")
&& ($Allegato_type <> "image/pjpeg")
&& ($Allegato_type <> "application/zip")
&& ($Allegato_type <> "application/x-zip-compressed")
&& ($Allegato_type <> "application/x-shockwave-flash")
) ) {
print "<font color=red>Dimensione o Tipo di file non valido</font><br />";
// return false;
}
print "<tr><td>Upload : </td><td>".$Allegato_name."</td></tr>";
print "<tr><td>Type : </td><td>".$Allegato_type."</td></tr>";
print "<tr><td>Size (kB) : </td><td>".$Allegato_size."</td></tr>";
print "<tr><td>Stored in : </td><td>".$Allegato_temp."</td></tr>";
print "<tr><td>folder : </td><td>".$Allegato_path."</td></tr>";
print "<tr><td>new file : </td><td>".$Allegato."</td></tr>";
if (file_exists($Allegato)) {
print "<font color=red>".$Allegato." esiste sul server<br />";
print "lo cancello per sostituirlo con il nuovo file trasferito</font><br />";
unlink($Allegato);
}
// move_uploaded_file($Allegato_temp, $UploadPath.$Allegato_name); <<-- non gestito
rename ($Allegato_temp, $Allegato);
if (file_exists($Allegato)) {
print "<font color=green>".$Allegato." Upload eseguito con successo</font><br />";
}
return true;
}
?>