如何在cakephp中使用动态电子邮件配置

时间:2016-08-21 07:17:15

标签: email cakephp

我正在尝试根据用户登录信息进行动态电子邮件配置。在config / mail.php中,我尝试过这样的。

配置/ mail.php

public $default= array(
    "host" => Configure::read("mail_host"),
    "port" => Configure::read("mail_port"),
    "username" => Configure::read("mail_username"),
    "password" => Configure::read("mail_password"),
    "transport" => Configure::read("mail_transport") 
);

但我收到错误

syntax error, unexpected '(', expecting ')'

我这样做了,但由于我有很多页面,我必须为所有页面执行此操作。

$Email = new CakeEmail("default");
$Email->config(array(
        'host' => Configure::read('mail_host'),
        'port' => Configure::read('mail_port'),
        'username' => Configure::read('mail_username'),
        'password' => Configure::read('mail_password'),
        'transport' => Configure::read('mail_transport')
    )); 

因此我需要在mail.php中动态配置。是否有可能请提供一些解决方案。

1 个答案:

答案 0 :(得分:2)

cake 2.0使用app/Config/email.php
比照http://book.cakephp.org/2.0/en/core-utility-libraries/email.html
使用构造函数动态设置配置:

class EmailConfig {
    public function __construct() {
        $this->default['host'] = Configure::read('mail_host');
        ...
    }