据我所知,我已经在表单中正确提到了所有内容,但它无法访问我指定的任何电子邮件。请你指导我?
<?php
$name = $_POST[ name ];
$email = $_POST[ email ];
$message = $_POST[ message ];
$MobileNumber = $_POST[ MobileNumber ];
$AccountHolderName = $_POST[ AccountHolderName ];
$BankName = $_POST[ BankName ];
$BankAccountNumber = $_POST[ BankAccountNumber ];
$BranchAddressWithPinCode = $_POST[ BranchAddressWithPinCode ];
$IFSC = $_POST[ IFSC ];
$to = email@domain.com ; // this is where i put my email addres where i want
to rec. the mail.
$message = FROM: .$name. Email: .$email. Message: .$message;
$headers = From: youremail@domain.com . "\r\n";
if (filter_var($email, FILTER_VALIDATE_EMAIL)) { // this line checks that we
have a valid email address
mail($to, $subject, $message, $headers); //This method sends the mail.
echo "Your email was sent!"; // success message
}else{
echo "Invalid Email, please provide a correct email.";
}
?>
答案 0 :(得分:0)
<?php
/*
unless you are using constants as the field value in the $_POST
you need to quote the field. Most of the variables here were never
used by the mail script so are they important?
*/
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$MobileNumber = $_POST['MobileNumber'];
$AccountHolderName = $_POST['AccountHolderName'];
$BankName = $_POST['BankName'];
$BankAccountNumber = $_POST['BankAccountNumber'];
$BranchAddressWithPinCode = $_POST['BranchAddressWithPinCode'];
$IFSC = $_POST['IFSC'];
/*
as above comment - many variables not used so here include
everything from the POST request as a "belt & braces" approach
*/
$data = array();
foreach( $_POST as $key => $value )$data[]="{$key}: {$value}";
$data=implode( PHP_EOL, $data );
/*
As with the other strings they need to be quoted. Single quotes do not
allow you to include PHP variables within the string, double quotes do.
Often useful when quoting php variables within a string is to use
curly braces around the variable - as seen here.
*/
$to = 'email@domain.com';
$message = "FROM: {$name} Email: {$email} Message: {$message}\n\n{$data}";
$subject='New message';
$headers = "From: youremail@domain.com\r\n";
if ( filter_var( $email, FILTER_VALIDATE_EMAIL ) ) {
/* capture the return value from `mail` to determine if the mail was sent correctly */
$status = mail( $to, $subject, $message, $headers );
$message = $status ? "Your email was sent!" : "There was a problem sending your message";
}else{
$message = "Invalid Email, please provide a correct email.";
}
echo $message;
?>