注æï¼ä½¿ç¨ä¸ªäººqqé®ç®±åéé®ç®±ä¼è¢«è ¾è®¯æ¦æªåé失败
第ä¸ï¼163é®ç®±é ç½®
1ãç»å½163é®ç®±ï¼https://email.163.com/
2ãå¨é®ç®±ç设置ä¸å¼å¯SMTPæå¡(设置->POP3/SMTP/IMAP->å¼å¯æå¡)ï¼åæ¶çæææå¯ç (åéé®ä»¶éè¦)ï¼å¦ä¸å¾
第äºï¼QQä¼ä¸é®ç®±é ç½®
1ã注åç»å½QQä¼ä¸é®ç®±ï¼https://exmail.qq.com/onlinesell/intro
2ãå¨é®ç®±ç设置ä¸å¼å¯SMTPæå¡(设置->æ¶å信设置->POP3/SMTP/IMAP->å¼å¯æå¡)ï¼åæ¶çæææå¯ç (åéé®ä»¶éè¦)ï¼å¦ä¸å¾
3ãå¨é®ç®±ç设置->é®ç®±ç»å®ä¸çæææå¯ç (åéé®ä»¶éè¦)ï¼å¦ä¸å¾
Â
第ä¸ï¼ä¸è½½phpmailerçé®ä»¶ä»£ç å缩å
第åï¼ç¼åé®ä»¶åéç±»,åºäºPHPMailerç±»
<?php
namespace framework\ext;
/**
* é®ä»¶åéç±»,åºäºPHPMailerç±»
* Class Email
* @package framework\ext
*/
class Email
{
static public $config;//åå¨é
ç½®çéæåé
//设å®é®ä»¶åæ°
static public function init($config = array())
{
//ç½æ
//self::$config['SMTP_HOST']=isset($config['SMTP_HOST'])?$config['SMTP_HOST']:'smtp.163.com';//smtpæå¡å¨å°å
//self::$config['SMTP_PORT']=isset($config['SMTP_PORT'])?$config['SMTP_PORT']:25;//smtpæå¡å¨ç«¯å£
//self::$config['SMTP_SSL']=isset($config['SMTP_SSL'])?$config['SMTP_SSL']:false;//æ¯å¦å¯ç¨SSLå®å
¨è¿æ¥ ï¼gmailéè¦å¯ç¨sllå®å
¨è¿æ¥
//self::$config['SMTP_USERNAME']=isset($config['SMTP_USERNAME'])?$config['SMTP_USERNAME']:'[email protected]';//smtpæå¡å¨å¸å·ï¼å¦ï¼ä½ çé®ç®±å称
//self::$config['SMTP_PASSWORD']=isset($config['SMTP_PASSWORD'])?$config['SMTP_PASSWORD']:'QJTJDOPROZMYPCSM';//smtpæå¡å¨å¸å·ææç (ææå¯ç )
//self::$config['SMTP_AUTH']=isset($config['SMTP_AUTH'])?$config['SMTP_AUTH']:true;//å¯ç¨SMTPéªè¯åè½ï¼ä¸è¬éè¦å¼å¯
//self::$config['SMTP_CHARSET']=isset($config['SMTP_CHARSET'])?$config['SMTP_CHARSET']:'utf-8';//åéçé®ä»¶å
容ç¼ç
//self::$config['SMTP_FROM_TO']=isset($config['SMTP_FROM_TO'])?$config['SMTP_FROM_TO']:'[email protected]';//å件人é®ä»¶å°å
//self::$config['SMTP_FROM_NAME']=isset($config['SMTP_FROM_NAME'])?$config['SMTP_FROM_NAME']:'ææ人/å
¬å¸';//å件人å§å
//self::$config['SMTP_DEBUG']=isset($config['SMTP_DEBUG'])?$config['SMTP_DEBUG']:false;//æ¯å¦æ¾ç¤ºè°è¯ä¿¡æ¯
//QQä¼ä¸é®ç®±
self::$config['SMTP_HOST']=isset($config['SMTP_HOST'])?$config['SMTP_HOST']:'smtp.exmail.qq.com';//smtpæå¡å¨å°å
self::$config['SMTP_PORT']=isset($config['SMTP_PORT'])?$config['SMTP_PORT']:465;//smtpæå¡å¨ç«¯å£
self::$config['SMTP_SSL']=isset($config['SMTP_SSL'])?$config['SMTP_SSL']:true;//æ¯å¦å¯ç¨SSLå®å
¨è¿æ¥ ï¼gmailéè¦å¯ç¨sllå®å
¨è¿æ¥
self::$config['SMTP_USERNAME']=isset($config['SMTP_USERNAME'])?$config['SMTP_USERNAME']:'[email protected]';//smtpæå¡å¨(é®ç®±)å¸å·
self::$config['SMTP_PASSWORD']=isset($config['SMTP_PASSWORD'])?$config['SMTP_PASSWORD']:'wk4AcGbWc5nqbMZ3';//smtpæå¡å¨(é®ç®±)å¸å·å¯¹åºç客æ·ç«¯ææç
self::$config['SMTP_AUTH']=isset($config['SMTP_AUTH'])?$config['SMTP_AUTH']:true;//å¯ç¨SMTPéªè¯åè½ï¼ä¸è¬éè¦å¼å¯
self::$config['SMTP_CHARSET']=isset($config['SMTP_CHARSET'])?$config['SMTP_CHARSET']:'utf-8';//åéçé®ä»¶å
容ç¼ç
self::$config['SMTP_FROM_TO']=isset($config['SMTP_FROM_TO'])?$config['SMTP_FROM_TO']:'[email protected]';//å件人é®ä»¶å°å
self::$config['SMTP_FROM_NAME']=isset($config['SMTP_FROM_NAME'])?$config['SMTP_FROM_NAME']:'ææå
¬å¸';//å件人å§å
self::$config['SMTP_DEBUG']=isset($config['SMTP_DEBUG'])?$config['SMTP_DEBUG']:false;//æ¯å¦æ¾ç¤ºè°è¯ä¿¡æ¯
}
//åéé®ä»¶
static public function send($mail_to,$mail_subject,$mail_body,$mail_attach=NULL)
{
@error_reporting(E_ERROR | E_WARNING | E_PARSE);//å±è½åºéä¿¡æ¯
require_once(dirname(__FILE__).'/phpmailer/class.phpmailer.php');
$mail = new \PHPMailer();
//没æè°ç¨é
ç½®æ¹æ³ï¼åè°ç¨ä¸æ¬¡configæ¹æ³
if(!isset(self::$config)||empty(self::$config))
{
self::config();
}
$mail->IsSMTP(); 使ç¨SMTPæ¹å¼åé
$mail->Host = self::$config['SMTP_HOST']; //smtpæå¡å¨å°å
$mail->Port = self::$config['SMTP_PORT']; //smtpæå¡å¨ç«¯å£
$mail->Username = self::$config['SMTP_USERNAME']; //smtpæå¡å¨å¸å·ï¼
$mail->Password = self::$config['SMTP_PASSWORD']; // smtpæå¡å¨å¸å·å¯ç
$mail->SMTPAuth = self::$config['SMTP_AUTH'];//å¯ç¨SMTPéªè¯åè½ï¼ä¸è¬éè¦å¼å¯
$mail->CharSet = self::$config['SMTP_CHARSET'];//åéçé®ä»¶å
容ç¼ç
$mail->SetFrom(self::$config['SMTP_FROM_TO'], self::$config['SMTP_FROM_NAME']); // å件人çé®ç®±åå§å
$mail->AddReplyTo(self::$config['SMTP_FROM_TO'],self::$config['SMTP_FROM_NAME']);// åå¤æ¶çé®ç®±åå§åï¼ä¸è¬è·å件人ä¸æ ·
//æ¯å¦å¯ç¨SSLå®å
¨è¿æ¥
if(self::$config['SMTP_SSL'])
{
$mail->SMTPSecure = "ssl"; //gmailéè¦å¯ç¨sllå®å
¨è¿æ¥
}
//å¼å¯è°è¯ä¿¡æ¯
if(self::$config['SMTP_DEBUG'])
{
$mail->SMTPDebug = 1;
}
$mail->Subject = $mail_subject;//é®ä»¶æ é¢
$mail->MsgHTML($mail_body);//é®ä»¶å
容ï¼æ¯æhtml代ç
//åéé®ä»¶
if(is_array($mail_to))
{
//åæ¶åéç»å¤ä¸ªäºº
foreach($mail_to as $key=>$value)
{
$mail->AddAddress($value,""); // æ¶ä»¶äººé®ç®±åå§å
}
}
else
{ //åªåéç»ä¸ä¸ªäºº
$mail->AddAddress($mail_to,""); // æ¶ä»¶äººé®ç®±åå§å
}
//åéå¤ä¸ªé件
if(is_array($mail_attach))
{
foreach($mail_attach as $value)
{
if(file_exists($value))//é件å¿
é¡»åå¨ï¼æä¼åé
{
$mail->AddAttachment($value); // attachment
}
}
}
//åéä¸ä¸ªé件
if(!empty($mail_attach)&&is_string($mail_attach))
{
if(file_exists($mail_attach))//é件å¿
é¡»åå¨ï¼æä¼åé
{
$mail->AddAttachment($mail_attach); //åéé件
}
}
if(!$mail->Send())
{
if(self::$config['SMTP_DEBUG'])
{
echo "Mailer Error: " . $mail->ErrorInfo;
}
return false;
}
else
{
return true;
}
}
}
第äºï¼è°ç¨é®ä»¶åéç±»åéé®ä»¶
/**
* åéé®ä»¶
* @param $mailto æ¶ä»¶çé®ç®±
* @param $sendcontent
* @return bool
* @throws \phpmailerException
*/
public function sendmail($mailto,$sendcontent){
//$sendcontent = [
// "subject"=>"ææ [email protected],èå¸ä½ 好ææ¥èª ææççè¨",
// "body" =>'çè¨æ¶é´ï¼ 2020-05-28 14:48:59ï¼çè¨äººçµè¯ï¼<a href="tel:$msg_tel" target="_blank" rel="external nofollow" > 13566385387</a>ï¼çè¨å
容: ï¼çè¨é¾æ¥: '
//];
\framework\ext\Email::init();
var_dump($sendcontent);die();
$rst = \framework\ext\Email::send( $mailto,$sendcontent['subject'],$sendcontent['body']);
return $rst;//æåtrueï¼å¤±è´¥false
}
第å ï¼æ¥æ¶å°é®ç®±å 容