0

当然这让我很头疼,但我明白每个初学者都有同样的经历。我已经尝试了我发现的所有关于使用 cakephp 发送电子邮件的教程。好吧,没有任何效果。我可以有一个关于 cakephp 电子邮件的更好教程的链接。手册也不完整:(我有点沮丧:(

我试过这段代码:

<?php
    class EmailsController extends AppController{

 var $components = array('Email');

function sendNewUserMail() {
    //$User = $this->User->read(null,$id);
    $this->Email->to = 'csorila17@gmail.com';
    $this->Email->bcc = array('secret@example.com');  
    $this->Email->subject = 'Welcome to our really cool thing';
    $this->Email->replyTo = 'support@example.com';
    $this->Email->from = 'Cool Web App <charm_sorila@yahoo.com>';
    $this->Email->template = 'simple_message'; // note no '.ctp'
    //Send as 'html', 'text' or 'both' (default is 'text')
    $this->Email->sendAs = 'both'; // because we like to send pretty mail
    //Set view variables as normal
    $this->set('User', $User);
    //Do not pass any args to send()
    $this->Email->send();
    echo "hi";
 }
    }
?>

它保存在此文件夹中:

C:\xampp\htdocs\NewFolder\app\webroot\email\app\controllers

所以每次我尝试在浏览器中运行它时,我在我的 url 中输入的是:`http://localhost/email/sendNewUserMail

我的浏览器给我的是一个空白页面,没有任何内容发送到 csorila17@gmail.com。可能是什么问题?如果可能的话,我可以看看使用 cakephp 发送电子邮件的完整代码吗?这个问题让我发疯。先感谢您

4

2 回答 2

1

如果您在本地运行此应用程序,我相信您需要设置一个邮件服务器才能工作,否则您可以使用任何提供商的 smtp 邮件选项。为此,您必须配置您的邮件设置。

在你的app\config你可以创建一个文件email.php

<?php 
    class EmailConfig {

        public $default = array(
            'host' => 'ssl://smtp.gmail.com',
            'port' => 465,
            'username' => 'your email address', //example@gmail.com
            'password' => 'password',
            'transport' => 'Smtp',
            'from' => array('From Email Address' => 'Name to be displayed in the Email'),
            'log' => true
        );

    }

在您的控制器中之后,您可以设置使用以下代码发送电子邮件。

$email = new CakeEmail();
$email->to('example@gmail.com');
$email->subject('Email testing Subject');       
$email->send('Email testing content');
于 2012-05-03T03:43:09.883 回答
0

如前所述,了解版本号很重要。确保在您的配置文件中将调试设置为“2”,以便您可以看到一些输出。

于 2012-05-02T13:14:53.757 回答