- Home
- Categorie
- Coding e Sistemistica
- PHP
- Headers php mail
-
Headers php mail
io ho questo script
[PHP]<?php
if(isset($_POST['Email'])) {function died($Error) {
// your error code can go here
echo "Siamo spiacenti, ma sembra che vi sia un errore con il modulo che hai inviato. ";
echo "Questi errori vengono visualizzate sotto.<br /><br />";
echo $Error."<br /><br />";
echo "Si prega di tornare indietro e correggere questi errori.<br /><br />";
die();
}
// validation expected data exists
if(!isset($_POST['Oggetto']) ||
!isset($_POST['Nome']) ||
!isset($_POST['Cognome']) ||
!isset($_POST['Email']) ||
!isset($_POST['Messaggio'])){
died('Siamo spiacenti, ma sembra che vi sia un problema con il modulo che hai inviato.');
}
$Oggetto_field = $_POST['Oggetto'];
$Nome_field = $_POST['Nome'];
$Cognome_field = $_POST['Cognome'];
$Telefono_field = $_POST['Telefono'];
$Cellulare_field = $_POST['Cellulare'];
$Email_field = $_POST['Email'];
$Messaggio = $_POST['Messaggio'];
$Contact = $POST['Contact'];
$Refer = getenv ("HTTP_REFERER");
$Ip = getenv ("REMOTE_ADDR");
$Info = getenv ("HTTP_USER_AGENT");
$Error_message = "";
$Oggetto_exp = "/^[A-Za-z .'-]+$/";
if(!preg_match($Oggetto_exp,$Oggetto_field)) {
$Error_message .= 'Inserire l´oggetto della richiesta.<br />';
}
$Nome_exp = "/^[A-Za-z .'-]+$/";
if(!preg_match($Nome_exp,$Nome_field)) {
$Error_message .= 'Inserire il Nome.<br />';
}
$Cognome_exp = "/^[A-Za-z .'-]+$/";
if(!preg_match($Cognome_exp,$Cognome_field)) {
$Error_message .= 'Inserire il Cognome.<br />';
}
$Email_exp = '/^[A-Za-z0-9.%-]+@[A-Za-z0-9.-]+.[A-Za-z]{2,4}$/';
if(!preg_match($Email_exp,$Email_field)) {
$Error_message .= 'Inserire un Indirizzo di E-mail Valido<br />';
}
if(strlen($Messaggio) < 2) {
$Error_message .= 'Inserire un messaggio.<br />';
}
if(strlen($Error_message) > 0) {
died($Error_message);
} $To = "[email protected]";
$Sender = "[email protected]";
$Subject = "$Oggetto_field";
$Email_message = " Questi sono i dati inseriti nel modulo presente alla pagina: $Refer\n da $Nome_field $Cognome_field con indirizzo IP: $Ip\n Browser e sistema operativo: $Info\n Oggetto: $Oggetto_field\n Nome: $Nome_field\n Cognome: $Cognome_field\n Telefono: $Telefono_field\n Cellulare: $Cellulare_field\n E-Mail: $Email_field\n Messaggio: $Messaggio\n Come preferisci essere ricontattato: $Contact\n";
$Headers = 'From: '.$Email_field."\r\n".
'Reply-To: '.$Email_field."\r\n" .
'Sender: '.$Sender."\r\n".
'X-Mailer: PHP/' . phpversion();@mail($To, $Subject, $Email_message, $Headers);
header("location:");
}
else {
header("location:");
}
?>
[/PHP]
che riceve i dati da un form adesso io vorrei modificare l'header in modo da inserire nel from e nel reply-to anche il nome e il cognome presi dal form ma con tutte le prove fatte non funziona qualcuno sa aiutarmi???
-
Ho dato un occhio al manuale PHP, non sono un grande esperto e potrei sbagliare, mi suonano però strani gli apici usati anche lì (che corrispondono al tuo codice nella var $Headers).
Tuo codice/manuale:
$Headers = 'From: '.$Email_field."\r\n".
'Reply-To: '.$Email_field."\r\n" .
'Sender: '.$Sender."\r\n".
'X-Mailer: PHP/' . phpversion();Prova così (sostituito ' a "):
$Headers = 'From: '.$Email_field.'\r\n'.
'Reply-To: '.$Email_field.'\r\n' .
'Sender: '.$Sender.'\r\n'.
'X-Mailer: PHP/' . phpversion();Oppure così (sostituito " a '):
$Headers = "From: ".$Email_field."\r\n".
"Reply-To: ".$Email_field."\r\n" .
"Sender: ".$Sender."\r\n".
"X-Mailer: PHP/" . phpversion();Quindi un problema di concatenazione. O proprio non saprei, per quanto posso ricordare non mi sembra di aver avuto particolari problemi quando l'ho usato in passato. Se non risolvi proverò a cercare qualche vecchio script.