CakePHP电子邮件突然停止工作

时间:2013-09-13 02:15:29

标签: php email cakephp

我一直在使用CakePHP的电子邮件课程近一年了。系统一直在发送HTML电子邮件没有问题。两天前,我收到了客户未收到通知的报告。我也注意到我没有收到管理员通知。

我的第一个想法是我的服务器(由GoDaddy托管)发生了变化。我不相信这是我的托管服务提供商,因为我测试了php的raw mail()函数,甚至通过CakePHP的类发送了一封快速文本邮件。我还测试了每个调试模式和错误日志,没有任何迹象表明发生了错误。这是几天前我一直在使用的代码(成功)。在我的应用中,此代码大约相同10次。

$Email = new CakeEmail();
$Email->template('order_status_change', 'default')
->emailFormat('html')
->to($order['Order']['email'])
->subject('blah blah ' . $order['Order']['id'] . ' status change: ' . $status['Status']['label'])
->from(array('myemail@gmail.com' => 'blah blah'))
->viewVars(array(
    'id' => $order['Order']['id'],
    'firstName' => $order['Order']['first_name'],
    'statusLabel' => $status['Status']['label'],
    'statusDescr' => $status['Status']['description']
))
->send();

有几点需要注意:

  1. 我已经确认了html模板'order_status_change'和 默认布局在正确的文件夹中(之前它们正在工作)
  2. 我已经确认变量都是正确设置的 发送电子邮件的时间
  3. 如果我必须切换到文本电子邮件,我会,但我似乎无法理解代码将如何突然停止工作。我唯一改变的是调试模式(我从一开始就一直在做)。

    更新

    电子邮件再次停止工作,所以我切换到短信。然而,由于一些奇怪的原因,当我在网络中放置一个网址(如http://www.google.com)时,邮件失败了。但是如果我只删除.com那么它将会通过。到底发生了什么事?

    更新2

    这是我当前的配置,它会发送没有链接的文本电子邮件(当我说链接时我的意思是网址字符串)

    class EmailConfig {
    
        public $godaddy = array(
            'transport' => 'Smtp',
            'host' => 'relay-hosting.secureserver.net',
            'port' => 25,
            'timeout' => 300,
            'log' => true,
            'charset' => 'utf-8',
            'headerCharset' => 'utf-8'
        );
    
    }
    

    我确认Go Daddy不需要身份验证,端口是25。

0 个答案:

没有答案