Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Mail( ) non funzionante

    Ciao a tutti,
    ho un problemino con la funzione mail() di php.

    mettiamo che il mio dominio sia www.miodominio.it.
    Se provo a inviare una mail tramite la funzione a support@miodonimio.it oppure a webmaster@miodominio.it il tutto funziona regolarmente...

    Il problema sorge quando devo inviare una mail a qualcun altro... premetto che ho provato con tanti indirizzi (so che alcuni hanno problemi con gli hotmail).

    In pratica, la funzione viene eseguita senza errori ma l'email non viene inviata...ho già contattato l'host ma ancora non ha saputo darmi una risposta...qualcuno ha qualche dritta? Grazie

  2. #2
    Ma nessuno degli altri indirizzi riceve l'email? Cioè, l'email viene inviata solo ai due indirizzi e basta?
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  3. #3
    l'email viene inviata solo agli indirizzi che creo io sul mio host...quindi tutte quelle @miodominio.it.

    A qualsiasi altro indirizzo niente...

  4. #4
    Hai impostato correttamente i parametri del server mail?
    Chiama l'hoster e domandaglielo. Non so come altro spiegare questa cosa!
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  5. #5
    ho visto io....i parametri sembrano ok...c'è modo di richiamare la funzione in un altro modo?

  6. #6
    Utente bannato
    Registrato dal
    Mar 2005
    Messaggi
    228
    Originariamente inviato da giaomnitel1
    ho visto io....i parametri sembrano ok...c'è modo di richiamare la funzione in un altro modo?
    ma sei in locale a fare da server?? o usa un servizio di hosting con mail forward??
    perche in locale anke io avevo avuto problemi con alcuni server smtp gratis
    ma poi da hosting mi è sempre funzionato tutto

  7. #7
    Nono..non sono in locale...è un host acquistato.

  8. #8
    E allora come fai a vedere tu!!! Prova a vedere con ini_set di impostare i prametri giusti allora. Secondo me, comunque, devi contattare l'hoster: tu non puoi vedere i parametri.
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  9. #9
    i parametri impostati riesco a vederli dal cpanel.
    La versione di PHP installata sul server è la 4.3.11.
    I paremetri che leggo sono:

    SMTP localhost
    smtp_port 25
    sendmail _from no value
    sendmail_path /usr/sbin/sendmail -t -i

    Sono giusti secondo voi?

    L'hoster m'ha detto che i parametri sono settati correttamente...ma è cmq assurdo! Non riesco a venirne a capo...c'è modo di richiamare direttamente il sendmail?

  10. #10

    Tecnica avanzata: socket

    Esiste un altro sistema che permette di inviare la posta attraverso le pagine PHP anche senza avere un server di posta installato localmente. È possibile stabilire una connessione (stile TELNET) dalla nostra applicazione alla porta del mail server remoto, sfruttandone così le varie funzionalità. Ovviamente la spedizione della posta con questa soluzione è solo un esempio di connessione attraverso i socket, i quali potrebbere essere sfruttati per qualsiasi altro scopo.

    Prova questo:

    -----------------------

    <?php

    $handle = smtp_connect($smtp_server, 25, 30, 1, 1, 1);
    echo smtp_command($handle, "EHLO $domain\r\n", 1, 1);
    echo smtp_command($handle, "MAIL FROM:<$from_mail>\r\n", 1, 1);
    echo smtp_command($handle, "RCPT TO:<$to_mail>\r\n", 1, 1);
    echo smtp_command($handle, "DATA\r\n", 1, 1);
    echo smtp_command($handle, "$message\r\n.\r\n", 1, 1);
    // don't do it like this - it will hang up
    // echo smtp_command($handle, "$message", 1, 1);
    // echo smtp_command($handle, "\r\n.\r\n", 1, 1);
    echo smtp_command($handle, "QUIT\r\n", 1, 1);
    smtp_close($handle);


    function smtp_connect($host, $port, $timeout=30, $echo_command=False, $echo_response=False, $nl2br=False)
    {
    $errno = 0;
    $errstr = 0;
    if($echo_command)
    {
    if($nl2br) { echo nl2br("CONNECTING TO $host\r\n"); }
    else { echo "CONNECTING TO $host\r\n"; }
    }
    $handle = fsockopen($host, $port, $errno, $errstr, $timeout);
    if(!$handle)
    {
    if($echo_command)
    {
    if($nl2br) { echo nl2br("CONNECTION FAILED\r\n"); }
    else { echo "CONNECTION FAILED\r\n"; }
    }
    return False;
    }
    if($echo_command)
    {
    if($nl2br) { echo nl2br("SUCCESS\r\n"); }
    else { echo "SUCCESS\r\n"; }
    }
    $response = fgets($handle,1);
    $bytes_left = socket_get_status($handle);
    if ($bytes_left > 0) { $response .= fread($handle, $bytes_left["unread_bytes"]); }
    if($echo_response)
    {
    if($nl2br) { echo nl2br($response); }
    else { echo $response; }
    }
    return $handle;
    }

    function smtp_command($handle, $command, $echo_command=False, $nl2br=False)
    {
    if($echo_command)
    {
    if($nl2br) { echo nl2br($command); }
    else { echo $command; }
    }
    fputs($handle, $command);
    $response = fgets($handle,1);
    $bytes_left = socket_get_status($handle);
    if ($bytes_left > 0) { $response .= fread($handle, $bytes_left["unread_bytes"]); }
    if($nl2br) { return nl2br($response); }
    else { return $response; }
    }

    function smtp_close($handle)
    {
    fclose($handle);
    }
    ?>
    ambè!

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.