蛋糕PHP和屏蔽电子邮件发件人


CakePHP and masking email sender

我目前正在使用一个名为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 始终显示配置选项中的用户名/电子邮件地址外,一切都在工作。 它不会用用户的电子邮件屏蔽电子邮件。 我需要发生这种情况,以便我们知道谁遇到了支持问题。

有人在这里对该怎么做有建议吗?

*加法

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

你为什么要使用配置default

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

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

我的帐户中有该设置,它工作正常。对于马克的观点,这可能不合法(尽管这似乎不是您的问题),但我知道这是可能的,因为我目前有一个系统设置,可以与我想要的任何电子邮件一起使用。我不使用任何配置,也不使用任何SMTP