SMTP
SMTP 功能由 ginkgo\Smtp
类完成,SMTP 全称 Simple Mail Transfer Protocol,即简单邮件传输协议,是在 Internet 传输 email 的事实标准。
配置
可以通过配置文件定义
'var_extra' => array(
'smtp' => array(
'host' => '', // 服务器
'secure' => 'off', // 加密传输
'port' => 25, // 端口
'auth' => 'true', // 是否需要验证
'user' => '', // 用户名
'pass' => '', // 密码
'from_addr' => 'root@localhost', // 来源地址
'from_name' => 'root', // 来源名字
'reply_addr' => 'root@localhost', // 回复地址
'reply_name' => 'root', // 回复名字
'debug' => '0', // 调试模式
),
...
),
也可以在实例化 SMTP 类时定义
$config = array(
'host' => '', // 服务器
'secure' => 'off', // 加密类型
'port' => 25, // 端口
'auth' => 'true', // 是否需要验证
'user' => '', // 用户名
'pass' => '', // 密码
'from_addr' => 'root@localhost', // 来源地址
'from_name' => 'root', // 来源名字
'reply_addr' => 'root@localhost', // 回复地址
'reply_name' => 'root', // 回复名字
'debug' => '0', // 调试模式
);
$smtp = Smtp::instance($config);
优先级:初始化定义 > 配置文件定义
连接服务器
connect
方法可连接服务器
$smtp->connect();
完整的发送邮件例子
$smtp = Smtp::instance($config);
$smtp->addRcpt('baigo@baigo.net'); // 支持多个收件人
$smtp->addRcpt('fone@baigo.net', 'fone'); // 支持定义收件人名
$smtp->setSubject('这是一封邮件');
$smtp->setContent('<div>这是邮件内容</div>'); // 支持 HTML
$smtp->send();
基本操作
添加收件人
$smtp = Smtp::instance();
$smtp->addRcpt('baigo@baigo.net'); // 支持多个收件人
$smtp->addRcpt('fone@baigo.net', 'fone'); // 支持定义收件人名
添加回复人
$smtp->addReply('baigo@baigo.net'); // 支持多个回复人
$smtp->addReply('fone@baigo.net', 'fone'); // 支持定义回复人名
设置发件人
$smtp->setFrom('fone@baigo.net', 'fone'); // 支持定义发件人名
设置邮件主题
$smtp->setSubject('这是一封邮件');
设置邮件内容
$smtp->setContent('<div>这是邮件内容</div>'); // 支持 HTML
设置纯文本邮件内容
$smtp->setContentAlt('这是邮件内容');
发送邮件
$smtp->send();
获取错误信息
$smtp->getError();