mail(entermedia.co.kr 의 qna 소스)
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'> ".$date."</td>
</tr>
<tr>
<td height='20' bgcolor='#FFFFFF' align='center'><font size='2'>이름</font></td>
<td bgcolor='#FFFFFF'> ".$from."</td>
</tr>
<tr>
<td height='20' bgcolor='#FFFFFF' align='center'><font size='2'>연락처</font></td>
<td bgcolor='#FFFFFF'> ".$contact."</td>
</tr>
<tr>
<td height='20' bgcolor='#FFFFFF' align='center'><font size='2'>이메일</font></td>
<td bgcolor='#FFFFFF'> ".$email."</td>
</tr>
<tr>
<td bgcolor='#FFFFFF' align='center'><font size='2'>내용</font></td>
<td bgcolor='#FFFFFF' ><font face='돋음' size='2'> ".$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";
}
?>

