gpt4 book ai didi

email - 使用 CakePHP 3.0 发送邮件

转载 作者:行者123 更新时间:2023-12-04 16:27:14 26 4
gpt4 key购买 nike

我正在使用 CakePHP Framework 的新版本 3.0 开发一个网站。我在 localhost 上工作,想在用户填写表格后发送一封电子邮件。下面是我的 Controller 中发送电子邮件的代码。

public function index(){
if ($this->request->is('post'){
$email = new Email();
$email->from([$this->request->data["sender"] => "Sender"]
->to("myEmail@hotmail.com")
->subject($this->request->data["Subject"])
->send($this->request->data["message"]);
}
}

执行此代码时,什么也没有发生,没有错误,我的邮箱中也没有消息。我看到在 cakephp3.0 中存在一个名为 DebugTransport 的类但我不知道如何使用它来调试我的代码。有人已经使用了吗?

最佳答案

您好感谢大家的回答。

通过使用mailjet.com,我能够在本地主机中发送电子邮件。下面是不同的步骤:

第1步

在 mailjet 网站上创建一个帐户

第2步

在 app.php 表 EmailTransport 中添加一个新条目。不同的参数主机、端口、用户名和密码可以在 mailjet 网站上找到。

'EmailTransport' => [
'default' => [
'className' => 'Mail',
// The following keys are used in SMTP transports
'host' => 'localhost',
'port' => 25,
'timeout' => 30,
'username' => 'user',
'password' => 'secret',
'client' => null,
'tls' => null,
],
'mailjet' => [
'host' => 'in-v3.mailjet.com',
'port' => 587,
'timeout' => 60,
'username' => 'xxxxx',
'password' => 'xxxxx',
'className' => 'Smtp'
]
],

第 3 步

在您的 Controller 中
<?php
namespace App\Controller;

use App\Controller\AppController;
use Cake\Network\Email\Email;

class ContactController extends AppController {

var $helpers = array('Html');

public function index(){


if($this->request->is('post')){

$userName = $this->request->data['firstname'] . " " . $this->request->data['lastname'];

$email = new Email();
$email->transport('mailjet');


try {
$res = $email->from([$this->request->data['email'] => $userName])
->to(['myEmail@hotmail.com' => 'My Website'])
->subject('Contact')
->send($this->request->data['message']);

} catch (Exception $e) {

echo 'Exception : ', $e->getMessage(), "\n";

}


}
}

关于email - 使用 CakePHP 3.0 发送邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26375058/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com