zoukankan      html  css  js  c++  java
  • 邮件发送

    1.安装PHPMailer扩展。

    composer require phpmailer/phpmailer
    

    2.配置文件设置邮件信息

    'email_config'=>[
            'mail_host' =>  'smtp.163.com',//邮件发送域名
            'mail_port' =>  '994',//邮件发送端口,994/465
            'mail_user' =>  'test@163.com',//邮箱账号
            'mail_password' =>  'XXXXXXXXX',//邮件发送授权码
            'mail_form' =>  'test@163.com',//显示的发件人邮箱(邮箱账号)
            'mail_secure' =>  'ssl'//ssl网络模式
        ],
    

      

    3.封装邮件发送类

    <?php
    /**
     * 邮件助手类
     */
    
    namespace app\service;
    
    use PHPMailer\PHPMailer\PHPMailer;
    use think\Config;
    use think\Exception;
    use think\Url;
    
    
    // https://packagist.org/packages/phpmailer/phpmailer
    class Mail
    {
        private $Form = '';
        private $Host='';
        private $Username='';
        private $Password = '';
        private $Secure = '';
        private $Port = '';
    
        public function __construct()
        {
            $config = Config::get('email_config');
            $this->Form = $config['mail_form'];
            $this->Host = $config['mail_host'];
            $this->Username = $config['mail_user'];
            $this->Password = $config['mail_password'];
            $this->Secure = $config['mail_secure'];
            $this->Port = $config['mail_port'];
        }
    
        /**
         * @param $toEmail 接受邮件用户
         * @param $Subject 邮件标题
         * @param null $content 邮件内容
         * @param null $html 邮件模板
         * @param null $attachment 邮件附件
         * @throws \PHPMailer\PHPMailer\Exception
         *
         */
        public function sendEmail($toEmail,$Subject,$content=null,$html=null,$attachment=null){
            $email = new PHPMailer();
    
            try {
                // 设置邮件格式
                $email->isSMTP();
                // 设置有见程序使用SMTP 格式
                $email->Host = $this->Host;
                // 设置有见内容的编码
                $email->CharSet = 'UTF-8';
                // 启用SMTP验证
                $email->SMTPAuth = true;
                // SMTP username
                $email->Username = $this->Username;
                // SMTP password
                $email->Password = $this->Password;
                // 启用TLS加密,`ssl`也被接受
                $email->SMTPSecure = $this->Secure;
                // 连接的TCP端口
                $email->Port = $this->Port;
                //设置发件人
                $email->setFrom($this->Form, '讯飞产业加速中心');
    
                // 设置收件人
                $email->addAddress($toEmail);
                // 设置如果收件人回复邮件  直接显示我的邮件
                $email->addReplyTo($this->Form);
                if ($attachment){
                    $email->AddAttachment('./PDF/'.basename($attachment),basename($attachment));
                }
    
                $email->isHTML();
                $email->Subject = $Subject;
                if ($html){
                    $content = file_get_contents($html);
                }
    
                $email->Body = $content;
                if ($email->send()){
                    return 'success';
                }else{
                    echo "Mailer Error: ".$email->ErrorInfo;// 输出错误信息
                }
            }catch (Exception $e){
                echo "Mail Error:" . $e->ErrorInfo;
            }
    
        }
    
        
    
    
    
    }
    

    4.控制器调用

    $sendEmail = new Mail();
                $sendEmail->sendEmail($admin_id['email'],'邮件标题','邮件内容');
    

      



  • 相关阅读:
    Codevs 2296 仪仗队 2008年省队选拔赛山东
    Codevs 1535 封锁阳光大学
    Codevs 1069 关押罪犯 2010年NOIP全国联赛提高组
    Codevs 1218 疫情控制 2012年NOIP全国联赛提高组
    Codevs 1684 垃圾陷阱
    洛谷 P1108 低价购买
    Vijos P1325桐桐的糖果计划
    Codevs 3289 花匠 2013年NOIP全国联赛提高组
    Codevs 2611 观光旅游(floyed最小环)
    C语言基础之彩色版C语言(内含linux)
  • 原文地址:https://www.cnblogs.com/sisl/p/15633232.html
Copyright © 2011-2022 走看看