| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176 | 
							- <?php
 
- define('MAIL_SMTP','smtp.qq.com'); 		// 邮箱SMTP服务器
 
- define('MAIL_ADDRESS','hr.internal@oasgames.com'); 	// 邮箱地址
 
- define('MAIL_LOGINNAME','hr.internal@oasgames.com'); // 邮箱登录帐号
 
- define('MAIL_PASSWORD','oashr2013'); 		
 
- define('MAIL_FROM_NAME','OASIS GAMES HR'); 		
 
-  //发送邮件
 
- function SendMail($address,$title,$message,$ReplyTo_Addr="noreply@oasgame.com",$ReplyTo_Name="OASIS Games", $service='amazon'){
 
- 	
 
- 	if($service=='amazon'){
 
- 		return OASMailer::SendMail_WithAmazon($address,$title,$message);
 
- 	}
 
- 	else{
 
- 		return OASMailer::SendMail_TS($address,$title,$message,$ReplyTo_Addr,$ReplyTo_Name);
 
- 	}
 
- }
 
- class OASMailer{
 
- 	public static $phpMailer;
 
- 	public static $sendErrResult;
 
- 	
 
- 	public static function SendMail_TS($address,$title,$message,$ReplyTo_Addr="noreply@oasgame.com",$ReplyTo_Name="OASIS Games"){
 
- 		if(empty($phpMailer)){
 
- 			require_once(dirname(__FILE__) . '/PHPMailer/class.phpmailer.php');
 
- 			self::$phpMailer = new PHPMailer();
 
- 		}
 
- 		
 
- 	    $mail = self::$phpMailer;
 
- 	
 
- 	    // Telling the class to use SendMail transport
 
- 		$mail->IsSendmail(); 
 
- 	    // 开启HTML标签的支持
 
- 		$mail->IsHTML(true);
 
- 	    // 设置邮件的字符编码,若不指定,则为'UTF-8'
 
- 	    $mail->CharSet  = 'UTF-8';
 
- 		
 
- 		$mail->AddReplyTo($ReplyTo_Addr,$ReplyTo_Name);
 
- 		
 
- 		$mail->SetFrom($ReplyTo_Addr, $ReplyTo_Name);
 
- 		
 
- 		$mail->AddAddress($address,"");
 
- 		
 
- 		$mail->Subject    = $title;
 
- 		
 
- 		//$mail->AltBody  = "To view the message, please use an HTML compatible email viewer!";
 
- 		$mail->MsgHTML($message);
 
- 		
 
- 		return $mail->Send();   
 
- 	}
 
- 	
 
- 	public static function SendMail_WithAmazon($address,$subject,$message){
 
- 		
 
- 		require_once(dirname(__FILE__) . '/amazon/ses.php');
 
- 		
 
- 		$_MAIL_FROM_ADDR     = 'noreply@oasgame.com';
 
- 		$_AMAZON_ACCESS_KEY  = 'AKIAIMVZOFS3LDK3W2VQ';
 
- 		$_AMAZON_SECRET_KEY  = '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';
 
- 		
 
- 		$ses    = new SimpleEmailService($_AMAZON_ACCESS_KEY, $_AMAZON_SECRET_KEY);
 
- 		$ses_m  = new SimpleEmailServiceMessage();
 
- 	
 
- 		$ses_m->setFrom($_MAIL_FROM_ADDR);
 
- 		$ses_m->addTo($address);
 
- 		$ses_m->setSubject($subject);
 
- 		$ses_m->setMessageFromString('',$message);
 
- 		$ses_m->setMessageCharset('utf-8');
 
- 		$result = $ses->sendEmail($ses_m);
 
- 		if(is_array($result) && !empty($result['MessageId'])){
 
- 			return true;
 
- 		}
 
- 		else{
 
- 			self::$sendErrResult = $result;
 
- 			return false;		
 
- 		}
 
- 	}
 
- 	
 
- 	public static function SendMail_WithMailgun($address,$subject,$message,$mailFrom='noreply@oasgames.com'){
 
- 		
 
- 		$apiUrl = 'https://api.mailgun.net/v2/oasgame.com/messages';
 
- 		$auth   = base64_encode('api:key-3sduhyatml4t7t5dp-1g6hhvhx72ll22');
 
- 		
 
- 		$reqHeader = array(
 
- 			'Authorization:Basic '.$auth,
 
- 			"Content-Type: application/x-www-form-urlencoded"
 
- 		);
 
- 		
 
- 		$postData  = array(
 
- 			'from'    => $mailFrom,
 
- 		    'to'      => $address,
 
-             'subject' => $subject,
 
- 		    'html' 	  => $message
 
- 		);
 
- 		
 
- 		return self::curlRequest($apiUrl,$postData,$reqHeader,10);
 
- 		
 
- 	}
 
- 	
 
- 	private static function curlRequest($url,$postData='',$headerFields,$timeout=3){
 
- 		
 
- 		$curl = curl_init(); 
 
- 		
 
- 		curl_setopt($curl, CURLOPT_URL, $url); 
 
- 		curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); 
 
- 		curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1);
 
- 		curl_setopt($curl, CURLOPT_AUTOREFERER, 1); 
 
- 		curl_setopt($curl, CURLOPT_HTTPHEADER, $headerFields); 
 
- 		curl_setopt($curl, CURLOPT_TIMEOUT, $timeout); 
 
- 		curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
 
- 		
 
- 		if(!empty($postData)){
 
- 			curl_setopt($curl, CURLOPT_POST, 1); 
 
- 			curl_setopt($curl, CURLOPT_POSTFIELDS,http_build_query($postData)); 
 
- 		}
 
- 		
 
- 		$resultData = curl_exec($curl);
 
- 		$httpInfo   = curl_getinfo($curl);
 
- 		
 
- 		curl_close($curl);
 
- 		return $resultData;
 
- 		
 
- 	}
 
- 	 //发送邮件
 
- 	public static function SendMail_OAS_SMTP($address,$title,$message,$fromName=MAIL_FROM_NAME)
 
- 	{
 
- 		
 
- 		if(empty($phpMailer)){
 
- 			require_once(dirname(__FILE__) . '/PHPMailer/class.phpmailer.php');
 
- 			self::$phpMailer = new PHPMailer();
 
- 		}
 
- 		
 
- 	    $mail = self::$phpMailer;
 
- 	    
 
- 	    // 设置PHPMailer使用SMTP服务器发送Email
 
- 	    $mail->IsSMTP();
 
- 	    // 开启HTML标签的支持
 
- 		$mail->IsHTML(true);
 
- 	
 
- 	    // 设置邮件的字符编码,若不指定,则为'UTF-8'
 
- 	    $mail->CharSet  = 'UTF-8';
 
- 	    // 设置为"需要验证"
 
- 	    $mail->SMTPAuth = true;
 
- 	    //
 
- 		$mail->Port     = 25;   
 
- 	    // 设置SMTP服务器。
 
- 	    $mail->Host     = MAIL_SMTP;
 
- 	    // 设置用户名和密码。
 
- 	    $mail->Username = MAIL_LOGINNAME;
 
- 	    //
 
- 	    $mail->Password = MAIL_PASSWORD;
 
- 	
 
- 	    // 设置邮件头的From字段。
 
- 	    $mail->From     = MAIL_ADDRESS;
 
- 	    // 设置发件人名字
 
- 	    $mail->FromName = $fromName;
 
- 	
 
- 	    // 添加收件人地址,可以多次使用来添加多个收件人
 
- 	    foreach(explode(";",$address) as $address_this){
 
- 	    	$mail->AddAddress($address_this);
 
- 	    }
 
- 	    // 设置邮件标题
 
- 	    $mail->Subject  = $title;
 
- 	    // 设置邮件正文
 
- 	    $mail->Body     = $message;
 
- 	    // 发送邮件。
 
- 	    return $mail->Send();
 
- 	}	
 
- 	
 
- }// class end
 
 
  |