• Moderatore

    Invio email in PHP

    Ciao 🙂

    Vi espongo il mio problema:
    ho un form dal quale gli utenti possono contattarmi. Il form ha il controllo per i campi obbligatori, tra cui anche la validità dell'email. Fin qui, ok.

    Il problema è che ricevo molte email con mittente [email protected] oppure [email protected] , che sono palesemente indirizzi email falsi.

    C'è un modo per fare in modo che possano essere scritti solamente indirizzi email reali ed esistenti? 🙂

    Grazie, :ciauz:


  • User Attivo

    Potresti usare il sistema che viene utlizzato per validare la mail al momennto di una registrazione, anche se per un modulo contatti mi sembra assurdo, infatti se un utente non scrive la sua vera mail in modulo i ontatti è perchè non gli interessa veramente ricevere una risposta, allora forse la cosa migliore da fare e capire come mai ci sono tanti utenti non interessati he ompilano il modulo...

    tornando al sistema praticamente alla cmpilazione del form viene inviata una mail al mittente e non al ricevente, ed il messaggio e tutti i dati vengono registrati magari su database

    Sulla mail che arriva al mittente c'è un link tipo www.pagina.it/ricevicodice.php?codice=2938yihoiruh92
    e all'utente gli viene spiegato che per confermare l'invio del messaggio deve clicare sul link

    La pagina che accoglie il link farà una select nella tabella dove vengono registrati i messaggi, e se trova il codice provede all'invio della mail al vero destinatario...


  • Moderatore

    Grazie della risposta Gabrielem 🙂

    La soluzione che proponi è buona... e invece un modo per fare tutto in automatico?

    Tipo, quando vai su una pagina inesistente di un sito, ridà uno status 404. Ecco, esiste una sorta di status 404 per le caselle email? Ovvero, riesco lato server a capire se una email (magari quella dove si ringrazia l'utente di aver scritto) è arrivata a destinazione o meno?

    Spero di essere stato chiaro... 🙂


  • User Attivo

    Un alternativa valida ma un pò restrittiva, è quella di permettere l'inserimento di email che utilizzano solo domini conosciuti e famosi, come @libero.it, @gmail.com, ecc...

    Qui ne trovi un buon elenco: http://www.dicearchia.it/posta_elettronica/index.php

    L'unica cosa da fare è quella di controllare l'indirizzo dopo la @ e confrontarlo con un array, la lista dei domini, ed il gioco e fatto 😄

    Se il confronto è positivo si prosegue con l'invio della mail altrimenti si restituisce errore 😉

    Ciao :ciauz:


  • User Attivo

    @Sups said:

    Un alternativa valida ma un pò restrittiva, è quella di permettere l'inserimento di email che utilizzano solo domini conosciuti e famosi, come @libero.it, @gmail.com, ecc...

    Qui ne trovi un buon elenco: http://www.dicearchia.it/posta_elettronica/index.php

    L'unica cosa da fare è quella di controllare l'indirizzo dopo la @ e confrontarlo con un array, la lista dei domini, ed il gioco e fatto 😄

    Se il confronto è positivo si prosegue con l'invio della mail altrimenti si restituisce errore 😉

    Ciao :ciauz:

    :nonono: troppo restrittiva

    1. tutte le mail di domini personali verrebbero rifiutate!!!
    2. [email protected] passa... e non va bene...

  • User Attivo

    Ho detto che era restrittivo, e poi è un controllo che si basa solo sul dominio dopo la @, controllare il nome precedente è più complesso, bisognerebbe invetarsi una regola grammaticale, esempio; dopo la X non è consentita la Z per impedire l'inserimento di un nome inventato sul momento come "Andrixz" che è difficile incontrare, soprattutto in Italia 😄
    Non si può avere controllo completo della veridicità dell'indirizzo email.


  • User Attivo

    :sbonk:Se non si può avere un controllo completo allora meglio trovare un'altra strada, è come se non potendo connettermi direttamente ai dati delle banche, per validare una carta di credito facessi passare solo le carte cha hanno una certa sequnza iniziale??? Ci pensi?

    :nonono:Ribadisco che seondo me quella che hai proposto non è una soluzione valida, e scusa non è una questione personale lo dico solo per scotraggiare chi voglia provare ad intraprenderla perchè la ritengo una non soluzione

    :)Inoltre vorrei sottolineare che a volte esistono delle restrizioni nell'indirizzo email da lasciare in un form ma che queste limitazioni sono di matrice opposta a quanto proposto da Sups, e cioè tendono ad escludere le email gratuite come gmail yahoo hotmail tiscali ecc per vari motivi, primo perchè una mail del proprio dominio personale o aziendale è vista come più sicuramente letta ed utilizzata secondo perchè la maggior parte di queste caselle sono invase ormai dallo spam e oltre a rifiutare molte comunicazioni sono diventate un collo di bottiglia molto stretto dove è difficile far arrivare qualche comunicazione all'utente!

    :ciauz:


  • User Attivo

    I codici, numeri seriali dei programmi o altro, vengono generati in base ad opportune restrizioni personali imposte dal produttore, per questo si possono generare o validare "facilmente" con programmi che applicato l'algoritmo con cui tali codici sono stati generati.
    L'algoritmo utilizzato per creare tali codici è sicuramente molto più limitato a differenza di quello che viene utilizzato da un essere umano, che è in grado di generare casualmente combinazioni di lettere e numeri in seguenza e senza significato logico.
    E questo avviene anche con le password.
    L'indirizzo email potrebbe avere infinite combinazioni di carattere, anche perchè "[email protected]" è un possibile e valido indirizzo che può essere registrato senza problemi.
    "skfndfbdf" che algoritmo ho usato per generare questa stringa, NESSUNO, ho digitato a caso, per questo, l'utilizzo di regole grammaticali basate sulla lingua italiana torna molto utile per impedire questo tipo di stringhe.
    Infine, i filtri antispam si basano sulla verifica del contenuto, di alcuni TAG speciali contenuti all'interno del sorgente della mail spam, e non sull'indirizzo email del mittente.
    Sorgenti che possono essere composti da TAG MIME o HTML non validi o incompleti.


  • User Attivo

    @Sups Si daccordo l'esempio era superficiale, però anche tu puoi concordare che la soluzione che hai postato non solo è restrittiva ma è a dir poco penalizzante...


  • User Attivo

    Si hai ragione, ho detto che è molto restrittiva ed è anche complessa da realizzare, perchè studiare e creare un parser di testo basato sulla grammatica italiana non è per niente semplice da realizzare, però funzionerebbe 😄

    Ciao :ciauz: