mail(entermedia.co.kr 의 qna 소스)

from_ greenass hansune
As 3.0

사용자 삽입 이미지


package {

 import flash.display.*;
 import flash.events.*;
 import flash.utils.*;

 import fl.transitions.Tween;
 import fl.transitions.TweenEvent;
 import fl.transitions.easing.*;

 import flash.ui.Mouse;
 import fl.managers.IFocusManagerComponent;
 import fl.controls.ScrollPolicy;
 import fl.controls.Slider;
 import fl.controls.SliderDirection;
 import fl.controls.TextArea;

 import flash.filters.BitmapFilter;
 import flash.filters.BitmapFilterQuality;
 import flash.filters.GlowFilter;

 import flash.net.*;
 import flash.errors.*;
 import flash.system.*;


 public class qna extends Sprite {

  System.useCodePage=true;
  //private var phpURL:String;
  private var sendChk:Boolean=false;
  private var adminEmail:String;
  private var verified:Boolean=false;
  public var currentStageH:Number;

  function qna():void {
   //-------------------------[load qna_setup.txt]----------------------------------------
/*   var loader:URLLoader = new URLLoader();
   loader.addEventListener(Event.COMPLETE,loadSetup);
   var request:URLRequest = new URLRequest("qna_setup.txt");
   try {
    loader.load(request);
   } catch (error:Error) {
    trace("Unable to load setupfile");
   }
  */ qnaBack.cover_mc.visible=false;
   qnaBack.alert_mc.x=-1250;
   //tabIndex
   qnaBack.name_txt.tabIndex=0;
   qnaBack.contact_txt.tabIndex=1;
   qnaBack.email_txt.tabIndex=2;
   qnaBack.subject_txt.tabIndex=3;
   qnaBack.content_txt.tabIndex=4;
   qnaBack.send_btn.tabIndex = 5;
   qnaBack.alert_mc.okBtn_mc.tabEnabled = false;
   
   //defalut value
   qnaBack.name_txt.text="";
   qnaBack.contact_txt.text="";
   qnaBack.email_txt.text="";
   qnaBack.subject_txt.text="";
   qnaBack.content_txt.text="";
   qnaBack.content_txt.htmlText="";
   //restrict value
   qnaBack.email_txt.restrict="0-9 a-z @_.";
   qnaBack.contact_txt.restrict="0-9\\- ";

   qnaBack.x=-100;
   qnaBack.y=380;
   glow(qnaBack);
   qnaBack.qmark_mc.buttonMode=true;
   qnaBack.qmark_mc.tabEnabled = false;
   qnaBack.qmark_mc.addEventListener(MouseEvent.CLICK,revitalizeQnA);
   qnaBack.qmark_mc.addEventListener(MouseEvent.MOUSE_OVER,menuOver);
   qnaBack.qmark_mc.addEventListener(MouseEvent.MOUSE_OUT,menuOut);
   qnaBack.send_btn.addEventListener(MouseEvent.CLICK,inputCheck);
   qnaBack.alert_mc.okBtn_mc.addEventListener(MouseEvent.CLICK,hideAlert);
   qnaBack.alert_mc.okBtn_mc.buttonMode = true;
  }
/*  private function loadSetup(event:Event):void {
   var vars:URLVariables = new URLVariables(event.target.data);
   //phpURL = vars.phpURL;
   adminEmail = vars.adminEmail;
   trace("qna.adminEmail ---  "+vars.adminEmail);
   //trace("qna.phpURL ---  "+vars.phpURL);
  }
*/
  public function viewQnA():void {

   trace("view QnA");
   // 좌표중심 왼쪽 상단임.
   // 이동선 : y = 380 -> x,y 관계를 유지

   new Tween(this.qnaBack,"x",Regular.easeInOut,this.qnaBack.x,160,10,false);

  }
  private function closeQnA(e:MouseEvent):void {
   var m:MovieClip = MovieClip(e.currentTarget);
   m.gotoAndPlay(17);
   qnaBack.qmark_mc.removeEventListener(MouseEvent.CLICK,closeQnA);
   qnaBack.qmark_mc.addEventListener(MouseEvent.CLICK,revitalizeQnA);
   new Tween(qnaBack,"x",Regular.easeInOut,qnaBack.x,160,10,false);
   new Tween(qnaBack,"y",Regular.easeInOut,qnaBack.y,380,15,false);

  }
  private function revitalizeQnA(e:MouseEvent):void {
   var m:MovieClip = MovieClip(e.currentTarget);
   m.gotoAndStop(16);
   qnaBack.name_txt.setFocus();
   qnaBack.qmark_mc.removeEventListener(MouseEvent.CLICK,revitalizeQnA);
   qnaBack.qmark_mc.addEventListener(MouseEvent.CLICK,closeQnA);
   if(currentStageH < 760){
    new Tween(qnaBack,"x",Regular.easeInOut,qnaBack.x,750,15,false);
    new Tween(qnaBack,"y",Regular.easeInOut,qnaBack.y,currentStageH-370,15,false);
   } else {
    new Tween(qnaBack,"x",Regular.easeInOut,qnaBack.x,750,15,false);
   }
  }
  private function menuOver(e:MouseEvent):void {
   //var sprite:Sprite=Sprite(e.target);
   
   var m:MovieClip = MovieClip(e.currentTarget);
   if (m.currentFrame < 15) {
    m.play();
   }
  }
  private function menuOut(e:MouseEvent):void {

   var m:MovieClip = MovieClip(e.currentTarget);
   if (m.currentLabel == "open") {
    for (var i:Number=m.currentFrame; i > 0; i--) {
     m.prevFrame();
    }
   }
   if (m.currentLabel == "close") {
    m.play();
   }
  }
  private function noCursor(e:MouseEvent):void {
   var sprite:Sprite=Sprite(e.target);
   sprite.buttonMode=false;
  }
  //-------------------------[IMPUT CHECKING]----------------------------------------
  function inputCheck(e:MouseEvent):void {
   if (qnaBack.name_txt.length == 0) {
    alert("view","이름을 입력하여 주십시요.");
    verified=false;
   } else if (qnaBack.email_txt.length == 0 && qnaBack.contact_txt.length == 0) {
    alert("view","연락처나 이메일 중 하나는.\n꼭 입력하여 주십시요.");
    verified=false;
   } else if ((qnaBack.contact_txt.length == 0 && qnaBack.email_txt.length != 0) && (qnaBack.email_txt.text.indexOf("@",3) == -1 || qnaBack.email_txt.text.indexOf(".",6) == -1 || qnaBack.email_txt.text.length < 11)) {
    alert("view","이메일을 바로 입력하여 주십시요.");
    verified=false;
   } else if ((qnaBack.contact_txt.length != 0 && qnaBack.email_txt.length != 0) && (qnaBack.email_txt.text.indexOf("@",3) == -1 || qnaBack.email_txt.text.indexOf(".",6) == -1 || qnaBack.email_txt.text.length < 11)) {
    alert("view","이메일을 바로 입력하여 주십시요.");
    verified=false;
   } else if ((qnaBack.contact_txt.length != 0 && qnaBack.email_txt.length == 0) && qnaBack.contact_txt.length < 9) {
    alert("view","연락처를 바로 입력하여 주십시요.");
    verified=false;
   } else if ((qnaBack.contact_txt.length != 0 && qnaBack.email_txt.length != 0) && qnaBack.contact_txt.length < 9) {
    alert("view","연락처를 바로 입력하여 주십시요.");
    verified=false;
   } else if (qnaBack.subject_txt.length == 0) {
    alert("view","제목을 입력하여 주십시요.");
    verified=false;
   } else if (qnaBack.content_txt.length == 0) {
    alert("view","내용을 입력하여 주십시요.");
    verified=false;
   } else {
    verified=true;
    sendQnA();
   }
  }
  //-------------------------[Send message]----------------------------------------
  private function sendQnA():void {
   //inputCheck();
   if (verified) {
    //trace("verified");
    var variables:URLVariables = new URLVariables();
    var writeDate:Date = new Date();
    var weekDayLabels:Array = new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
    variables.c_date = writeDate.getFullYear()+"-"+writeDate.getMonth()+"-"+writeDate.getDate()+"("+weekDayLabels[writeDate.getDay()]+")"+"   "+writeDate.getHours()+" : "+writeDate.getMinutes();
    variables.c_name = this.qnaBack.name_txt.text;
    variables.c_phone = this.qnaBack.contact_txt.text;
    variables.c_email = this.qnaBack.email_txt.text;
    variables.c_subject = this.qnaBack.subject_txt.text;
    variables.c_content = this.qnaBack.content_txt.htmlText;

    var sendRequest:URLRequest = new URLRequest("sendMail.php");
    sendRequest.method = URLRequestMethod.POST;
    sendRequest.data = variables;
   
    var loader:URLLoader = new URLLoader();
    loader.dataFormat=URLLoaderDataFormat.VARIABLES;
    loader.addEventListener(Event.COMPLETE,completeHandler);
    loader.addEventListener(IOErrorEvent.IO_ERROR,sendingFailed);

    try {
     loader.load(sendRequest);
     sendChk=true;

    } catch (error:Error) {
     alert("view",String(error));
    }
   }
  }
  private function completeHandler(e:Event):void {
   var loader:URLLoader=URLLoader(e.target);
   var vars:URLVariables=new URLVariables(loader.data);

   alert("view",String(e.target.data.msg));
   trace("completeHandler: " + vars.msg);
  }
  function sendingFailed(event:Event):void {
   trace("IOErrorEvent.IO_ERROR");
  }

  //-------------------------[alert message]----------------------------------------
  function alert(viewCheck:String,msg:String):void {
   qnaBack.cover_mc.addEventListener(MouseEvent.ROLL_OVER,noCursor);

   if (viewCheck == "view") {
    qnaBack.cover_mc.visible = true;
    qnaBack.alert_mc.result_txt.text=msg;
    qnaBack.alert_mc.x=-1250;
    var alertTween:Tween=new Tween(qnaBack.alert_mc,"x",Strong.easeOut,qnaBack.alert_mc.x,-520,10,false);
   } else {
    if (sendChk == true) {
     qnaBack.name_txt.text=qnaBack.contact_txt.text = qnaBack.email_txt.text=qnaBack.subject_txt.text=qnaBack.content_txt.text="";
     sendChk=false;
     qnaBack.name_txt.setFocus();
    }
    qnaBack.cover_mc.visible=false;
    var alertHide:Tween=new Tween(qnaBack.alert_mc,"x",Strong.easeIn,qnaBack.alert_mc.x,-1250,10,false);
   }
  }

  function hideAlert(e:MouseEvent):void {
   qnaBack.cover_mc.removeEventListener(MouseEvent.ROLL_OVER,noCursor);
   alert("hide",null);
  }
  //-------------------------[Glow filter]----------------------------------------
  public function glow(object:Object) {
   var filter:BitmapFilter=getBitmapFilter();
   var myFilters:Array=new Array();
   myFilters.push(filter);
   object.filters=myFilters;
  }

  private function getBitmapFilter():BitmapFilter {
   var color:Number=0x000000;
   var alpha:Number=0.24;
   var blurX:Number=8;
   var blurY:Number=8;
   var strength:Number=2;
   var inner:Boolean=false;
   var knockout:Boolean=false;
   var quality:Number=BitmapFilterQuality.HIGH;

   return new GlowFilter(color,alpha,blurX,blurY,strength,quality,inner,knockout);
  }
 }
}



<?

/* recipients */
include "adminemail.txt";

$date = $_POST["c_date"];
$from = $_POST["c_name"];
$contact = $_POST["c_phone"];
$email = $_POST["c_email"];
$subject = $_POST["c_subject"];
$content = $_POST["c_content"];



$message = "
<html>
<head>
 <title>".$subject."</title>
</head>
<body>
<table width='604' border='0' bgcolor='#CCCCCC' align='center'>
  <tr>
    <td>
 <table width='600' border='0' cellpadding='1' cellspacing='1'>
      <tr>
        <td width='100' height='20' bgcolor='#FFFFFF' align='center'><font  size='2'>작성일시</font></td>
        <td width='390' bgcolor='#FFFFFF'>&nbsp;&nbsp;".$date."</td>
      </tr>
      <tr>
        <td height='20' bgcolor='#FFFFFF' align='center'><font  size='2'>이름</font></td>
        <td bgcolor='#FFFFFF'>&nbsp;&nbsp;".$from."</td>
      </tr>
      <tr>
        <td height='20' bgcolor='#FFFFFF' align='center'><font  size='2'>연락처</font></td>
        <td bgcolor='#FFFFFF'>&nbsp;&nbsp;".$contact."</td>
      </tr>
      <tr>
        <td height='20' bgcolor='#FFFFFF' align='center'><font  size='2'>이메일</font></td>
        <td bgcolor='#FFFFFF'>&nbsp;&nbsp;".$email."</td>
      </tr>
      <tr>
        <td bgcolor='#FFFFFF' align='center'><font  size='2'>내용</font></td>
        <td bgcolor='#FFFFFF' ><font face='돋음' size='2'>&nbsp;&nbsp;".$content."</font></td>
      </tr>
    </table>
  </tr>
</table>
</body>
</html>
";

/* HTML 메일을 보내려면, Content-type 헤더를 설정해야 합니다. */

//$headers.= "content-type: text/html; charset=euc-kr\n";

/* 추가 헤더 */
$headers = "Return-Path: $admin_mail \n";// 리턴되는 메일 받는 곳
$headers = "Errors-To: $admin_mail \n";//error
$headers .= "From: $from <$email>\n";//보내는 사람
$headers .= "Replay-To:$admin_mail \n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "X-Mailer: mail.entermedia.com \n";//보내는 메일 서버 관련
$headers .= "Content-Type:text/html;charset=euc-kr \n";

/* 그리고 메일을 보냅니다. */
$result = mail($admin_mail, $subject, $message, $headers);


if($result){
 $msg = "$admin_mail 에게 \n 성공적으로 메일을 보냈습니다.";
 echo "msg=$msg";
}else{
 $msg = "메일 보내기를 실패했습니다.\n데이터를 확인해주세요.";
 echo "msg=$msg";
}

?>