현재 사용하고 있는 폼메일 인데요..
네이버나 구글 다음 같은 기본메일로는 전송이 되는데
웹메일(기업메일) 으로 설정해놓으면 전송이 되지 않습니다 ㅠㅠ
혹시 어떻게 해야 하는지요 ㅠㅠㅠ
또. 네이버 구글 다음 메일로 설정했을 때
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개 / 댓글 2개
메일서버를 직접 다루셨으면
SMTP
POP3
IMAP
관련 설정부분을 살펴보시고
수신함에 관련된 디렉토리를 확인해보세요
그리고, 해당 로그를...
회사 서버와 위 메일서버관련 사항들은
Linux 포럼에서 검색하시는게...더 정확한 답을 찾지 않을까 싶네요
답변에 대한 댓글 1개
발송이 안되는것인지
수신이 안되는것인지
잘 판단하셔야 할것 같습니다.
보통 네이버로 수신되는데 기업메일로 수신이 안된는건
폼메일 관리하는 업체쪽으로 문의하셔야 합니다.
스팸처리나 필터링 되는경우가 많아요
답변에 대한 댓글 1개
기업메일로 입력하여 놓았을 때 기업메일로 스팸으로 들어오지 않는다면..
발신이 안되는 것일까요.. 기업메일로 사용하려면 폼메일업체에서 구입하여야 하는건지요...ㅠㅠ
답변을 작성하려면 로그인이 필요합니다.