0

我目前正在使用一个名为 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。这不是垃圾邮件,我们只是想知道在插入数据库时​​帮助台票来自哪个用户。

4

1 回答 1

1

为什么你仍然使用配置default

如果您使用$email = new CakeEmail();,发送的电子邮件是否引用 Authenticated User 电子邮件信息。

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

我在我的帐户中有这个设置,它工作得很好。在马克看来,这可能不合法(尽管这似乎不是你的问题),但我知道这是可能的,因为我目前有一个系统设置,可以处理我想要的任何电子邮件。我不使用任何配置,也不使用任何 SMTP

于 2013-01-29T01:10:22.003 回答