yii发送邮件

2020-03-27 13:12:49

邮件发送需要配置

‘mailer’ => [

        'class' => 'yii\swiftmailer\Mailer',
        'useFileTransport' => false,
        'transport' => [
            'class' => 'Swift_SmtpTransport',
            'host' => 'smtp.163.com',
            'username' => 'XXXX@163.com',//发送者邮箱地址
            'password' => 'XXXXXXXX', //SMTP密钥
            'port' => '587',
            'encryption' => 'ssl',//不要用tls,用tls在服务器上发不出邮件
        ],
    ],</pre><br></p><p>调用方法:</p><p><pre lay-lang="PHP">Yii::$app-&gt;mailer-&gt;compose('模板名')
            -&gt;setFrom('from@163.com')
            -&gt;setTo('from@163.com')
            -&gt;setSubject('标题')
            -&gt;setTextBody('内容')
            -&gt;send();</pre><br></p><p><br></p><p>需要相应的邮箱开启SMTP服务。</p><p>点击 设置 - POP3/SMTP/IMAP,开启 IMAP/SMTP服务</p><p><img src="/upload/article/1585285900.jpg" alt="1585285900.jpg"><br></p><p><br></p><p>还有一个非常奇怪的问题。本地测试一直好使,放到服务器上就一直提示连接不上。</p><p>Swift_TransportException: Connection could not be established with host smtp.163.com [Connection timed out</p><p>就是加密类型的问题。要用ssl格式,端口是587</p><p><br></p>