第 11 章 Zend_Mail

目录

11.1. 简介
11.2. 通过 SMTP 发送邮件
11.3. 通过 SMTP 连接发送多个邮件
11.4. 使用不同的Transport对象
11.5. HTML 邮件
11.6. 附件
11.7. 增加收件人
11.8. 改变 MIME 分界线
11.9. 增加邮件头信息
11.10. 字符集
11.11. 编码
11.12. SMTP 认证

11.1. 简介

Zend_Mail 提供了通用化的功能来编辑和发送文本以及兼容MIME标准的含有多个部分的邮件信息. 邮件可以使用 Zend_Mail 通过 php 内建的 mail() 函数或者直接通过 SMTP 连接发送.

例 11.1. 使用 Zend_Mail 发送简单邮件

一个简单邮件由一个或者几个收件人,一个主题, 一个邮件主体和一个发件人组成. 通过下面的步骤可以通过 PHP 的 mail() 函数发送此类邮件:

<?php
require_once 'Zend/Mail.php';
$mail = new Zend_Mail();
$mail->setBodyText('This is the text of the mail.');
$mail->setFrom('somebody@example.com', 'Some Sender');
$mail->addTo('somebody_else@example.com', 'Some Recipient');
$mail->setSubject('TestSubject');
$mail->send();
?>       

[注意] 注意
你必须至少制定一个收件人, 一个发件人 (例如通过 setFrom() 方法)和一个邮件消息主体 (文本 和/或者 HTML) 来通过 Zend_Mail 发送邮件.

通过 "get" 方法可以读取绝大多数储存在 "mail" 对象中的邮件属性. 更进一步的细节请参阅API文档. 一个特例是 getRecipients().它返回一个含有所有先前被加入的收件地址的数组.

出于安全原因, Zend_Mail 会过滤邮件头中所有含有 (\n) 字符的字段以防止基于header injection( 译者: 邮件头插入 )的漏洞攻击.