1

我有这个配置:

class EmailConfig {

  public $default = array(
        'host' => 'ssl://smtp.gmail.com',
        'port' => 465,
        'username' => 'myemail@gmail.com',
        'password' => 'mypassword');
}

并编码:

 $Email = new CakeEmail('default');
 $Email->viewVars(array('first_name' => $user['User']['first_name'], 'link' => $link, 'last_name' => $user['User']['last_name'], 'otp' => $otp, 'html_link' => $html_link));

 $Email->to($username);
 $Email->emailFormat('both');
 $Email->from('myemail@gmail.com');
 $Email->subject("Course Registration");
 $Email->template('welcome');
 $Email->send();

这在我的 Mac 上效果很好,没有问题,但在我同事的 windows 盒子上,他收到这个错误:无法发送电子邮件

有人可以解释为什么吗?

Request URL: /Users/activate/165
Stack Trace:
#0 C:\wamp\www\cakephp\lib\Cake\Network\Email\MailTransport.php(47): MailTransport->_mail('pradhan.sabin@g...', 'Course Registra...', '--20cbbe22cace5...', 'From: mmassites...', NULL)
#1 C:\wamp\www\cakephp\lib\Cake\Network\Email\CakeEmail.php(1066): MailTransport->send(Object(CakeEmail))
#2 C:\wamp\www\cakephp\app\Controller\UsersController.php(727): CakeEmail->send()
#3 C:\wamp\www\cakephp\app\Controller\UsersController.php(665): UsersController->otpactivation('165')
#4 [internal function]: UsersController->activate('165')
#5 C:\wamp\www\cakephp\lib\Cake\Controller\Controller.php(486): ReflectionMethod->invokeArgs(Object(UsersController), Array)
#6 C:\wamp\www\cakephp\lib\Cake\Routing\Dispatcher.php(187): Controller->invokeAction(Object(CakeRequest))
#7 C:\wamp\www\cakephp\lib\Cake\Routing\Dispatcher.php(162): Dispatcher->_invoke(Object(UsersController), Object(CakeRequest), Object(CakeResponse))
#8 C:\wamp\www\cakephp\app\webroot\index.php(109): Dispatcher->dispatch(Object(CakeRequest), Object(CakeResponse))
#9 {main}
2013-06-07 21:09:31 Error: current url is :/Users/activate/165
4

1 回答 1

0

好的,所以底线是它看起来像 unix/php 需要一个本地邮件服务器才能工作,不像 ruby​​/rails 可以直接与远程服务器通信。Windows 似乎确实有办法完成这项工作。

在 Windows 上,有一种方法可以通过编辑 php.ini 来实现:

smtp_server=smtp.gmail.com

; smtp port (normally 25)

smtp_port=465

我没有测试过这个,所以我不确定它是否有效。这是为一所使用窗户的大学准备的。

于 2013-07-09T15:22:03.897 回答