20.2. 通过SMTP发送邮件

以SMTP方式发送邮件,Zend_Mail_Transport_Smtp对象需要在send()方法被调用之前创建并注册到Zend_Mail中去。 当前脚本程序中所有使用Zend_Mail::send()发送的邮件,都将以SMTP方式传送:

例 20.2. 通过 SMTP 发送邮件


<?php
require_once 'Zend/Mail/Transport/Smtp.php';
$tr = new Zend_Mail_Transport_Smtp('mail.example.com');
Zend_Mail::setDefaultTransport($tr);
?>

setDefaultTransport()方法的调用和Zend_Mail_Transport_Smtp对象的构造代价并不昂贵。 这两行可以添加在脚本程序的配置文件(例如config.inc或者类似文件)中,从而为整个脚本程序配置Zend_Mail类的行为。 如此可以把配置信息从应用程序逻辑分离出来邮件是通过SMTP还是mail()发送,使用什么邮件服务器等等。