Spedire mail con PHP: come conosco i dati?

Discussione in 'PHP' iniziata da VAik, 22 Aprile 2016.

  1. VAik

    VAik Utente Attivo

    Registrato:
    16 Aprile 2016
    Messaggi:
    117
    Mi Piace Ricevuti:
    3
    Punteggio:
    18
    Ciao a tutti ragazzi

    stavo seguendo il corso PHP e sono arrivato alla lezione come spedire una mail con php

    Questo è l'esempio proposto dalla guida, i miei dubbi li metto come commento #

    PHP:

    <?php

    #PERCHE' DEFINISCO IL MITTENTE ED IL DESTINATARIO?  COME FACCIO A CONOSCERLI?

    // definisco mittente e destinatario della mail
    $nome_mittente "Mio Nome";
    $mail_mittente "mittente@sito.com";
    $mail_destinatario "destinatario@sito.com";


    #COME FACCIO A CONOSCERE ANCHE L'OGGETTO ED IL CORPO?

    // definisco il subject ed il body della mail
    $mail_oggetto "Messaggio di prova";
    $mail_corpo "Questo è un messaggio di prova per testare la mia applicazione";

    // aggiusto un po' le intestazioni della mail
    // E' in questa sezione che deve essere definito il mittente (From)
    // ed altri eventuali valori come Cc, Bcc, ReplyTo e X-Mailer
    $mail_headers "From: " .  $nome_mittente " <" .  $mail_mittente ">\r\n";
    $mail_headers .= "Reply-To: " .  $mail_mittente "\r\n";
    $mail_headers .= "X-Mailer: PHP/" phpversion();

    if (
    mail($mail_destinatario$mail_oggetto$mail_corpo$mail_headers))
      echo 
    "Messaggio inviato con successo a " $mail_destinatario;
    else
      echo 
    "Errore. Nessun messaggio inviato.";
    ?>

    Ciao
     
  2. mr.x

    mr.x Utente Attivo

    Registrato:
    9 Aprile 2016
    Messaggi:
    214
    Mi Piace Ricevuti:
    22
    Punteggio:
    28
    ciao
    puoi valorizzare le variabili che ti interessano recuperando i dati da un database (es. lista di email) e/o passandoli tramite un form.
     
  3. VAik

    VAik Utente Attivo

    Registrato:
    16 Aprile 2016
    Messaggi:
    117
    Mi Piace Ricevuti:
    3
    Punteggio:
    18
    La prima cosa che non capisco è come funziona questo codice:

    cioè io vado in un sito che ha una pagina di form da compilare. Io tramite questa pag metto i miei dati cioè nome e mia mail, e poi indico a chi voglio mandare una mail?
    così funziona?

    ma allora è un esempio poco pratico?

    quindi al posto del "Mio Nome"

    dovrei mettere ?
    PHP:
    // definisco mittente e destinatario della mail 
    $nome_mittente $_POST['nome']; 
    $mail_mittente $_POST['email'];
    $mail_destinatario = ?????; 



    il database non lo so ancora utilizzare con php.
     
  4. borgo italia

    borgo italia Super Moderatore Membro dello Staff SUPER MOD MOD

    Registrato:
    4 Febbraio 2008
    Messaggi:
    16.028
    Mi Piace Ricevuti:
    146
    Punteggio:
    63
    Sesso:
    Maschio
    Località:
    PR
    Home Page:
    cio
    il funzionamento è il seguente:
    devi avere due pagine una col form (che può essere html) dove scrivi ed una (deve essere dinamica) che riceve i dati e li processa, ti schematizzo:
    questa è la pagina col form
    HTML:
    <!DOCTYPE HTML>
    <html>
    <head></head>
    <body>
    <form action="ricevi.php" method="post">
    tuo nome <input name="nome" type="text"><br>
    email mittente <input name="mittente" type="text"><br>
    email destinatario <input name="destinatario" type="text"><br>
    <input name="invia" type="submit" value="invia">
    </form>
    </body>
    </html>
    dopo aver scritto il nome e l'email premi il pulsante di submit (chiamato es. invia)
    alla pressione del submit dato che nel tag form c'è:
    action="ricevi.php" a
    method="post"
    il form cerca la pagina ricevi.php e, se la trova, le invia i dati usando il metodo post
    la pagina ricevi.php, per ricevere i dati, deve avere il seguente codice minimo
    PHP:
    <?php
    $nome_mittente
    =$_POST['nome'];
    $mail_mittente=$_POST['mittente'];
    $mail_destinatario=$_POST['destinatario'];
    /*la variabile superglobale $_POST chiamata none assegna il valore
    trasmesso (scritto nel) campo di input "nome" alla variabile $nome_mittente
    analogo discorso per le email
    */
    //ricevuti i dati li processa.....
    ?>
    spero di averti spiegato bene

    p.s.
    il tutto può essere fatto in un'unica pagina
     
  5. VAik

    VAik Utente Attivo

    Registrato:
    16 Aprile 2016
    Messaggi:
    117
    Mi Piace Ricevuti:
    3
    Punteggio:
    18
    Grazie Borgo per la risposta, ma ho la febbre e non ho la forza di ragionarci su. Intanto ti dico grazie e fra qualche giorno controllo la tua risposta..

    ciao
     
  6. marino51

    marino51 Utente Attivo

    Registrato:
    28 Febbraio 2013
    Messaggi:
    2.550
    Mi Piace Ricevuti:
    126
    Punteggio:
    63
    Occupazione:
    free lance
    Località:
    Lombardia
  7. VAik

    VAik Utente Attivo

    Registrato:
    16 Aprile 2016
    Messaggi:
    117
    Mi Piace Ricevuti:
    3
    Punteggio:
    18
    Ciao Borgo, grazie del tuo codice e per le spiegazioni...seguendo un'altra guida avevo già creato due pagine collegate (la seconda con php e che visualizza i dati a video) come mi hai indicato.
    Però come hai scritto pure tu, è una cosa di acquisizione dati, non di invio mail. Qui si parla nella guida di "Sperdire email con PHP".
    io non capisco proprio questo: è un form per inviare una mail a qualcuno?

    Poi tramite una pagina dinamica che NON è quella mostrata nella guida perchè non ci sono ACQUISIZIONI di dati, ma solo DEFINIZIONI di dati, invierà la mail, giusto?

    mi piacerebbe realizzarlo per capire il reale funzionamento




    @Marino

    grazie del tuo intervento.....però non so se sono in grado di capire l'esempio che hai postato (ho scaricato i file per ora, ma non ho letto il tuo post) si discosta da questo codice...però non ho ancora letto il tuo post....forse mi aiuterà a capire...dopo vedo
     
    Ultima modifica: 29 Aprile 2016
  8. mr.x

    mr.x Utente Attivo

    Registrato:
    9 Aprile 2016
    Messaggi:
    214
    Mi Piace Ricevuti:
    22
    Punteggio:
    28
    ciao @vaik, l'esempio difficilmente lo troverai su una web in questo modo per ovvi motivi legati allo spam. Esempi pratici di utilizzo però ne trovi molti a cominciare dalle mail di benvenuto che ti arrivano quando ti iscrivi ad un forum.. in questo caso il form lo compili tu con i tuoi dati e lo script ti manda una mail all indirizzo indicato e utilizzando il nome che hai immesso. testo e mittente son di solito 'fissi' configurati dalla admin. altro es. può essere una newsletter dove l admin (mittente) compila un form con i dati necessari. Spero di averti chiarito le idee in quanto mi sembra di aver capito che cercavi esempi pratici di utilizzo.
    anche i form per inviare commenti ad un articolo su un blog funzionano allo stesso modo, inoltrando una mail all admin con i dati inseriti (testo del commento, email e nome)
     
  9. VAik

    VAik Utente Attivo

    Registrato:
    16 Aprile 2016
    Messaggi:
    117
    Mi Piace Ricevuti:
    3
    Punteggio:
    18
    Grazie mr.x
    il ragionamento fila ed ora penso di aver capito con gli esempi che hai riportato soprattutto per l'iscrizione ad un forum.

    Vedo domani se riesco a far quadrare tutto in testa
    ciao
     
Sto caricando...

Condividi questa Pagina