회원메일 발송했을때 정상적인 수신거부가 안되는거... 정보
회원메일 발송했을때 정상적인 수신거부가 안되는거...본문
위처럼 수신거부를 누르면 제대로 된 값이 넘어 오지 않았다고 나와서 테스트를 해 보았습니다. 그런데 보니 조금 문제가 있는거 같습니다.
회원메일 발송에서 테스트 메일을 보내면 정상적으로 수신거부가 됩니다.
하지만 실질적으로 보내기를 해서 메일을 받아 보면 수신거부가 되지 않습니다.
/email_stop.php?mb_id=회원아이디&mb_md5=68966995766903bad7e9cd0b442673b9<--테스트 메일 보내기 정상 수신거부
/email_stop.php?mb_id=회원아이디&mb_md5=21232f297a57a5a743894a0e4a801fc3<-- 실제로 보내는 메일, 수신거부 불가능
/email_stop.php?mb_id=회원아이디&mb_md5=68966995766903bad7e9cd0b442673b9<-- 다시 테스트 메일 보낸것, 정상수신거부
/email_stop.php?mb_id=회원아이디&mb_md5=21232f297a57a5a743894a0e4a801fc3<-- 실제로 보내는 메일, 수신거부 불가능
/email_stop.php?mb_id=회원아이디&mb_md5=68966995766903bad7e9cd0b442673b9<-- 다시 테스트 메일 보낸것, 정상수신거부
보시다 시피 값이 다르게 나오네요. 값이 달라서 수신거부가 안되는거 맞나요?
email_stop.php 내용입니다.
<?
include_once("./_common.php");
$sql = " select mb_id, mb_email, mb_datetime from $g4[member_table] where mb_id = '$mb_id' ";
$row = sql_fetch($sql);
if (!$row[mb_id])
alert("존재하는 회원이 아닙니다.", $g4[path]);
if ($mb_md5)
{
$tmp_md5 = md5($row[mb_id].$row[mb_email].$row[mb_datetime]);
if ($mb_md5 == $tmp_md5)
{
sql_query(" update $g4[member_table] set mb_mailling = '0' where mb_id = '$mb_id' ");
alert("정보메일을 보내지 않도록 수신거부 하였습니다.", $g4[path]);
}
}
alert("제대로 된 값이 넘어오지 않았습니다.", $g4[path]);
?>
<?
include_once("./_common.php");
$sql = " select mb_id, mb_email, mb_datetime from $g4[member_table] where mb_id = '$mb_id' ";
$row = sql_fetch($sql);
if (!$row[mb_id])
alert("존재하는 회원이 아닙니다.", $g4[path]);
if ($mb_md5)
{
$tmp_md5 = md5($row[mb_id].$row[mb_email].$row[mb_datetime]);
if ($mb_md5 == $tmp_md5)
{
sql_query(" update $g4[member_table] set mb_mailling = '0' where mb_id = '$mb_id' ");
alert("정보메일을 보내지 않도록 수신거부 하였습니다.", $g4[path]);
}
}
alert("제대로 된 값이 넘어오지 않았습니다.", $g4[path]);
?>
댓글 전체
아무래도 버그인가 봅니다.
테스트 메일은
$mb_md5 = md5($member[mb_id].$member[mb_email].$member[mb_datetime]);
실제 메일은
$mb_md5 = md5($mb_id.$mb_email); <-- 회원가입일(mb_datetime)가 없어서 정상적인 리턴이 안됨.
고로 실제 메일 부분에서도 테스트 메일에서 처럼 가입일이 뽑아서 적용을 해야 정상작동 될듯 합니다.
$mb_md5 = md5($mb_id.$mb_email.$mb_datetime); 가 되어야 하는데
테스트 메일은
$mb_md5 = md5($member[mb_id].$member[mb_email].$member[mb_datetime]);
실제 메일은
$mb_md5 = md5($mb_id.$mb_email); <-- 회원가입일(mb_datetime)가 없어서 정상적인 리턴이 안됨.
고로 실제 메일 부분에서도 테스트 메일에서 처럼 가입일이 뽑아서 적용을 해야 정상작동 될듯 합니다.
$mb_md5 = md5($mb_id.$mb_email.$mb_datetime); 가 되어야 하는데