php – 如何使用Zend_Mail,sendmail和localhost发送电子邮件?

我正在开发一个包含简单电子邮件功能的zend框架应用程序.开发版本在我的计算机上运行,​​该计算机正在运行Ubuntu.生产版本将在生产服务器上运行.

当我尝试向自己发送测试邮件时,我收到一条例外消息:“无法发送邮件”.我不知道这是一个环境问题,还是代码问题.我没有使用传输,所以我认为它是认的Zend_Mail_Transport_Sendmail.这是我的代码

public function sendtestAction()
{
    $mail = new Zend_Mail();
    $mail->setFrom('test@aol.com','Test Email');
    $mail->addTo('my@email.com','My Name');
    $mail->setSubject('This is just a test.');
    $mail->setBodyText('This is only a test.');
    $mail->send();
}

更新:我尝试了一种不同的方法,将SMTP传输设置为使用localhost:

transport = new Zend_Mail_Transport_Smtp('localhost');
Zend_Mail::setDefaultTransport($transport);

这次我得到了一个不同的错误:“拒绝连接”不确定这意味着什么.也许我还没有做些什么呢?

更新:我想我没有安装/设置SMTP服务器. This tutorial made it really easy for me to get an SMTP server up an running.现在上面的两个代码示例都有效.

听起来您需要配置MTA,或找到可以发送的MTA. Ubuntu桌面应该认设置一个,可能是exim或postfix,但如果你没有配置它,它将不太可能正在运行.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...