我使用CakePHP / CakeMail有一个奇怪的问题。
我尝试从网站发送电子邮件给我的Gmail。
我没有收到电子邮件,但我也没有收到任何错误。 表单发送消息。日志不会发生任何事情。密码和电子邮件都可以,所以可能出错了?
以下是代码。
email.php
public $mymail = array(
'transport' => 'Smtp',
'from' => array('xpto@domain.com.br' => 'YourName'),
'sender' => 'my@gmail.com',
'host' => 'ssl://smtp.gmail.com',
'port' => 465,
'timeout' => 30,
'username' => 'my@gmail.com',
'password' => 'mygmailpassword',
'client' => null,
'log' => true,
'emailFormat' => 'both'
'charset' => 'utf-8',
'returnPath' => 'xpto@domain.com.br',
'additionalParams' => '-f'.'xpto@domain.com.br',
'headerCharset' => 'utf-8',
);
PagesController.php
public function admin_send_contato() {
if ($this->request->is('post')) {
if(!isset($this->data['email'])){
$this->data['assunto'] = 'Assunto';
}
$email = new CakeEmail('mymail');
$this->Email->return = 'my@gmail.com';
$email->from(array('xpto@domain.com.br' => 'John Doe'))
->to('my@gmail.com')
->subject($this->data['subject'])
->replyTo($this->data['email'])
->send("Name: ".$this->request->data['name']."\nPhone: ".$this->request->data['phone']."\nE-mail: ".$this->request->data['email']."\nMessage: ".$this->request->data['message']);
echo json_encode('ok');
}
$this->autoRender = false;
}
我没有创建网站,也从未使用过Cake。 我不知道是什么问题。
有什么想法吗?
谢谢!
答案 0 :(得分:0)
我建议使用第三方解决方案来发送交易和营销电子邮件。 Sendgrid是一个选项,他们有文档可以集成到CakePHP中; https://sendgrid.com/docs/Integrate/Frameworks/cakephp.html