国产精品肥臀一区二区三区-精品国产av一区二区三广区-久久久久亚洲精品男人的天堂av-国产亚洲欧美日韩亚洲中文色

    400-800-9385
    網(wǎng)站建設(shè)資訊詳細(xì)

    網(wǎng)站制作之PHP發(fā)送系統(tǒng)郵件

    發(fā)表日期:2019-08-26 11:07:59   作者來源:紅旺   瀏覽:5507   標(biāo)簽:網(wǎng)站制作    
    利用郵件服務(wù)商的IMAP/SMTP 服務(wù),這里我們用163郵箱在說明一下,實(shí)現(xiàn)發(fā)送郵件功能的流程
    1.登入163郵箱在設(shè)置里開啟IMAP/SMTP 服務(wù)
     

    郵件設(shè)置



    2.在客戶端授權(quán)密碼設(shè)置授權(quán)密碼(需要手機(jī)驗(yàn)證), POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服務(wù)。
     

    郵件設(shè)置



    3. 確認(rèn)php.ini中;extension=php_openssl.dll是否開啟, 沒有則添加extension=php_openssl.dll。
    4.選擇php自帶函數(shù)mail() 或者PHPMaile第三方的類進(jìn)行發(fā)送郵件,下面介紹第一種自帶mail()
    一:
    /*需要添加一個(gè)發(fā)送郵件的代理在config配置文件中*/
    'MAIL_ADDRESS'          =>  '****@163.com',        // 初始化郵箱地址
    'MAIL_SMTP'             =>  'smtp.163.com',        // 初始化郵箱SMTP服務(wù)器
    'MAIL_LOGINNAME'        =>  '****@163.com',        // 初始化郵箱登錄帳號(hào)
    'MAIL_PASSWORD'         =>  '****',                 // 初始化郵箱密碼
    'MAIL_CHARSET'          =>  'UTF-8',                //編碼
    'MAIL_AUTH'             =>  true,                   //郵箱認(rèn)證
    'MAIL_HTML'             =>  true,                   //true HTML格式 false TXT格式
     
    /*以下是控制器中的使用*/
    import('Org.Util.Mail');//導(dǎo)入郵件類
    $sendTitle="郵件標(biāo)題";//郵件標(biāo)題
    $sendData="郵件內(nèi)容,可以使用html代碼";//發(fā)送內(nèi)容
    $toMail="xxxxx@163.com";//收件人
    $theme="留言反饋郵件";//郵件主題
    SendMail($toMail,$sendTitle,$sendData,$theme);
     
     
    二、
    * phpemail郵件發(fā)送服務(wù)類,下載的phpmail把src時(shí)的文件放入指定文件夾,同時(shí)修改去除PHPMailer.php和SMTP.php時(shí)的命名空間即可
     * 庫(kù)下載地址:https://github.com/PHPMailer/PHPMailer
    這是封裝的一個(gè)類
    class SendemailService {
        function __construct() {
            $config = array(
                'MAIL_CHARSET' => 'UTF-8',
                'MAIL_SMTPAUTH' => true, //是否使用身份驗(yàn)證
                'MAIL_ISHTML' => true, //是否使用html
                'MAIL_USERNAME' => '', //發(fā)件地址
                'MAIL_SMTPHOST' => '', //smtp地址
                'MAIL_PASSWORD' => '', //發(fā)件地址密碼
                'MAIL_SMTPSECURE' => '', //使用ssl協(xié)議方式,ssl協(xié)議方式端口號(hào)是465/994
                'MAIL_PORT' => '25', //端口
                'MAIL_GET_ADDRESS' => '', //默認(rèn)單一收件箱
            );
            $this->mailconfig = $config;
        }
     
        /**
         * 發(fā)送郵件
         * @param $get_email
         * @param $data array('title'=>'','detail'=>'')
         * @return bool
         */
        public function sendEmail($data, $get_email = '') {
            vendor('PHPMailer.PHPMailer');
            vendor('PHPMailer.SMTP');
            $mail = new \PHPMailer();
            $mail = $this->setBaseConfig($mail, $data, $get_email);
            if (!$mail->send()) {
                return "Mailer Error: " . $mail->ErrorInfo; //返回錯(cuò)誤信息
            } else {
                return 0; //為0表示發(fā)送成功
            }
        }
     
        /**
         * 郵件基本設(shè)置
         * @param $mail
         * @param $data
         * @param string $get_email
         * @return mixed
         */
        public function setBaseConfig($mail, $data, $get_email = '') {
            $config = $this->mailconfig;
            $get_email = $get_email ? $get_email : $config['MAIL_GET_ADDRESS'];
            $mail->isSMTP(); // 使用SMTP服務(wù)
            $mail->CharSet = "utf8"; // 編碼格式為utf8,不設(shè)置編碼的話,中文會(huì)出現(xiàn)亂碼
            $mail->Host = $config['MAIL_SMTPHOST']; // 發(fā)送方的SMTP服務(wù)器地址
            $mail->SMTPAuth = $config['MAIL_SMTPAUTH']; // 是否使用身份驗(yàn)證
            $mail->Username = $config['MAIL_USERNAME']; // 發(fā)送方的163郵箱用戶名
            $mail->Password = $config['MAIL_PASSWORD']; // 發(fā)送方的郵箱密碼,注意用163郵箱這里填寫的是“客戶端授權(quán)密碼”而不是郵箱的登錄密碼!
            $mail->SMTPSecure = $config['MAIL_SMTPSECURE']; // 使用ssl協(xié)議方式
            $mail->Port = $config['MAIL_PORT']; // 163郵箱的ssl協(xié)議方式端口號(hào)是465/994
            $mail->IsHTML($config['MAIL_ISHTML']); //支持html格式內(nèi)容
            $mail->setFrom($config['MAIL_USERNAME'], ''); // 設(shè)置發(fā)件人信息,如郵件格式說明中的發(fā)件人,這里會(huì)顯示為Mailer(xxxx@163.com),Mailer是當(dāng)做名字顯示
            $mail->addAddress($get_email, ''); // 設(shè)置收件人信息,如郵件格式說明中的收件人,這里會(huì)顯示為L(zhǎng)iang(yyyy@163.com)
            //$mail->addReplyTo("","王");// 設(shè)置回復(fù)人信息,指的是收件人收到郵件后,如果要回復(fù),回復(fù)郵件將發(fā)送到的郵箱地址
            //$mail->addCC("1132083961@qq.com"); // 設(shè)置郵件抄送人,可以只寫地址,上述的設(shè)置也可以只寫地址
            //$mail->addBCC("");// 設(shè)置秘密抄送人
            //$mail->addAttachment("bug0.jpg");// 添加附件
     
            $mail->Subject = $data['title']; // 郵件標(biāo)題
            $mail->Body = $data['detail']; // 郵件正文
            //$mail->AltBody = "This is the plain text純文本";// 這個(gè)是設(shè)置純文本方式顯示的正文內(nèi)容,如果不支持Html方式,就會(huì)用到這個(gè),基本無用
            return $mail;
        }
     
     
    }
    調(diào)用方法
     
    $mail=new \Fwadmin\Service\SendemailService();
            $send['title']=$title;
            $send['detail']=$content;
            $flag=$mail->sendEmail($send,$email);
    如沒特殊注明,文章均為方維網(wǎng)絡(luò)原創(chuàng),轉(zhuǎn)載請(qǐng)注明來自http://zztianan.com/news/5239.html