Email cakephp 2-无法发送电子邮件。在windows上使用gmail

Email cakephp 2-无法发送电子邮件。在windows上使用gmail,email,cakephp-2.0,Email,Cakephp 2.0,我有这个配置: class EmailConfig { public $default = array( 'host' => 'ssl://smtp.gmail.com', 'port' => 465, 'username' => 'myemail@gmail.com', 'password' => 'mypassword'); } 并将其编码为: $Email = new CakeEmail('d

我有这个配置:

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 box上,他收到以下错误: 无法发送电子邮件

有人能解释一下原因吗

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

好的,底线是看起来unix/php需要本地邮件服务器才能工作,而ruby/rails可以直接与远程服务器通信。Windows似乎确实有办法实现这一点

在windows上,可以通过编辑php.ini来实现这一点:

smtp_server=smtp.gmail.com

; smtp port (normally 25)

smtp_port=465

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

看看这个,确保它具有ssl连接:我在mac电脑上注意到,尽管我的电子邮件客户端配置为转到谷歌,但它似乎正在使用我的本地邮件服务器,这是为什么?有没有办法让它直接进入谷歌,绕过本地邮件服务器?