【问题标题】:Trying to get test email working in cakephp试图让测试电子邮件在 cakephp 中工作
【发布时间】:2011-08-07 04:16:03
【问题描述】:

我正在尝试使用此处的“发送基本消息”代码发送电子邮件: http://book.cakephp.org/view/1283/Email#!/view/1286/Sending-a-basic-message

代码似乎有效,但我从未收到电子邮件(我已验证电子邮件地址有效)。我没有在 PHP 的任何地方配置电子邮件服务器,但说明没有提及。这是我设置时的输出

 $this->Email->delivery = 'debug';

.

To: Somebody Else 
From: Somebody 
Subject: Test
Header:

From: Somebody  
Message-ID: <4daa65cd-beb8-4bf6-8cec-1dc07b5e5e4c@localhost>
Date: Sat, 16 Apr 2011 22:00:13 -0600
X-Mailer: CakePHP Email Component
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bitParameters:

Message:

Hello message body!

【问题讨论】:

  • 你在什么平台上?在 Windows 上,您需要运行本地 SMTP 服务器,或者至少在 php 配置中指定一个。如果你在一台 Unix/Linux 服务器上,你可能已经有了,所以检查 /var/log/maillog 看看邮件发生了什么 - 它可能会被当作垃圾邮件丢弃。
  • 我在 centOS 5.5 上。我的机器没有设置为发送电子邮件,所以我必须通过谷歌 SMTP 之类的路由。
  • 好的。添加了Edit0。在阅读其他帖子时,我想到的另一点是,(afaik)CakePHP 可以通过套接字连接直接与 SMTP 对话。所以我会尝试确保设置(如我的edit0)是正确的,而不是继续寻找日志文件(CakePHP 登录 app/tmp/logs)Ü

标签: php email cakephp


【解决方案1】:

派克,

如果您使用debug 设置,那么您不是发送电子邮件,而是显示它。 见here

有关正确设置,请参阅here。因此,您不需要配置像 eximsendmail 这样的 MTA,而是使用您的 ISP(又名(此处),您的普通电子邮件地址)来完成这项工作。

编辑0: 而且你肯定按照书上的规定来设置它?:

   /* SMTP Options, !with the settings of your ISP substituted in! */
   $this->Email->smtpOptions = array(
        'port'=>'465', 
        'timeout'=>'30',
        'host' => 'ssl://smtp.gmail.com',
        'username'=>'your_username@gmail.com',
        'password'=>'your_gmail_password',
   );

【讨论】:

  • 对,我知道调试设置的行为。我只是为了这个线程的更多信息而这样做。当我进行实际测试时,我将其关闭。
【解决方案2】:

尝试在它自己的文件中运行 phpinfo() 函数,看看你的 PHP 安装是否使用了类似 sendmail 的东西。很可能,您没有安装 SMTP 服务器,或者您的 php.ini 文件中没有正确配置它。

PHP 日志中有什么(错误)吗?

<?php

phpinfo();

?>

【讨论】:

  • 这里是 phpinfo() 中的 smtp 属性: SMTP localhost localhost smtp_port 25 25 我的服务器没有设置为发送电子邮件,所以我需要使用类似 google SMTP 的东西。
猜你喜欢
  • 2015-05-18
  • 2015-05-19
  • 2016-12-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-26
  • 1970-01-01
  • 2011-09-12
相关资源
最近更新 更多