Spedire mail con PHP: come conosco i dati?

VAik

Utente Attivo
16 Apr 2016
117
3
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 = "[email protected]";
$mail_destinatario = "[email protected]";


#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
 

mr.x

Utente Attivo
9 Apr 2016
252
25
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.
 

VAik

Utente Attivo
16 Apr 2016
117
3
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?

ciao
puoi valorizzare le variabili che ti interessano recuperando i dati da un database (es. lista di email) e/o passandoli tramite un form.

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.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
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
 

VAik

Utente Attivo
16 Apr 2016
117
3
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
 

VAik

Utente Attivo
16 Apr 2016
117
3
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?

La prima cosa che non capisco è come funziona questo codice:
cioè io vado in un sito che ha una pagina di form da compilare.
Tramite questa pag metto i miei dati cioè nome e mia mail, e poi indico a chi voglio mandare una mail?
così funziona?

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:

mr.x

Utente Attivo
9 Apr 2016
252
25
28
io non capisco proprio questo: è un form per inviare una mail a qualcuno?
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)
 

VAik

Utente Attivo
16 Apr 2016
117
3
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
 
Discussioni simili
Autore Titolo Forum Risposte Data
C Spedire via Mail il risultato di una Function CMS (Content Management System) 3
P pc tenta di spedire mail... Sicurezza e Virus 1
A come spedire SMS da codice PHP con mdem USB PHP 0
Trapano Spedire il mio ip di casa, ogni 10 minuti sul mio db che ho su altervista. Apache 18
A estrarre il ciclo while in una sessione e spedire l'array in un db PHP 2
G Funzione per spedire email a destinatari diversi PHP 0
L PhpMailer - Scrivere su file e spedire come allegato PHP 1
G Moduli da compilare e spedire HTML e CSS 5
felino Mac OS e Client Mail: Stato non in linea Mac e Software 1
I recupera password via mail salva pasword password_hash PHP 2
I resetta password via mail PHP 2
M telecamera Foscam - mancato invio mail ad account gmail IP Cam e Videosorveglianza 0
K Importazione e-mail da account gmail ad un altro account gmail Posta Elettronica 0
R Invio mail con allegati multipli PHP 0
A Mail con funzione mail() riconosciute come spam PHP 9
R Invio mail con allegati da directory PHP 1
R Confrontare il dominio di una mail con una stringa contenente un dominio personalizzato, tutto ciò in php o javascript PHP 0
Daniele_Carrara Problema timeout - invio mail PHP 7
G Con Microsoft Outlook 2016 come si possono cancellare le mail doppie? Posta Elettronica 0
G Evitare che mi continui ad arrivare in alice mail spam Posta Elettronica 2
M configurare mail register.it (con 1000 invii/die) su Outlook Posta Elettronica 0
Marti1! Problema con casella mail cancellata Posta Elettronica 3
U PHP bottone per invio mail o ritorno al form PHP 15
G Invio mail con php da dati prelevati da un database PHP 9
AC1 [PHP] Invio Mail PHP 18
A [HTML] Testo mail non visualizzabile su IOS HTML e CSS 0
L Problema funzione mail() PHP PHP 3
I [PHP] inviare form con allegato tramite una mail PHP 1
A Libero mail non funziona Posta Elettronica 3
B [PHP] Invio mail automatico dopo compilazione form - db PHP 25
L PopUp tramite PHP se la mail inserita è già registrata nel database PHP 3
G [PHP] Creare mail con allegato nascosto e bottone di richiamo PHP 0
P [PHP] PEAR Mail e Query PHP 3
Cosina Andare a capo nel testo della mail ricevuta dal form php PHP 1
D [PHP] script che invii una mail automatica dopo risposta ad una discussione di un forum PHP 0
M [PHP] mandare mail usando i cantatti di una lista su mailchimp PHP 7
G [PHP] Creare appuntamento ed inviarlo tramite mail (Outlook e Gmail) PHP 0
L windows live mail Posta Elettronica 4
A [PHP] Problema invio mail con funzione mail() PHP 3
A Php mail non invia due mail di seguito PHP 3
A problema mail Posta Elettronica 5
A [PHP] Inviare mail con piu immagini allegate PHP 6
A [PHP] Modulo mail PHP 3
A [PHP] Formattazione Mail HTML HTML e CSS 5
A [PHP] RISOLTO Invio Mail con Tabella PHP 2
paloppa [PHP] Invio mail da form dubbio PHP 17
B [PHP] Mail di Avvenuta registrazione PHP 4
M [PHP] Componi i file di Excel in e-mail PHP 1
S Creare nuovo account in Mail Mac e Software 0
F Form mail php errore invio PHP 5

Discussioni simili