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

    Form info non funzionante con Aruba

    Buonasera.

    Ho appena completato un sito per un cliente il quale ha provveduto autonomamente a registrare il proprio sito su Aruba. Preciso subito questo particolare dal momento che non mi sono mai rivolto prima a quest'azienda e questo spiega perché il codice che riporterò di seguito non mi ha mai dato problemi in passato. Potrebbe quindi trattarsi di una caratteristica di Aruba che ignoro.

    In sostanza, nel sito è presente un tradizionale modulo per la richiesta informazioni.
    Il modulo, una volta inviato, fa partire due email, una per l'utente richiedente l'informazione ed una per il proprietario del sito.
    Il proprietario del sito, ovvero il cliente, dispone di una email su Libero. In fase di test avevo utilizzato il mio accout Gmail e non avevo riscontrato alcun problema, ma adesso che ho configurato il modulo con l'email del cliente ci siamo accorti (bella figura!) che a lui non arriva alcuna notifica.
    A questo punto ho eseguito una serie di test con le email disponibili ed ho verificato che con Gmail e Alice le email vengono inviate regolarmente mentre con Libero e quella aziendale, che si trova su TantraHost, non arriva un bel niente.
    Tutto questo vale ovviamente sia per l'email all'utente che quella al titolare.

    Il fatto che con Gmail e Alice tutto funzioni perfettamente dovrebbe fugare ogni dubbio sulla correttezza del codice impiegato, ma il fatto che non funzioni con Libero e con altri provider (es. TantraHost) rimane per me un mistero.
    Per sicurezza riporto di seguito il codice utilizzato:

    Codice PHP:
    $giorno date("d",time());
    $mese date("m",time());
    $anno date("Y",time());
    $ora date('G:i:s'time());
    $nome $_POST["nome"];
    $localita $_POST["localita"];
    $telefono $_POST["telefono"];
    $mail $_POST["email"];
    $conferma_mail $_POST["conferma_email"];
    $messaggio $_POST["messaggio"];
    $recaptcha_response_field $_POST["recaptcha_response_field"];
    $to "mia.email@gmail.com";
    $toGuest $mail;
    $fromAdm  "MIME-Version: 1.0\r\n";
    $fromAdm .= "Content-type: text/plain; charset=utf-8\r\n";
    $fromAdm .= "From:$nome<$mail>\r\n";
    $fromGuest  "MIME-Version: 1.0\r\n";
    $fromGuest .= "Content-type: text/plain; charset=utf-8\r\n";
    $fromGuest .= "From:Nome Azienda <$to>\r\n";

    mail("$to","Richiesta informazioni da sito","In data $giorno $mese $anno, alle ore $ora sono stati inviati i seguenti dati dal sito:\n\nNome: $nome\nCittà: $localita\nTelefono: $telefono\nE-mail: $mail\n\nMessaggio: $messaggio\n\nL'utente acconsente al trattamento dei dati secondo quanto disposto dal Decreto Legislativo 196/2003 e successive modifiche.","$fromAdm"); 
    mail("$toGuest","Conferma invio richiesta informazioni da sito","Gentile visitatore,\n\n in data $giorno $mese $anno, alle ore $ora è stata inviata una richiesta informazioni dal sito.","$fromGuest");
    header("Location:index.php?page=conferma&mittente=$nome&mittenteMail=$mail");
    exit; 
    Ovviamente non ho riportato, per semplificare, tutto il codice relativo al recaptcha ed alla verifica dei campi del modulo.
    Secondo voi cosa potrebbe essere?

    Grazie
    <-- Fare. O non fare. Non c'è provare. -->

    www.yodastudio.com
    segui YODA Studio su facebook

  2. #2
    La risposta più semplice che mi viene in mente è che Libero e l'altro provider abbiano dei filtri.
    Probabilmente, ma è solo un'ipotesi, il server che spedisce le mail non ha un FQDN valido e i server di posta di Libero e dell'altro rifiutano la mail. Oppure il server Aruba (meglio, il dominio del Cliente) non ha un record MX valido. Ancora, potrebbe essere questione di relay...

    Il server Aruba su cui è ospitato il sito del Cliente è un VPS, un dedicato o uno shared?

  3. #3
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    u aruba hai server win o linux ?

    Occhio ai "\r\n" !!!!

    Inoltre ti consiglio di utilizzare un server di posta dove autenticarti a cui collegarti via smtp cosi' sei sicuro che partono.

    CMq libero e' abb fiscale sulle email anche se non ho mai avuto prob a spedire anche su libero.
    Fai attenzione al "from e al return path" che contengano il nome corretto del domino da cui artono le mails.. (qualche filtro antispam potrebbe bloccarti) .

  4. #4
    Allora, il server dove si trova il sito è sicuramente shared e credo proprio il sistema sia win, anche se per conferma adesso lo chiedo al cliente.
    Per il resto delle cose che avete scritto sono più confuso che persuaso. Cosa dovrei fare?

    Grazie.
    <-- Fare. O non fare. Non c'è provare. -->

    www.yodastudio.com
    segui YODA Studio su facebook

  5. #5
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    step 1 :

    - lancia phpinfo() ; e giurda le impostazione del server quindi sistema operativo e versioni.
    - testa gli headers della email.
    - imposta correttamente i parametri from, reply to, e return path.

    se va male -> utilizza una libreria di mailing com phpmailer o mimemail5.

    Probabilmente la mail viene vista come spam a causa di qualche carattere o header malformattato.

    EDIT: Fai attenzione di rispettare lo standard RCF non puoi metteere nomi con caratteri speciali nelle intestazioni a meno di non ricodificarli com specificato in tale standard.

  6. #6
    Andiamo con ordine:
    la versione di PHP è 5.2.12 ed il server è Windows NT WEBS215 5.2 build 3790.
    Adesso devo vedere di capire come fare il resto.
    <-- Fare. O non fare. Non c'è provare. -->

    www.yodastudio.com
    segui YODA Studio su facebook

  7. #7
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    ok allora i \\r\\n sono apposto sono i caratterei di accaporiga corretti per server win.

    controlla bene gli headers

    controllati questa pagina prima di tutto pero : http://php.net/manual/en/function.mail.php


    $headers = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

  8. #8
    Risolto.

    Ho abbandonato la funzione mail ed ho optato per la classe phpmailer.
    Con il metodo smtp non ho più riscontrato problemi (mi auguro di non dovermi ricredere).

    Grazie e buona serata.
    <-- Fare. O non fare. Non c'è provare. -->

    www.yodastudio.com
    segui YODA Studio su facebook

  9. #9
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    In bocca al lupone

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 © 2024 vBulletin Solutions, Inc. All rights reserved.