RadarURL
웹 프로그래밍

제로보드에서 회원생일 메일 보내기

by 처누 posted Nov 16, 2003
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
[ redsuns ]님껏 수정

<?
## 오늘 생일인 넘들 화면에 뿌려주고, 이멜 한 통씩 보내주기
## 파일로 저장해서 include하시던지 아님 직접 삽입하든지...

// DB 접속
$conn=mysql_connect("localhost", "아이디", "패스워드");
mysql_select_db("DB명", $conn);

$today=date("n.j"); // 오늘 날짜를"4.1"데이타형식으로...

// 회원정보테이블에서 생일(birth)필드가 오늘 날짜인 이름과 이멜주소를 가져옵니다.
$result=mysql_query("select name, email from zetyx_member_table where from_unixtime(birth,'%c.%e')='$today' ", $conn);        

$total=mysql_num_rows($result);  // 오늘 생일인 넘들의 합계를 구합니다.

// 테이블을 만들고...
echo "  
                <table>
                <tr>
                        <td align=center width=500height='16'>
                        오늘 생일이신 회원님 <br><br>
                         </td>
                    </tr>
                </tr>
                         <td align=center width=500>
                ";

// 처음 실행-파일을 만들고...(요건 하루에 한번씩만 메일을 보내기 위해)
$fp=fopen("birth_mail.dat","a");
if(!$fp)        {
        echo "처음 파일 맹그는 중";
}
fclose($fp);

// 오늘 생일인 넘이 있다면 이름과 멜주소를 배열로 변수에 담고...
if ($total)        {
        for ($i=1; $i<=$total; $i++)         {
                $row=mysql_fetch_array($result);
                $name=$row["name"];
                $email=$row["email"];

// 파일에서 값을 읽어오기(파일에는 오늘날짜가 들어있쥐)
$fp=fopen("birth_mail.dat","r");        
flock($fp,1);
$temp = fread($fp, filesize("birth_mail.dat"));
flock($fp,3);
fclose($fp);

// 오늘날짜와 파일값이 같지 않다면 즉, 날짜가 바뀌었고 생일인 넘이 있다면 메일을 보냄
                if($today != $temp)                {
// 보내는 메일 내용
$content = "
<br><br><br><br><br>
<center>
<table cellpadding='0' cellspacing='0'>
    <tr>
        <td width='513' style='padding-top:5px; padding-bottom:3px;'>
             <p><b>$name</b> 생일 진심으로 축하 드립니다.*^^*</span></p>
        </td>
    </tr>
    <tr>
        <td width=513 style='padding-top:10px; padding-bottom:10px; border-top-width:2px; border-bottom-width:1px; border-top-color:navy; border-bottom-color:navy; border-top-style:solid; border-bottom-style:solid;'>
            <p>근데, 오늘이 네 생일 맞나요?<br>
            <br>에구, 이젠 생일이라구 즐겁지만은 않겠군요. 어찌하다보니 한살 더 먹고
            말았었니^^;<br>암튼 생일 추카 합니다. 하루 재미있게 보내고 만수무강 하시기를....!   -
            그냥 Rose [창환이가] -</span></p>
            http://speed.nayana.cc
        </td>
    </tr>
</table>
</center>
";

// 생일인 넘에게 메일보냄
// 밑1번째줄-생일인 넘의 이멜주소(건들지 마세요),
// 밑2번째줄-이멜의 제목부분(알아서 수정)
// 밑3번째줄- 이멜 내용(위 $content ="    "; 부분을 수정),
// 밑4번째줄-태그허용,redsuns@key.or.kr-보내는 넘의 이멜주소(관리자 이멜-수정하세요)
mail("$email",
     "$name 생신 추카 드립니다.^^; [창환이로부터...]",
     "$content",
     "Content-type: text/html\nFrom:speed_0207@yahoo.co.kr");
                }

// 화면에 출력되는 이름과 추카메시지
  echo "
       $name</a>,
                ";

        }
        }  

// 생일인 넘이 없을 경우에 출력되는 메시지
        else        {        echo " 생일 맞으신분이 한분도 없네요?*^^* ";        }

// birth_mail.dat 파일에 오늘날짜를 입력
$fp=fopen("birth_mail.dat", "w");
while(!flock($fp,2));
fwrite($fp, $today);
fclose($fp);

// 테이블의 나머지 부분
echo "
                </td>
                </tr>
                <tr><td background=image/dot.gif height=1></td></tr>                
                </table>
                <br>
                ";
// mysql 죽이기^^;
mysql_close($conn);
?>
<p align="right">모두 모두 생일 축하드려요.

아시는분은 아시겠지만
redsuns 것 사용하는중에 에러가 발생해서 수정 했습니다.
밑에 보이는것처럼 n.j부분과birth,'%c.%e'부분이 막혔더군요.
생일 맞으시는분에게 메일도 정상적으로 갑니다.테스트유 통과..

$today=date("n.j"); // 오늘 날짜를"4.1"데이타형식으로...

// 회원정보테이블에서 생일(birth)필드가 오늘 날짜인 이름과 이멜주소를 가져옵니다.
$result=mysql_query("select name, email from zetyx_member_table where from_unixtime(birth,'%c.%e')='$today' ", $conn);    

출처 : 김창환
링크 : http://www.nzeo.com/bbs/zboard.php?id=cgi_tip&page=2&sn1=&divpage=1&sn=off&ss=on&sc=off&keyword=생일&select_arrange=headnum&desc=asc&no=633

Articles

1 2 3 4 5 6 7 8 9 10