이 코드는 메일을 보내기 위해 사용하고 있지만 불행히도 메일은 스팸 폴더로 이동합니다. Gmail과 Hotmail을 모두 시도했지만 대소 문자가 같습니다. PHP 코드는 다음과 같습니다메일이 스팸 폴더로 이동합니다 (PHP 메일 기능)
<?php
if($_POST)
{
//check if its an ajax request, exit if not
if(!isset($_SERVER['HTTP_X_REQUESTED_WITH']) AND strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) != 'xmlhttprequest') {
die();
}
$to_Email = "[email protected]"; //Replace with recipient email address
$subject = 'My email from Somebody out there...'; //Subject line for emails
//check $_POST vars are set, exit if any missing
if(!isset($_POST["userName"]) || !isset($_POST["userEmail"]) || !isset($_POST["userMessage"]))
{
die();
}
//Sanitize input data using PHP filter_var().
$user_Name = filter_var($_POST["userName"], FILTER_SANITIZE_STRING);
$user_Email = filter_var($_POST["userEmail"], FILTER_SANITIZE_EMAIL);
$user_Message = filter_var($_POST["userMessage"], FILTER_SANITIZE_STRING);
//additional php validation
if(strlen($user_Name)<4) // If length is less than 4 it will throw an HTTP error.
{
header('HTTP/1.1 500 Name is too short or empty!');
exit();
}
if(!filter_var($user_Email, FILTER_VALIDATE_EMAIL)) //email validation
{
header('HTTP/1.1 500 Please enter a valid email!');
exit();
}
if(strlen($user_Message)<5) //check emtpy message
{
header('HTTP/1.1 500 Too short message! Please enter something.');
exit();
}
//proceed with PHP email.
$headers = 'From: '.$user_Email.'';
@$sentMail = mail($to_Email, $subject, $user_Message .' -'.$user_Name, $headers);
if(!$sentMail)
{
header('HTTP/1.1 500 Could not send mail! Sorry..');
exit();
}else{
echo 'Hi '.$user_Name .', Thank you for your email! ';
echo 'Your email has already arrived in my Inbox, all I need to do is Check it.';
}
}
?>
내가 추가하거나 실제 서버 도메인 주소로 From
헤더를 설정하려면이 문제를
글쎄, 지옥에는 사용자의 이메일을 통해 전송할 수있는 방법이 없습니다. 이것은 아마도 스팸 탐지기를 트립합니다. – Daedalus
메일 클라이언트 내의 스팸 기능은 메일 내의 특정 키워드를 검색합니다.이 단어가 일치하면 스팸 폴더로 이동합니다. 이메일로 보내는 콘텐츠를 수정할 수도 있습니다. 또한 발신자가 중요합니다. 나는 당신의 웹 사이트에서 info @<- 이메일 클라이언트 또는 귀하의 웹 사이트에서 no-reply @<- email 클라이언트와 같은 것을 사용할 것입니다. – Dorvalla