在Zend Framework 2.4中为Zend \ Mail \ Message

时间:2018-07-19 12:39:08

标签: php zend-framework zend-framework2

我们当前正在重写项目的一部分,以便通过Zend Framework 2.4-Application发送电子邮件时使用SMTP。

大约有25种情况,我们使用Zend\Mail\Transport\Sendmail发送电子邮件,但是它们不使用SMTP。我开始重写

$transport = new Sendmail();
$transport->send($message);

$transport = new SmtpTransport();
$options   = new SmtpOptions(array(
          'name' => $this->_config['smtp']['name'],
          'host' => $this->_config['smtp']['host'],
));
$transport->setOptions($options);
$transport->send($message);

这行得通,但是我不想重写它的每个实例,所以我用了一下Google并在Zend Framework Website (for ZF1.X)上找到了它

$tr = new Zend_Mail_Transport_Smtp('mail.example.com');
Zend_Mail::setDefaultTransport($tr);

但是,随着setDefaultTransport方法的消失,在Zend Framework 2.4中不再可能。

我搜索了一些有关如何在2.4中重新创建它的方法,但没有找到解决方案。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

这是为什么我们使用依赖注入的完美示例。

https://framework.zend.com/manual/2.4/en/modules/zend.di.quick-start.html

也来看看服务经理

https://framework.zend.com/manual/2.1/en/modules/zend.service-manager.intro.html

仅定义一次服务