发送邮件实现不了

来源:6-2 [PDO实战] 功能实现之发送邮件

qq_木有粗面_1

2016-12-02 20:54


 if ($res){
        //发送邮件,以QQ邮箱为例
        //配置邮件服务器,得到传输对象
        $transport=Swift_SmtpTransport::newInstance('smtp.qq.com',465);//25是默认端口号
        //设置登录帐号和密码
        $transport->setUsername('893480702@qq.com');//发送方邮箱
        $transport->setPassword($emailPassword);
        //得到发送邮件对象Swift_Mailer对象
        $mailer=Swift_Mailer::newInstance($transport);
        //得到邮件信息对象
        $message=Swift_Message::newInstance();
        //设置管理员的信息
        $message->setFrom(array('893480702@qq.com'=>'Mogu'));
        //将邮件发给谁
        $message->setTo(array($email=>'imooc'));
        ……
        try {
            if ($mailer->send($message)){
                echo "恭喜您{$username}注册成功,请到邮箱激活之后登录";
                echo '3秒钟后跳转到登录页面';
                echo '<meta http-equiv="refresh" content="3;url=index.php#tologin"/>';
            }else{
                $PdoMySql->delete($table,'id='.$lastInsertId);
                echo '注册失败,请重新注册';
                echo '3秒钟后跳转到注册页面';
                echo '<meta http-equiv="refresh" content="3;url=index.php#toregister"/>';
            }
        } catch (Swift_ConnectionException $e) {//这里是警告
            echo '邮件发送错误'.$e->getMessage();
        }

错误是:Fatal error:  Uncaught Swift_TransportException: Connection to smtp.qq.com:465 Timed Out in F:\xampp\htdocs\practise\pdoEx\app\swiftmailer-master\lib\classes\Swift\Transport\AbstractSmtpTransport.php:407 Stack trace: #0 F:\xampp\htdocs\practise\pdoEx\app\swiftmailer-master\lib\classes\Swift\Transport\AbstractSmtpTransport.php(291): Swift_Transport_AbstractSmtpTransport->_getFullResponse(0) #1 F:\xampp\htdocs\practise\pdoEx\app\swiftmailer-master\lib\classes\Swift\Transport\AbstractSmtpTransport.php(119): Swift_Transport_AbstractSmtpTransport->_readGreeting() #2 F:\xampp\htdocs\practise\pdoEx\app\swiftmailer-master\lib\classes\Swift\Mailer.php(80): Swift_Transport_AbstractSmtpTransport->start() #3 F:\xampp\htdocs\practise\pdoEx\app\doAction.php(54): Swift_Mailer->send(Object(Swift_Message)) #4 {main}  thrown in F:\xampp\htdocs\practise\pdoEx\app\swiftmailer-master\lib\classes\Swift\Transport\AbstractSmtpTransport.php on line 407

写回答 关注

1回答

  • 微笑的死神
    2016-12-04 18:06:24
    已采纳

    在php配置中开启php_openssl配置

    $transport=Swift_SmtpTransport::newInstance('smtp.qq.com',465,'ssl');//25是默认端口号

    $transport->setPassword($emailPassword);

    $emailPassword不是你的qq密码,是开启qq邮箱smtp/pop3服务时候的配置码


    坚持MyDr... 回复微笑的死神

    原来是这样,谢谢了

    2017-01-04 21:09:59

    共 4 条回复 >

PDO—数据库抽象层

本教程主要通过实战演练深入剖析PDO以加深理解

30045 学习 · 416 问题

查看课程

相似问题