我目前正在使用名为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。这不是垃圾邮件,我们只想知道在插入数据库时帮助台票证来自哪个用户。
答案 0 :(得分:1)
为什么要使用配置default
?
如果您使用$email = new CakeEmail();
,发送的电子邮件是否会引用经过身份验证的用户电子邮件信息。
此外,您应始终使用$email->sender('support@yourcompany.com', 'Your Company Support');
。这样可以确保在出现问题时将问题重定向到您而不是用户,您的应用会代表他/她发送电子邮件。
我在帐户中设置了这个设置并且运行正常。至于马克的观点,它可能不合法(虽然,这似乎不是你的问题),但我知道这是可能的,因为我目前的系统设置适用于我想要的任何电子邮件。我不使用任何配置,也不使用任何SMTP