【问题标题】:CakePHP Cake Email SMTP GmailCakePHP Cake 电子邮件 SMTP Gmail
【发布时间】:2014-06-23 10:28:49
【问题描述】:

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

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

/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'));
}

【问题讨论】:

  • 隐藏您的个人详细信息并显示配置文件的电子邮件部分
  • 如果您认为这是重复的 - 您显然没有阅读它。我写道,我有一个完美的工作代码(在本地主机上验证),我的问题并不是关于代码可能有什么问题,因为它几乎是从蛋糕的食谱中复制粘贴的。我的问题是,服务器端可能出了什么问题,导致我无法发送电子邮件。

标签: php email cakephp


【解决方案1】:

通常,大多数网络托管服务会出于某种原因阻止外部 SMTP 连接,我仍在努力理解。我知道的这样一个虚拟主机是 JustHost。

他们希望您使用他们的本地 smtp 服务器...我建议您与您的虚拟主机服务联系,因为我 100% 确定这是他们的事情,而不是您的代码。

我的虚拟主机拒绝收听,所以我使用的最佳选择是 MailGun http://www.mailgun.com/ 这允许您使用他们提供的php-api 发送电子邮件。但是您将无法使用您的 gmail 地址。

【讨论】:

  • 非常感谢!不幸的是,我无法与我的提供商确认外部 SMTP 块,但 MailGun 解决了我的问题,这让我认为,你对块的看法也是正确的 :)
猜你喜欢
  • 2012-03-09
  • 2012-01-04
  • 1970-01-01
  • 2014-10-19
  • 2011-08-28
  • 2011-05-24
  • 1970-01-01
  • 2016-10-25
  • 1970-01-01
相关资源
最近更新 更多