- Home
- Categorie
- Coding e Sistemistica
- PHP
- mail che non si invia!
-
mail che non si invia!
Buongiorno a tutti Ragazzi!
ho un piccolo problemino sono sicuro si tratti di qualcosa di banale, ma non riesco a capire cosa! Questo codice semplicemente recupera le variabili da un form e invia una mail... ma diamine dopo aver combattuto non poco con un problema di warning a causa della chiamata header() ora non ho più l'errore, ma non invia neanche più la mail.... :bho: Potete aiutarmi per favore? Vi posto il codice
[PHP]
<?php
$ragsoc= $_POST['ragsoc'];
$nome= $_POST['nome'];
$posizione= $_POST['posizione'];
$tel= $_POST['tel'];
$mail= $_POST['mail'];
$subject= $_POST['subject'];
$body= $_POST['body'];
$destinatario = "[email protected]";
$oggetto = "Contatto dal sito !!";
$messaggio = "Buongiorno, i seguenti dati sono stati inviati dal modulo della pagina Domande&Risposte del sito " ."\n";
$messaggio .= "Ragione Sociale: " .$ragsoc ."\n";
$messaggio .= "Nome Contatto: " .$nome ."\n";
$messaggio .= "Posizione nell'azienda: " .$posizione ."\n";
$messaggio .= "Numero di telefono: " .$tel ."\n";
$messaggio .= "Indirizzo mail: " .$mail ."\n";
$messaggio .= "Oggetto: " .$subject ."\n";
$messaggio .= "Testo: \n";
$messaggio .= $body;
$intestazioni="From: $nome<>\n";
$intestazioni.="Reply-To: $mail";
mail($destinatario,$oggetto,$messaggio,$intestazioni);
header('location: http:....');
?>
[/PHP]
-
Hai configurato il server SMTP nel php.ini?
-
Non ho fatto un file php.ini per 2 ragioni la prima è che c'è solo questo di file php (per ora) la seconda è che, come ho scritto sopra, funzionava correttamente. Ma se ritieni sia indispensabile, puoi per favore darmi qualche suggerimento su come impostarlo?
-
Il php.ini non lo devi fare.
Il php.ini è il file di configurazione del PHP. E' ovviamente presente in ogni installazione del linguaggio.
Se il tuo sito è in locale sei tu che devi configurarlo mettendo come server SMTP quello del gestore con cui sei collegato. Se sei invece su un hosting probabilmente è già configurato oppure dovresti leggere nelle FAQ dell'hosting come comportarsi con le funzioni mail().
Comunque una semplice prova per verificare che non sia un problema di header la puoi fare utilizzando la funzione mail con solo i primi 3 parametri. Se la mail è spedita è problema dell'header altrimenti bisogna capire quale può essere il problema.
-
Questa si che è veramente bella! Funziona!! ma mica ho capito perchè:?
Come hai detto tu è bastato eliminare le intestazioni della mail... ora la mail arriva (anzi misteriosamente ne arrivano 2 uguali) con il contenuto corretto da un mittente tipo apacheeviadicendo.Sai darmi lumi su questa vicenda mi sento un po' confuso.
-
C'è qualche errore nella variabile $intestazioni allora.
L'header deve rispettare la RFC2822 (faqs.org/rfcs/rfc2822). Prova a dare un'occhiata e vedi cosa c'è che non va.
Prova ad esempio a settare il MIME, ecc. Secondo me è qualcosa di banale.