CakePHP电子邮件组件smtp失败

时间:2010-02-14 19:31:48

标签: php cakephp

我已成功使用CakePHP的电子邮件组件发送我的电子邮件但由于限制我现在需要将其设置为使用smtp中继服务器而且我得到一些奇怪的结果。

这是我的代码:

$this->Email->to = $user['User']['username'].' <'.$user['User']['email'].'>';
$this->Email->subject = 'MyWebsite.com – Please confirm your email address';
    $this->Email->from = 'MyWebsite.com <noreply@MyWebsite.com>';
    $this->Email->template = 'user_confirm';
    $this->Email->sendAs = 'html';
    $this->Email->smtpOptions = array(
        'timeout' => '30',
        'port' => '25',
        'host' => 'mail.myrelayserver.com',
        'username' => 'USERNAME',
        'password' => 'PASSWORD'
    );
    $this->Email->delivery = 'smtp';
    if ($this->Email->send()) {
        return true;
    } else {
        echo $this->Email->smtpError;
    }

现在每当我尝试发送此电子邮件时,发送失败,我从$ this-&gt;电子邮件 - &gt; smtpError获取以下输出:

14.2/Kp; Sun, 14 Feb 2010 19:11:07 GMT

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

“14.2 / Kp; Sun,2010年2月14日19:11:07 GMT”是sendmail“问候”消息的一部分。 也许连接在授权之前被删除了? 您是否尝试使用netcat或telnet连接到您的中继?

答案 1 :(得分:0)

固定。

问题与我的smtp中继服务器不接受来自我的云服务器的连接有关。只要我将以下行添加到sendmail配置文件中,就会开始发送电子邮件。

MASQUERADE_AS(`mydomain.com')DNL FEATURE(masquerade_envelope)DNL

我希望这有助于其他人:)