我试过这段代码:
<?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发送电子邮件的完整代码吗?这个问题让我抓狂。提前谢谢
答案 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”,以便您可以看到一些输出。