질문드려요
본문
URL : http://carfriends.godohosting.com/sub4.php
(정식 도메인이 검색되는것을 원하지 않아서 2차 도메인으로 표기하였어요
진단하실때는 정식도메인으로 접속하셔요~)
그누보드5 버전 : Version 5.3.1.2
테마적용 여부 : 적용안함
--------------------------------------------------------------------------------------------------------------
위 홈페이지 주소 접속하시면
견적문의 폼메일이 있는데요
이메일 기재하는 항목에서
엉터리 주소 형식으로 입력하거나 단순 문구만 입력하면
"오류가 발생하였습니다. 관리자에게 문의해 주세요."
문구가 뜨고 폼메일이 전송이 안되도록 되어있어요
그런데
엉터리 주소 형식으로 입력하거나 단순 문구만 입력하더라도
경고 문구가 뜨지 않고 정상적으로 폼메일이 전송되도록 할려면
어느 파일을 어떻게 수정해야 해요?
참고로 현재 이메일 항목을 기재하지 않아도 폼메일은 정상적으로 전송되고 있어요
(필수 입력항목은 이름 과 연락처 이예요)
====== 현재 폼메일에 적용된 소스느 아래와 같아요 ==========
<form id="send-mail" action="/bbs/send-mail.php" method="post">
<input type="hidden" name="ref" value="/sub4.php">
<table style="border-collapse:collapse; margin-left:85px; width:666px;">
<tbody>
<tr>
<td class="t_title">고객명</td>
<td class="t_con"><input id="name" class="input_cs" name="name" type="text" size="10" maxlength="40" placeholder="ex) 홍길동" required></td>
</tr>
<tr>
<td class="t_title">연락처(휴대폰)</td>
<td class="t_con"><input id="hp" name="hp" class="input_cs" type="text" size="15" maxlength="15" placeholder="ex) *** 개인정보보호를 위한 휴대폰번호 노출방지 ***" required></td>
</tr>
<tr>
<td class="t_title">이메일</td>
<td class="t_con"><input id="email" class="input_cs" name="email" type="text" maxlength="100" placeholder="ex) *** 개인정보보호를 위한 이메일주소 노출방지 ***"></td>
</tr>
<tr>
<td class="t_title">원하시는 차종</td>
<td class="t_con"><input id="car_name" class="input_cs" name="car_name" type="text" maxlength="100" placeholder="ex) 벤츠 e클래스"></td>
</tr>
<tr>
<td class="t_title">구매 지역</td>
<td class="t_con">
<select class="select_cs" name="p_area" placeholder="구매 지역">
<option class="option_cs" value="">- 선택</option>
<?php
$area = ['서울시', '경기도', '인천시', '부천시', '대전시', '대구시', '울산시', '세종시', '광주시', '충청북도', '충청남도', '경상북도', '경상남도', '전라북도', '전라남도', '제주도'];
foreach($area as $v) {
echo "<option value='".$v."'>".$v."</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td class="t_title">구매 시기</td>
<td class="t_con">
<select class="select_cs" name="p_time" placeholder="구매 시기">
<option class="option_cs" value="">- 선택</option>
<?php
$period = ["1주일 이내", "1개월 이내", "3개월 이내", "조건이 맞을시 즉시구입", "미정"];
foreach($period as $v) {
echo "<option value='".$v."'>".$v."</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td class="t_title">구매 방식</td>
<td class="t_con">
<select class="select_cs" name="p_how" placeholder="구매 방식">
<option value="" class="option_cs">- 선택</option>
<?php
$purchase = ["장기렌트(최저가보장)", "리스(최저가보장)", "계약금 10만원 전액 할부", "전액 현금", "현금+할부"];
foreach($purchase as $v) {
echo "<option value='".$v."'>".$v."</option>";
}
?>
</select>
</td>
</tr>
<tr class="tr_text">
<td class="t_title">남기실 말씀</td>
<td style="height:300px;"><textarea name="content" id="content" cols="" rows="12" placeholder="남기실 말씀"></textarea></td>
</tr>
<tr>
<td colspan="2">
<ul id="terms">
<li>
<input type="checkbox" id="terms-conditions">
<label for="terms-conditions">개인정보 취급방침 및 이용약관에 동의합니다.(필수)</label>
<a href="yakguan1.php" id="show-tc">[보기]</a>
</li>
<li>
<input type="checkbox" id="private-information">
<label for="private-information">개인정보 제 3자 정보제공에 동의합니다.(필수)</label>
<a href="yakguan2.php" id="show-pi">[보기]</a>
</li>
</ul>
</td>
</tr>
<tr>
<td colspan="2"><button type="submit" id="btn-send">OOOO에게 견적신청 하기</button></td>
</tr>
</tbody>
</table>
</form>
=========================================
===== send_mail.php 소스는 아래와 같아요========
<?php
include_once "./_common.php";
include_once G5_LIB_PATH."/mailer.lib.php";
ob_start();
include_once "./mail-form.php";
$content = ob_get_contents();
ob_end_clean();
$to = "*** 개인정보보호를 위한 이메일주소 노출방지 ***";
$is = mailer($_POST['name'], $_POST['email'], $to, $_POST['name']." 님의 견적 문의입니다.", $content, 1);
if($is) {
alert("정상적으로 신청되었습니다.", $_POST['ref']);
} else {
alert("오류가 발생하였습니다. 관리자에게 문의해 주세요.");
}
================================================
조언 좀 부탁드려요
답변 1
코드 마지막 부분인
$is = mailer($_POST['name'], $_POST['email'], $to, $_POST['name']." 님의 견적 문의입니다.", $content, 1);
if($is) {
alert("정상적으로 신청되었습니다.", $_POST['ref']);
} else {
alert("오류가 발생하였습니다. 관리자에게 문의해 주세요.");
}
을 보면, $_POST['email'] 에 값이 없으면 '' $is 값이 true,
$_POST['email'] 에 정상적인 이메일 형태이면 $is 값이 true,
$_POST['email'] 에 정상적인 이메일 형태가 아니면 $is 값이 false 로 된다는 얘기 같습니다.
이 점을 고려했을 때, 보내는 메일 주소를 작성자의 메일 주소가 아닌 메일을 받는 주소와 동일하게 하고.. 견적 문의를 하는 분의 메일 주소는 별도로 내용에만 추가해 주는 방법이 있을 듯 합니다.
(수정 코드)
//$is = mailer($_POST['name'], $_POST['email'], $to, $_POST['name']." 님의 견적 문의입니다.", $content, 1);
$content = $content . " (메일 주소 : " . $_POST['email'] . ")";
$is = mailer($_POST['name'], $to, $to, $_POST['name']." 님의 견적 문의입니다.", $content, 1);
if($is) {
alert("정상적으로 신청되었습니다.", $_POST['ref']);
} else {
alert("오류가 발생하였습니다. 관리자에게 문의해 주세요.");
}
!-->!-->