CakePHP Cake电子邮件SMTP Gmail

时间:2014-05-06 17:17:30

标签: php email cakephp

我遇到了让Cake Email正常运行的问题。 我按照cookbook(http://book.cakephp.org/2.0/en/core-utility-libraries/email.html部分'配置')中的规定设置了所有内容。当我在localhost(xampp)上测试它时,一切都像魅力一样,问题是,当我在我的网络服务器上传文件,并尝试执行它(发送电子邮件)时,我得到了#34;网络无法访问"。 在我看来,服务器端可能存在一些问题,但可能是什么,以及如何解决这个问题? 提前谢谢。

编辑: 我的代码,按要求。

/app/Config/email.php

public $gmail = array(
    'host' => 'ssl://smtp.gmail.com',
    'port' => 465,
    'username' => 'wykresl***14@gmail.com',
    'password' => '***********',
    'transport' => 'Smtp',
    'timeout' => '30'
);
控制器中的

 public function test()
{
    App::uses('CakeEmail', 'Network/Email');
    $Email = new CakeEmail('gmail');
    $Email->from(array('wykreslanka.2014@gmail.com' => 'Wykreślanka 2014'));
    $Email->to('si***1@gmail.com');
    $Email->subject('test');
    $Email->template('newsletter');
    $Email->emailFormat('html');
    $Email->viewVars(array('post_id'=>0,'post_title'=>'Tytuł','post_body'=>'Body','quote_is'=>false));
    $Email->send();
    $this->Session->setFlash('Poszło','success');
    return $this->redirect(array('action' => 'all'));
}

1 个答案:

答案 0 :(得分:1)

通常,大多数网络托管服务会出于某些原因阻止外部SMTP连接,我仍然试图理解。我认识的一个这样的虚拟主机是JustHost。

他们希望您使用他们的本地smtp服务器......我建议您与您的网站托管服务联系,我会100%确定它的内容,而不是您的代码。

我的网站主机拒绝听,所以我使用的最佳替代方案是MailGun http://www.mailgun.com/ 这允许您使用他们提供的php-api发送电子邮件。但是,您将无法使用您的Gmail地址。

相关问题