질문&답변
클라우드/리눅스에 관한 질문과 답변을 주고 받는 곳입니다.
리눅스 분류

메일링은 되는데, 비번분실 발송메일과 게시물 첨부메일이 안됩니다.

작성자 정보

  • 한법경 작성
  • 작성일

컨텐츠 정보

본문

예전에 cafe24에서 호스팅을 받다가 개인 서버를 구축하여 운영하고 있습니다.

그런데 cafe24에서는 메일링 포함, 모든 메일이 이상없이 발송되었는데,
서버로 내용을 이전하고 나서 메일링은 이상없이 발송되지만 비밀번호 분실시 알려주는 메일과 게시물을 메일로 보내는 부분이 작동이 안됩니다. (발송되었다는 메시지는 나오지만 실제 발송은 안됨...)

참고로 저는 제로보드를 사용하고 있으며, 아래는 게시물 메일발송 소스입니다.

mailthis.php-----------------------------------------------

<?
  require "lib.php";
  mailhead();
?> 
 
  <script>
  function check_submit()
  {
   if(!mailthis.mailto.value) {alert("받는 사람 E-Mail을 입력하세요"); mailthis.mailto.focus(); return false; }
   if(!mailthis.name.value) {alert("보내는 사람 이름을 입력하세요"); mailthis.name.focus(); return false; }
   if(!mailthis.mail.value) {alert("보내는 E-Mail을 입력하세요"); mailthis.mail.focus(); return false; }
   if(!mailthis.subject.value) {alert("제목을 입력하여 주십시요"); mailthis.subject.focus(); return false; }
   if(!mailthis.memo.value) {alert("내용을 입력하여 주십시요"); mailthis.memo.focus(); return false; }
  }
  </script>

<form name=mailthis method=post action='mailgo.php?id=<? echo $id; ?>&no=<? echo $no; ?>' onsubmit="return check_submit()">
<input type=hidden name=id value=<? echo $id; ?>>
<input type=hidden name=no value=<? echo $no; ?>>
<table border=0 cellspacing=0 cellpadding=0 width=100%  height=100%>
<tr><td colspan=2 height=4 bgcolor=#CCCCCC></td></tr>
<tr>
   <td colspan=2 align=right bgcolor=666666 height=24><font size=2 color=#FFFFFF><b>이 글을 E-mail로 보내기<b></font>&nbsp;&nbsp;</td>
</tr>
<tr><td colspan=2 height=4 bgcolor=#CCCCCC></td></tr>
<tr><td height=1 colspan=2></td></tr>
<tr height=25>
   <td align=right>받는사람 메일&nbsp;</td>
   <td>&nbsp;&nbsp;<input type=text name=mailto maxlength=255 size=30 style="font-size:10pt;background-color:EEEEEE;cursor:hand;border:1px solid gray"></td>
</tr>
<tr height=25>
   <td align=right>보내는사람 이름&nbsp;</td>
   <td>&nbsp;&nbsp;<input type=text name=name maxlength=14 size=14 style="font-size:10pt;background-color:EEEEEE;cursor:hand;border:1px solid gray"></td>
</tr>
<tr height=25>
   <td align=right>보내는사람 메일&nbsp;</td>
   <td>&nbsp;&nbsp;<input type=text name=mail maxlength=255 size=30 style="font-size:10pt;background-color:EEEEEE;cursor:hand;border:1px solid gray"> HTML <input type=checkbox name=html value=1 checked></td>
</tr>
<tr height=25>
   <td align=right>덧붙일 제목&nbsp;</td>
   <td>&nbsp;&nbsp;<input type=text name=subject maxlength=255 size=39 style="font-size:10pt;background-color:EEEEEE;cursor:hand;border:1px solid gray"></td>
</tr>
<tr>
   <td colspan=2 align=center>
      <textarea name=memo rows=11 cols=50 style="font-size:10pt;background-color:EEEEEE;cursor:hand;border:1px solid gray"></textarea></td>
</tr>
<tr height=30>
   <td colspan=2 align=center>
      <input type=submit value="Mail발송" style="font-size:10pt;background-color:EEEEEE;cursor:hand;"> &nbsp;&nbsp;
      <input type=button value="창 닫 기" onclick=window.close() style="font-size:10pt;background-color:EEEEEE;cursor:hand;">
   </td>
</tr>
</form>
</table>

  <?
  directfoot();
?>

 

------mailgo.php--------------------------------------------------------------------

<?
  include "lib.php";
  $home_url ="http://blue7.net/zeroboard";

  if(!$id) Error("게시판 이름을 지정하여 주셔야 합니다.","");

  $connect=dbConn();
  $setup=get_table_attrib($id);

  // 없는 게시판일 경우 에러 메시지
  if(!$setup[name]) Error("생성되지 않은 게시판입니다.<br><br>게시판을 생성후 사용하십시요","");

  // 현재 게시판의 그룹의 설정 읽어 오기
  $group=group_info($setup[group_no]);

  // 멤버 정보 구해오기;;; 멤버가 있을때
  $member=member_info();

  // 현재 로그인되어 있는 멤버가 전체, 또는 그룹관리자인지 검사
  if($member[is_admin]==1||$member[is_admin]==2&&$member[group_no]==$setup[group_no]||$member[board_name]==$id) $is_admin=1; else $is_admin="";

  // 접근 금지 아이피인 경우 금지하기;;;
  $avoid_ip=explode(",",$setup[avoid_ip]);
  for($i=0;$i<count($avoid_ip);$i++)
  {
   if(!isblank($avoid_ip[$i])&&eregi($avoid_ip[$i],$REMOTE_ADDR)&&!$is_admin)
    Error(" Access Denied ");
  }

  // 현재 그룹이 폐쇄그룹이고 로그인한 멤버가 비멤버일때 에러표시
  if($group[is_open]==0&&!$is_admin&&$member[group_no]!=$setup[group_no]) Error("공개 되어 있지 않습니다");

  // 사용권한 체크
  if($setup[grant_view]<$member[level]&&!$is_admin) Error("사용권한이 없습니다","login.php?id=$id&page=$page&page_num=$page_num&category=$category&sn=$sn&ss=$ss&sc=$sc&keyword=$keyword&no=$no&file=zboard.php");

  // 스킨 디렉토리 : $dir 이라는 변수는 계속해서 스킨경로 파일로 ////
  $dir="skin/".$setup[skinname];

  $data=mysql_fetch_array(mysql_query("select * from zetyx_board_$id where no='$no'"));
  $head_num=$data[headnum];
  $mail_memo=$data[memo];

  // 비밀글이고 패스워드가 틀리고 관리자가 아니고 그러면 빠꾸
  if($data[is_secret]&&!$is_admin&&$data[ismember]!=$member[no]&&!$secret[$no])
  {
   if($data[ismember])
   {
    Error("비밀글입니다. 열람할 권한이 없습니다");
   }
   else
   {
    $password=mysql_fetch_array(mysql_query("select password('$password')"));
    if($data[password]!=$password[0])
    {
     head();
     $a_list="<a onfocus=blur() href='zboard.php?$href$sort'>";   
     $a_view="<Zetyx ";
     $target="view.php";
     $title="이 글은 비밀글입니다.<br>비밀번호를 입력하여 주십시요";
     $input_password="<input type=password name=password size=20 maxlength=20 class=input>";
     require $dir."/ask_password.php";
     foot();
     exit;
    }
    setcookie("secret[$no]","ok","");
   }
  }


  // 카테고리의 이름을 구함
  if($data[category]&&$setup[use_category]) $category_name=$category_data[$data[category]];
  else $category_name="&nbsp;";

  // ' 등의 특수문자때문에 붙인 (역슬래쉬)를 떼어낸다
  $mail_name=stripslashes($data[name]);
  $mail_homepage=stripslashes($data[homepage]);
  $mail_mail=stripslashes($data[mail]);
  $mail_subject=stripslashes($data[subject]);
$mail_memo=nl2br(stripslashes($data[memo]));
  $mail_homelink=stripslashes($data[sitelink1]);
  $mail_filelink=stripslashes($data[sitelink2]);
  $mail_file=$data[s_file_name1];
  $mail_file2=$data[s_file_name2];

  // 테이블태그 살려주기
  $mail_memo=explode("<br>",$mail_memo);
  $check_table=0;
  for($i=0;$i<count($mail_memo);$i++)
  {
   if(eregi("<table",$mail_memo[$i])) $check_table++;
   if(eregi("</table",$mail_memo[$i])) $check_table--;
   elseif(!eregi("<t[dra]{1}",$mail_memo[$i])&&!ereg("</t[dra]{1}",$mail_memo[$i])&&!$check_table) $mail_memo[$i].="<br>";
   else $mail_memo[$i]=eregi_replace("^[&nbsp;]+","",$mail_memo[$i]);
  }
  $mail_memo=implode("",$mail_memo);

  // 자동링크 걸기
  $mail_memo=autolink($mail_memo);

  // 조회수, 다운로드수, 추천수를 간단한 변수로 치환
  $mail_hit=$data[hit];
  $mail_download=$data[download];
  $mail_download2=$data[download2];
  $mail_vote=$data[vote];

  $mail_memo="<div style=line-height:160%>".$mail_memo."</div>";


  // 그림파일이 있을때 출력

  if(eregi(".jpg",$data[file_name1])||eregi(".gif",$data[file_name1])) $mail_memo="<img src=$home_url/$data[file_name1] border=0><p>".$mail_memo;
  elseif(eregi(".swf",$data[file_name1])) $mail_memo="<embed src=$home_url/$data[file_name1] border=0><br>".$mail_memo;

  if(eregi(".jpg",$data[file_name2])||eregi(".gif",$data[file_name2])) $mail_memo="<p><img src=$home_url/$data[file_name2] border=0><p>".$mail_memo;
  elseif(eregi(".swf",$data[file_name2])) $mail_memo="<embed src=$home_url/$data[file_name2] border=0><br>".$mail_memo;


  $header = "Return-Path: $mail ";
  $header .= "From: $name <$mail> ";
  $header .= "Reply-to: $mail ";
  $header .= "X-Mailer: HEAVEN ";
  if($html) $header .= "Content-Type: text/html;"; else $header .= "Content-Type: text/plain;";
  $header .= "charset=euc-kr ";
  $header .= "MIME-Version: 1.0 ";
  if($html) $memo=nl2br($memo);
  $memo = "<STYLE>";
  $memo = "A:link {text-decoration:none; color:#5F5F5F;}";
  $memo = "A:active {text-decoration:none; color:ffffff;}";
  $memo = "A:visited {text-decoration:none; color:666666;}";
  $memo = "A:hover {  text-decoration:none; color:#0065FF;}";
  $memo = "p,br,body,td,table,tr {color:333333; font-size:10pt;font-family:굴림; line-height:140%;}";
  $memo = "</STYLE>";
  $memo = stripslashes($memo);
  $memo .= "<br> ";
  $memo .= "<table width=100% border=0 cellspacing=1 cellpadding=4 bgcolor=#B2B2B2> ";
  $memo .= "<tr><td bgcolor=#E5E5E5 width=150><font size=2>&nbsp;원본 자료 보기 : </td><td bgcolor=white><font size=2>&nbsp;<a href='$home_url/view.php?id=$id&no=$no' target='_blank'>여기를 클릭하세요.</a></td></tr> ";
  $memo .= "<tr><td bgcolor=#E5E5E5 width=150>&nbsp;<font size=2>원본 제목 : </td><td bgcolor=white><font size=2>&nbsp;$mail_subject</td></tr> ";
  $memo .= "<tr><td bgcolor=#E5E5E5 width=150>&nbsp;<font size=2>원본 게시자 : </td><td bgcolor=white><font size=2>&nbsp;$mail_name</td></tr> ";
  $memo .= "<tr><td bgcolor=#E5E5E5 width=150>&nbsp;<font size=2>원본 게시자 메일 : </td><td bgcolor=white><font size=2>&nbsp;$mail_mail</td></tr> ";
  $memo .= "<tr><td colspan=2 bgcolor=white><font size=2>&nbsp;게시물 본문 : <br><br>$mail_memo</td></tr> ";
if($mail_homelink) $memo .= "<tr><td><font size=2>&nbsp;링크1 : </td><td bgcolor=white><font size=2>&nbsp;<a href=$mail_homelink target='_blabk'>$mail_homelink</a></td></tr> "; 
if($mail_filelink)  $memo .= "<tr><td><font size=2>&nbsp;링크2 : </td><td bgcolor=white><font size=2>&nbsp;<a href=$mail_filelink target='_blabk'>$mail_filelink</a></td></tr> ";
if($mail_file)  $memo .= "<tr><td><font size=2>&nbsp;다운1 : </td><td bgcolor=white><font size=2>&nbsp;<a href=$home_url/$data[file_name1] target='_blabk'> $mail_file </a></td></tr> ";   
if($mail_file2)  $memo .= "<tr><td><font size=2>&nbsp;다운2 : </td><td bgcolor=white><font size=2>&nbsp;<a href=$home_url/$data[file_name2] target='_blabk'> $mail_file2 </a></td></tr> "; 
  $memo .= "</table> ";
 
  mail($mailto,$subject,$memo,$header);
  echo"<script language="javascript">window.close();</script>";

?>

 

 


 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,365 명
  • 현재 강좌수 :  37,036 개
  • 현재 접속자 :  399 명