Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php CakeEmail未发送,但没有错误_Php_Cakephp_Cakeemail - Fatal编程技术网

Php CakeEmail未发送,但没有错误

Php CakeEmail未发送,但没有错误,php,cakephp,cakeemail,Php,Cakephp,Cakeemail,我对CakePHP非常陌生,这是我第一次尝试设置电子邮件表单 保持示例简单: <?php App::uses('AppController', 'Controller'); App::uses('CakeEmail', 'Network/Email'); class EmailController extends AppController { public function send_email($from, $subject, $message) { $Ema

我对CakePHP非常陌生,这是我第一次尝试设置电子邮件表单

保持示例简单:

<?php
App::uses('AppController', 'Controller');
App::uses('CakeEmail', 'Network/Email');
class EmailController extends AppController {

    public function send_email($from, $subject, $message) {
        $Email = new CakeEmail();
        $Email->from($from)
        ->to('[my personal email]')
        ->subject($subject);
        if($Email->send($message)) {
            $result = 'Your email has been sent.';
        } else {
            $result = 'Your email failed to send.';
        }

        $this->set('result', $result);
        $this->set('params', '('.$from.'|'.$subject.'|'.$message.')');
    }
}



我收到“您的电子邮件已发送。”,$params看起来和我预期的一样,我没有看到任何错误。。。但是我没有收到电子邮件。知道为什么会发生这种情况吗?

在此之前,您需要在Config文件夹下的Email.php中定义电子邮件配置

这里我们以gmail配置为例

class EmailConfig {
    public $gmail = array(
        'host' => 'ssl://smtp.gmail.com',
        'port' => 465,
        'username' => 'username@gmail.com',
        'password' => '*****',
        'transport' => 'Smtp'
    );
}
然后您可以在控制器中使用此设置,如

$Email= new CakeEmail('gmail');

总之,您必须根据需要配置SMTP。我希望这对你很方便。谢谢

试试这个@MoyedAnsari,我不知道你的意思。我的
App::uses
调用与此相同。我的意思是,您配置了电子邮件设置吗?@MoyedAnsari,除了上面提到的之外,我没有做任何事情(这是基于。你发布的链接没有提到电子邮件配置/设置。你能解释一下吗?请看我的回答。谢谢。我在文档中看到了这一点,但它似乎是用于从我自己的gmail帐户发送电子邮件。我想做的是从用户插入的电子邮件地址发送电子邮件。)(参数中的
$from)到我的电子邮件地址。是的,但为此,您需要在您的计算机上配置SMTP服务器。gmail为发送电子邮件提供免费服务。此处用户名仅用于身份验证。好的,我回家后会尝试一下。好的,电子邮件现在正在发送,但不是从
$email->from
发送,而是从gmail帐户。我想我可以使用replyTo来创建它,这样我就可以很容易地回复发送它的人。
$Email= new CakeEmail('gmail');