首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ZF邮件2.2.4发送SMTP邮件时出现的奇怪错误

使用ZF邮件2.2.4发送SMTP邮件时出现的奇怪错误
EN

Stack Overflow用户
提问于 2013-09-18 10:44:19
回答 1查看 875关注 0票数 0

使用此代码:

代码语言:javascript
复制
include('vendor/autoload.php');

use Zend\Mail\Message;
use Zend\Mail\Transport\Smtp as SmtpTransport;
use Zend\Mail\Transport\SmtpOptions;

$message = new Message();
$message->addTo('email to')
        ->addFrom('email from')
        ->setSubject('Greetings and Salutations!')
        ->setBody("Sorry, I'm going to be late today!");


$transport = new SmtpTransport();
$options   = new SmtpOptions(array(
    'name'              => 'gmail.com',
    'host'              => 'smtp.gmail.com',
    'port'              => 465, // Notice port change for TLS is 587
    'connection_class'  => 'smtp',
    'connection_config' => array(
        'username' => 'email from',
        'password' => 'pass',
        'ssl'      => 'tls'
    ),
));
$transport->setOptions($options);
$transport->send($message);

我发现了一个错误:

代码语言:javascript
复制
Fatal error: Class 'Zend\Validator\ValidatorChain' not found in PHP\vendor\zendframework\zend-mail\Zend\Mail\Protocol\AbstractProtocol.php on line 97

以下是完整的错误流:

代码语言:javascript
复制
1   0.0003  252376  {main}( )   ..\sendEmail.php:0
2   0.0084  787416  Zend\Mail\Transport\Smtp->send( )   ..\sendEmail.php:31
3   0.0084  787688  Zend\Mail\Transport\Smtp->connect( )    ..\Smtp.php:205
4   0.0084  787856  Zend\Mail\Transport\Smtp->lazyLoadConnection( ) ..\Smtp.php:336
5   0.0084  788736  Zend\Mail\Transport\Smtp->plugin( ) ..\Smtp.php:322
6   0.0122  1104552 Zend\ServiceManager\AbstractPluginManager->get( )   ..\Smtp.php:137
7   0.0122  1105248 Zend\ServiceManager\ServiceManager->get( )  ..\AbstractPluginManager.php:103
8   0.0122  1106184 Zend\ServiceManager\ServiceManager->create( )   ..\ServiceManager.php:481
9   0.0122  1106392 Zend\ServiceManager\ServiceManager->doCreate( ) ..\ServiceManager.php:557
10  0.0122  1106664 Zend\ServiceManager\AbstractPluginManager->createFromInvokable( )   ..\ServiceManager.php:602
11  0.0140  1275976 Zend\Mail\Protocol\Smtp\Auth\Login->__construct( )  ..\AbstractPluginManager.php:172
12  0.0140  1276120 Zend\Mail\Protocol\Smtp->__construct( ) ..\Login.php:65
13  0.0140  1276264 Zend\Mail\Protocol\AbstractProtocol->__construct( ) ..\Smtp.php:14

5

我尝试了文档中的每一个例子,但是没有一个能起作用,我得到了同样的错误。我认为这是因为我正在本地测试它,但是当我将它上传到服务器上时,它就不能工作了。我要在wamp上测试这个。有谁知道是什么原因造成了这个错误,以及如何纠正它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-18 11:52:54

如果您需要通过composer实现zendframework/zend-mail,那么有一个关于zendframework/zend-validator的建议。如果您想发送任何电子邮件,则需要验证器。

因此,更新您的composer.json,添加Zend-验证器作为包并运行composer update。这将加载Validator组件,以便您可以运行代码。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18870101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档