Salve a tutti,
ho un problema con la configurazione del file php.ini alle voci:
SMTP = IP MailServer interna(diversa da localhost)
; http://php.net/smtp-port
smtp_port = 25
; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = email@mail.mio.it
Quando compilo il form d'invio mail ho l'errore:
Warning: mail() [function.mail]: Failed to connect to mailserver at "IP.IP.IP.IP" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\wamp\www\dll\sendphoto.php on line 57
File sendphoto.php
codice:
<?php include('../dll/lock.php');
// Recupero il valore dei campi del form
$destinatario = "intestatarioxxx@mail.serv.it";
$oggetto = "Cambio Foto per utente: $login_session";
// Valorizzo le variabili relative all'allegato
$allegato = $_FILES['allegato']['tmp_name'];
$allegato_type = $_FILES['allegato']['type'];
$allegato_name = $_FILES['allegato']['name'];
// Creo 2 variabili che riempirò più avanti...
$headers = "webmaster@mail.serv.it";
$msg = "";
// Verifico se il file è stato caricato correttamente via HTTP
// In caso affermativo proseguo nel lavoro...
if (is_uploaded_file($allegato))
{
// Apro e leggo il file allegato
$file = fopen($allegato,'rb');
$data = fread($file, filesize($allegato));
fclose($file);
// Adatto il file al formato MIME base64 usando base64_encode
$data = chunk_split(base64_encode($data));
// Genero il "separatore"
// Serve per dividere, appunto, le varie parti del messaggio.
// Nel nostro caso separerà la parte testuale dall'allegato
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
// Aggiungo le intestazioni necessarie per l'allegato
$headers .= "\nMIME-Version: 1.0\n";
$headers .= "Content-Type: multipart/mixed;\n";
$headers .= " boundary=\"{$mime_boundary}\"";
// Definisco il tipo di messaggio (MIME/multi-part)
$msg .= "This is a multi-part message in MIME format.\n\n";
// Aggiungo l'allegato al messaggio
$msg .= "Content-Disposition: attachment;\n";
$msg .= " filename=\"{$allegato_name}\"\n";
$msg .= "Content-Transfer-Encoding: base64\n\n";
$msg .= $data . "\n\n";
// chiudo con il separatore
$msg .= "--{$mime_boundary}--\n";
}
else
{
echo "<p class='testo'>e-mail vuota</p>";
}
// Invio la mail
if (mail($destinatario, $oggetto, $msg, $headers))
{
echo "<p class='testo'>Mail inviata con successo!</p>";
}else{
echo "<p class='testo'Errore!</p>";
}
?>
Qualcuno sa dirmi dove sto sbagliando perfavore? è la prima volta che configuro il php.ini per il sendmail diverso da localhost, ma per esigenze diverse, non posso configurarlo in locale stavolta.
Ringrazio anticipatamente