폼메일 계정

폼메일 계정

QA

폼메일 계정

본문

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

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

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

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


또. 네이버 구글 다음 메일로 설정했을 때
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);

}


?>






<!DOCTYPE html>

<html>

<head>

<title>폼메일 응용/활용</title>

<meta charset="utf-8">


<script language=JavaScript>

function form_mail_submit(){


if(no_value('mail_subject'))    return error_msg('mail_subject','제목을 입력하십시오.');

if(no_value('mail_to_name'))    return error_msg('mail_to_name','받는사람 이름을 입력하십시오.');

if(no_value('mail_from_name'))    return error_msg('mail_from_name','보낸사람 이름을 입력하십시오.');

if(no_value('mail_body'))    return error_msg('mail_body','본문내용을 입력하십시오.');


if(!document.MailWriteForm.mail_to_email.value.match(/\S+@\S+\.\S+/)) return error_msg('mail_to_email','받는사람 메일주소를 확인하십시오.');

if(!document.MailWriteForm.mail_from_email.value.match(/\S+@\S+\.\S+/)) return error_msg('mail_from_email','보낸사람 메일주소를 확인하십시오.');

document.MailWriteForm.submit();

}

function no_value(inputName){

value=eval('document.MailWriteForm.'+inputName).value.replace(/\s/g,"");

if(!value) return 1;

}

function error_msg(inputName,msg){

alert(msg);

eval('document.MailWriteForm.'+inputName).focus();

return false;

}

</script>


</head>


<body>

        <form method='post' name="MailWriteForm" action="<?=$_SERVER['PHP_SELF']?>">

            <input type=hidden name='f_mailsend' value='1'>

            <h2>폼메일 응용/활용</h2>

            <ul>

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

                    if($to_mail_set and $to_name_set){

                        echo "<li><input type='hidden' name='mail_to_email' value='$to_mail_set'></li>";

                        echo "<li><input type='hidden' name='mail_to_name' value='$to_name_set'></li>";

                    }else{

                ?>

                <li><input type="text" name="mail_to_name" placeholder="받는사람이름"></li>

                <li><input type="text" name="mail_to_email" placeholder="받는사람메일주소"></li>

                <?

                    }

                ?>

                <li><input type="text" name="mail_from_name" placeholder="보낸사람이름"></li>

                <li><input type="text" name="mail_from_email" placeholder="보낸사람메일주소"></li>

                <li><input type="text" name="mail_subject" placeholder="제목"></li>

                <li><textarea name="mail_body" placeholder="내용"></textarea></li>

                <li><a onClick="javascript:form_mail_submit()" style='cursor:pointer;'>메일전송</a></li>

            </ul>

        </form>

    </body>

</html>


<?

// 메일내용 html 구성

function mail_body_html($body){


$join_html= <<<EOF_LINE


    <!DOCTYPE html>

<html>

<head>

<meta charset='utf-8'>

<style type=text/css>

body,td,input,div,select,textarea{font-size:9pt; font-family:굴림,Tahoma; line-height:140%; word-break:break-all;}

</style>

</head>


<body bgcolor='#ffffff' topmargin=5>



<table width=90% border=1 cellspacing=0 cellpadding=1 frame=void bordercolordark='#ffffff' bordercolorlight='#eeeeee' style='margin-bottom:8px;'>

<tr><td width=120><b>ㆍ</b>보낸사람</td><td> $_POST[mail_from_name]  <$_POST[mail_from_email]></td></tr>

<tr><td width=120><b>ㆍ</b>받은사람</td><td> $_POST[mail_to_name]  <$_POST[mail_to_email]></td></tr>


EOF_LINE;



$join_html.= <<<EOF_LINE


</table>


<table width=98% cellpadding=0 cellspacing=0 border=0 bgcolor='#ffffff' style='border:1px solid #1578FF;'>

<tr><td height=1 bgcolor='#A9CDFF'></td></tr>

<tr><td height=1 bgcolor='#67A7FF'></td></tr>

<tr>

<td bgcolor='#1578FF' style='padding:2px; padding-left:6px; color:#ffffff; font-weight:bold;'>

  $_POST[mail_subject]

</td>

</tr>

<tr><td height=1 bgcolor='#67A7FF'></td></tr>

<tr><td height=1 bgcolor='#A9CDFF'></td></tr>

<tr><td height=1 bgcolor='#1578FF'></td></tr>

<tr>

<td style='padding:5px'>

<!--메일 본문 내용-->

$body

</td>

</tr>

</table>


</body>

</html>


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 " <script language='JavaScript'> alert(\"$msg\"); ";

if($after_url) echo " location.href='$after_url'; ";

else echo " history.go(-1); ";

echo "</script>";

exit;

}





?>









이 질문에 댓글 쓰기 :

답변 2

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


SMTP

POP3

IMAP  

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

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

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


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

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

발송이 안되는것인지

수신이 안되는것인지

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


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


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

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

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

답변을 작성하시기 전에 로그인 해주세요.
전체 19
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT