[php/html] 게시물 메일보내기 - 간단한 소스(레이어사용)
2004.11.25
제로보드에서도 사용할 수 있는 게시물 메일 보내기 입니다.
레이어를 이용해서 간단히 보낼 수 있습니다..
View.php 에서 메일보내기
커뮤너티나 큰 웹사이트 다니다 보면.. "현재 보고있는 글을 이메일로 보내기"란
기능이 많이 있더라구요.. 저도 꼭 이걸 구현해보고 싶어서 만들어봤습니다.
현재 제 홈페이지에서 사용중이구요.
제 홈페이지 아무게시판이나 클릭해서 글 내용보면 밑부분에 이메일로 보내기 기능이있습니다.
뭐 그리 어렵지는 않습니다.
우선 view.php파일에 약간만 수정해주면 됩니다.
원리는 레이어와 메일보내기 함수를 이용한것입니다.
우선 view.php파일의 가장 윗부분에 레이어에 해당하는 자바스크립트를 넣어줘야 합니다.
================================================================================
<script language="JavaScript">
<!--
function na_hide_layer(lname)
{
if (document.layers)
document.layers[lname].visibility = 'hide'
if(document.all)
document.all(lname).style.visibility = 'hidden'
}
function na_show_layer(lname)
{
if (lname == '') return;
var layer = document.all ? document.all(lname).style : document.layers[lname];
var show = document.all ? 'visible' : 'show';
var hide = document.all ? 'hidden' : 'hide';
if (na_show_layer.arguments.length <= 1)
layer.visibility = show;
else
layer.visibility = (na_show_layer.arguments[1] == 0 ? show : hide);
}
// -->
</script>
==================================================================================
그리고 글쓴사람.. 날짜.. 내용등등.. 이렇게 쭉 따라내려오겠죠.
그리고 마지막 부분에.. "현재글 이메일로 보내기" 라는 메뉴를 하나 만듭니다.
<a href="#" OnClick="na_show_layer('layer2');">현재글을 이메일로 보내기</a>
그리고 밑에 레이어에 해당하는 부분을 작성해주면 됩니다.
레이어 속에는 메일함수가 들어가야 하겠죠.
<div id="layer2" style="width:250px; height:10px; position:absolute; left:400px; top:460px; z-index:1; visibility:hidden;">
<!-- 메일 보내기 폼 부분 -->
<table border="0" cellpadding=0 cellspacing=0 width="100%">
<tr>
<td align=left bgcolor=#3366cc>
<font color=white>이메일로 보내기</font>
</td>
<td align=right bgcolor=#3366cc>
<a href="#none" OnClick="na_hide_layer('layer2');">
<img src=<?=$dir?>/btn_search_cancel.gif border=0 alt='취소 버튼'></a>
</td>
</tr>
<tr>
<td bgcolor=white height=10></td>
<td bgcolor=white height=10></td>
</tr>
<tr>
<td bgcolor=white align=center>
<form method='post'>
<input type="hidden" name="mode" value="up">
<font size=2 face=tahoma color=black><b>e-mail : </b></font><input type="text" name="tomail" maxlength="30">
<input type="submit" value="보내기" class=input>
</form>
</td>
<td bgcolor=white>
</td>
</tr>
</table>
</div>
<!-- 폼 끝 -->
<?
if ($mode = up) {
$mh = "From: MRJH <mail@mrjh.net>\r\n";
$mh .= "Content-Type: text/html; charset=euc-kr\r\n";
$title="Mr. JH에서 전송한 내용입니다.";
$body="<table border=0 width=70%>
<tr>
<td width=100% align=left>
<font size=2 face=tahoma><b> $subject </b></font>
<hr size=1 color=#990000 width=100%>
</td>
</tr>
<td width=100%>
$memo
</td>
</tr>
<tr>
<td width=100% align=right>
<hr size=1 color=#990000 width=100%>
<font size=4 face=tahoma color=#990000><b>Mr. JH</b></font>
</td>
</tr>
</table>";
mail($tomail , $title , $body, $mh);
}
?>
전체적인 구조는 이러합니다. 메일함수만 잘 이용하면 되겠죠.
메일 함수에서.. 제로보드에서 입력한 제목과 내용을 그대로 받아와서 보내기면 하면되죠.
근데 HTML이 되게 해야지.. 그냥 내용만 보내면..
<br> 이란 태그가 자꾸 붙어서 나옵니다.
전체 소스를 보실분은 http://mrjh.net/etc/source/view_source.php 여길 클릭하면
제가 제 view.php 파일의 전체소스를 올려뒀습니다.
'IT-개발,DB' 카테고리의 다른 글
[javascript] iframe 활용하기 (0) | 2016.08.25 |
---|---|
[php/html] 제로보드 회원가입시 가입축하메일 발송하기 (0) | 2016.07.21 |
[html/javascript] form 태그 항목 리스트 전체 선택하기 (0) | 2016.07.16 |
[Javascript/html] Select 태크로 목록 선택하기 (0) | 2016.07.16 |
[용어] 유비쿼터스(Ubiquitous) (0) | 2016.07.16 |
댓글