Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Configurazione smtp php.ini

    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

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    ...diamo per scontato che l'ip sia davvero raggiungibile - e sulla porta 25 - dal server?

  3. #3
    Originariamente inviato da eiyen
    ...diamo per scontato che l'ip sia davvero raggiungibile - e sulla porta 25 - dal server?
    Si Da Telnet riesco a stabilire il collegamento, è raggiungibile, e sulla porta 25

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    prova anche a visualizzare i dati che vengono letti (anche se li hai inseriti nel ".ini"...) con un phpinfo/ini_get... hai riavviato il motore php dopo la configurazione?

  5. #5
    Originariamente inviato da eiyen
    prova anche a visualizzare i dati che vengono letti (anche se li hai inseriti nel ".ini"...) con un phpinfo/ini_get... hai riavviato il motore php dopo la configurazione?
    Ciao,
    si riavviato tutto dopo ogni modifica al php.ini ovviamente, cmq anche da phpinfo stessa situazione, i dati sono impostati:
    sendmail_from test@mail.wind.it | cr_prod@mail.test.it
    sendmail_path no value | no value
    serialize_precision 100 | 100
    short_open_tag Off | Off
    SMTP IP | IP
    smtp_port 25 25

    Non riesco proprio a capire, sto usando l'all-in-one WAMP per mysql e apache

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    cioè in phpinfo l'IP è giusto? l'smtp NON ha autenticazione?

  7. #7
    Originariamente inviato da eiyen
    cioè in phpinfo l'IP è giusto? l'smtp NON ha autenticazione?
    L'ip è giusto, ho un autorizzazione su ip, ma l'smtp è anonimo

  8. #8

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    attivi anche il log in php.ini e prova a settare il server sia con l'ip che con il name e controlla anche il sendmail_path

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.