CakePHP和屏蔽电子邮件发件人

时间:2013-01-29 00:21:47

标签: php email cakephp

我目前正在使用名为send:

的函数
    public function send(){


     if ( !empty($this->request->data) ) {
    $email = new CakeEmail('default');
    $email->from(array($this->Auth->user('email') => $this->Auth->user('username')))
    ->to(array('helpdesk@example.com'))
    ->subject($this->request->data['Ticket']['subject'])
    ->send(array($this->request->data['Ticket']['issue']));

    $this->Session->setFlash('Email Sent Successfully', 'default', array('class' => 'message update span9'));
    $this->redirect(array('action' => 'index'));

    }

将电子邮件发送到我们的服务台并将其存入数据库。一切正常工作除了FROM总是显示配置选项中的用户名/电子邮件地址。它没有用用户的电子邮件屏蔽电子邮件..我需要这样做,以便我们知道谁有支持问题。

有人在这里有什么建议吗?

*加成

这是一个Intranet应用程序,因此我们使用smtp设置进行了经过身份验证的GENERIC USER。这不是垃圾邮件,我们只想知道在插入数据库时​​帮助台票证来自哪个用户。

1 个答案:

答案 0 :(得分:1)

为什么要使用配置default

如果您使用$email = new CakeEmail();,发送的电子邮件是否会引用经过身份验证的用户电子邮件信息。

此外,您应始终使用$email->sender('support@yourcompany.com', 'Your Company Support');。这样可以确保在出现问题时将问题重定向到您而不是用户,您的应用会代表他/她发送电子邮件。

我在帐户中设置了这个设置并且运行正常。至于马克的观点,它可能不合法(虽然,这似乎不是你的问题),但我知道这是可能的,因为我目前的系统设置适用于我想要的任何电子邮件。我不使用任何配置,也不使用任何SMTP