테스트 사이트 - 개발 중인 베타 버전입니다

폼메일 계정 채택완료

은시루떡 8년 전 조회 2,726

현재 사용하고 있는 폼메일 인데요.. 

네이버나 구글 다음 같은 기본메일로는 전송이 되는데

웹메일(기업메일) 으로 설정해놓으면 전송이 되지 않습니다 ㅠㅠ

혹시 어떻게 해야 하는지요 ㅠㅠㅠ

또. 네이버 구글 다음 메일로 설정했을 때 pc에서는 전송이 되는데 모바일에서는 전송이 되지 않아요ㅠㅠ

사용하고있는 폼메일이 잘못 된 것인지요...?ㅠㅠ

하단이 폼메일입니다.

    // [★ 설정 1] 스팸메일에 악용될 우려 때문에 기본상태는 메일발송 차단되게 되어 있으니

// 본 파일을 실제 사용하려면 이 설정항에 'yes' 를 대입하십시오.

$it_uses = "yes";

// [★ 설정 2] 메일을 받을 사람을 특정인(관리자)으로 고정하려면 그 메일주소와  이름을 대입하십시오.

$to_mail_set = ""; // 메일주소

$to_name_set = ""; // 이름

// [★ 설정 3] 메일전송 완료후의 출력페이지를 지정하려면 URL 주소 대입(기본상태는 메일 입력폼이 다시 출력됨)

$after_url=$_SERVER[PHP_SELF];

if($_POST['f_mailsend']){

// 메일발송

send_mail_action($to_mail_set,$to_name_set);

        alert_msg("Your email has been sent.",$after_url);

}

?>

폼메일 응용/활용

       

           

           

폼메일 응용/활용

           

                    // '설정 2' 에서 메일받을 사람을 설정했다면 받는사람 이름/메일 입력칸은 출력안함

                        if($to_mail_set and $to_name_set){

                            echo "

  • ";

                            echo "

  • ";

                        }else{

                    ?>

                   

  •                

  •                

                        }

                    ?>

                   

  •                

  •                

  •                

  •                

  • 메일전송
  •            

       

   

// 메일내용 html 구성

function mail_body_html($body){

$join_html= <<

   

EOF_LINE;

$join_html.= <<

보낸사람 $_POST[mail_from_name]  <$_POST[mail_from_email]>
받은사람 $_POST[mail_to_name]  <$_POST[mail_to_email]>

  $_POST[mail_subject]

$body

EOF_LINE;

return $join_html;

}

function send_mail_action($snd_mail,$snd_name){

if($GLOBALS['it_uses'] != 'yes') alert_msg("메일발송 실패 했습니다. 소스내의 '설정항목1' 을 우선 확인하십시오.");

if($snd_mail) $_POST['mail_to_email'] = $snd_mail;

if($snd_name) $_POST['mail_to_name'] = $snd_name;

if(!org_mail($_POST['mail_to_email'])) alert_msg('받는 사람 메일주소가 잘못 되었습니다.');

if(!org_mail($_POST['mail_from_email'])) alert_msg('보내는 사람 메일주소가 잘못 되었습니다.');

if(!$_POST['mail_subject']) alert_msg('제목을 입력하십시오.');

if(!$_POST['mail_to_name']) alert_msg('받는사람 이름을 입력하십시오.');

if(!$_POST['mail_from_name']) alert_msg('보낸사람 이름을 입력하십시오.');

if(!$_POST['mail_body']) alert_msg('본문 내용을 입력하십시오.');

$mail_to = "\"$_POST[mail_to_name]\" <$_POST[mail_to_email]>";

$mail_from = "\"$_POST[mail_from_name]\" <$_POST[mail_from_email]>";

$head  = "From:$_POST[mail_from_email]\n";

$head .="Content-Type: text/html\n";

$head .="Reply-To:$_POST[mail_from_email]\n";

$head .="X-Mailer:PHP/".phpversion();

$body=nl2br($_POST['mail_body']);

$body=stripslashes($body);

$body=mail_body_html($body);

return @mail($mail_to,$_POST['mail_subject'],$body,$head);

}

function org_mail($mail){

if(!preg_match("/\S+@(\S+\.\S+)/",$mail,$Tmp)) return ;

// if(!checkdnsrr($Tmp[1], "MX") and !checkdnsrr($Tmp[1], "A")) return ;

return 1;

}

function alert_msg($msg, $after_url=""){

$msg=preg_replace("/\"/","'",$msg);

echo " ";

exit;

}

?>

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
플래토
8년 전

메일서버를 직접 다루셨으면

SMTP

POP3

IMAP  

관련 설정부분을 살펴보시고

수신함에 관련된 디렉토리를 확인해보세요

그리고, 해당 로그를...

회사 서버와 위 메일서버관련 사항들은 

Linux 포럼에서 검색하시는게...더 정확한 답을 찾지 않을까 싶네요

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

은시루떡
8년 전
감사합니다!!!

댓글을 작성하려면 로그인이 필요합니다.

플래토
8년 전

발송이 안되는것인지

수신이 안되는것인지

잘 판단하셔야 할것 같습니다.

보통 네이버로 수신되는데 기업메일로 수신이 안된는건

폼메일 관리하는 업체쪽으로 문의하셔야 합니다.

스팸처리나 필터링 되는경우가 많아요

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

은시루떡
8년 전
무료 폼메일 소스를 받아서 편집한 것이라 관리하는 곳이 없는데요 ㅠㅠ..
기업메일로 입력하여 놓았을 때 기업메일로 스팸으로 들어오지 않는다면..
발신이 안되는 것일까요.. 기업메일로 사용하려면 폼메일업체에서 구입하여야 하는건지요...ㅠㅠ

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인