我目前正在使用一个名为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