使用cakephp发送电子邮件很困难

时间:2012-05-02 09:56:46

标签: email cakephp

确定它让我头痛但我明白每个初学者都会有同样的经历。我已经尝试了使用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

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

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

2 个答案:

答案 0 :(得分: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');

答案 1 :(得分:0)

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