私のウェブサイトのユーザーがフォームに記入してフォームをメールに送信できるようにするphpメール機能を作成しました。私はPHPの開発者ではありませんが、いくつかの調査をした後、私が聞いたことのないPHPMailerについてたくさんの人が気づいています。または前に使用されます。メールを迷惑メール(php)ではなく受信トレイに表示する方法
私は少しお手伝いしていただければ幸いです。
$to="myemail.com";
//Errors
$nameError="";
$emailError="";
$errMsg="";
$errors="";//counting errors
$name="";
$email="";
$message="";
if(isset($_POST['send'])){
if(empty($_POST['yourname'])){ //name field empty
$nameError="Please enter your name";
$errors++; // increament errors
}else{
$name= UserInput($_POST['yourname']);
if(!preg_match("/^[a-zA-Z ]*$/", $name)){
$nameError="Only letters and white space accepted";
$errors++;
}
}
if(empty($_POST['email'])){
$emailError="Enter email";
$errors++;
}else{
$email = UserInput($_POST['email']);
if(!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/", $email)){
$emailError="Invalid Email";
$errors++;
}
}
if(empty($_POST['msg'])){
$errMsg="Enter message";
$errors++;
}else{
$message=UserInput($_POST['msg']);
}
if($errors <=0){//No errors lets setup our email and send it
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
$headers .= 'From: <' . $email . '>' . "\r\n";
$text = "<p>New Message from $name </p>";
$text .= "<p>Name : $name</p>";
$text .= "<p>Email : $email</p>";
$text .= "<p>Message : $message</p>";
mail($to, "Website Contact", $text, $headers);
$success="Thank your message was submitted";
$_POST= array(); //clearing inputs fields after success
}
}
//フィルターユーザー入力
function UserInput($data){
$data = trim($data);
$data = stripcslashes($data);
$data = htmlspecialchars($data);
return $data;
}
phpmailerの使用方法を尋ねていますか?彼らには[githubの例](https://github.com/PHPMailer/PHPMailer)があります。 –
doctypeタイプで始まるテキストが正しく動作するには、テキストが完全なhtmlでなければなりません。正しい形式のHTMLメールのみが受信トレイに配信されます。 –
あなたは送信元アドレスがないので、受信側のサーバは正しいアドレスから来ていないため、受信者のメールアドレスに迷惑メールとしてマークします – Blinkydamo