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
|