快速业务通道

PEAR:常用模块

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-25
要验证每个原子parseAddressList($address = null, $default_domain = null, $nest_groups = null, $validate = null)分析验证所给定的地址列表,如果地址有效,返回拆分后的单独的地址列表,如果发生错误,则返回错误信息。

<?php
require_once "Mail/RFC822.php";
$rf822 = new Mail_RFC822;
$result=$rf822->paseAddressList(''who;whoim@hotmail.com;test@test.ch'');
if ( $rf822->error ){
echo "Error:$result";
}else {
reset($result);
for ($i=0; $i< count($result);$i++){
echo "email:$result[$i]\n";
}
}
?>
8.Mail/Sendmail
sendmail是unix/linux上面最常用的MTA,这个模块可以让你直接使用sendmail来发送信件

使用方法:Mail_sendmail($params)

类构造函数,$params是一个关联数组,你可以设定sendmail的参数,目前只有''sendmail_path''是有效的,用来设置sendmail的路径 send($recipients, $headers, $body) 发送信件,$recipients是你的收件人的email地址,可以是单个,也可以是用;隔开的地址列表,只要符合RFC82标准就可以。$headers是你发送信件的信头,这是一个关联数租,数组的关键字是信头的名字(如Subject),数组值则是信头的值(比如:Hello!)。处理后的信头将会是:Subject:Hello! $body 是信件的信体,包括所有的MIME编码后的部分。如果成功,返回真,否则返回一个PEAR_Error对象

<?php
require_once "Mail/sendmail.php";
$sendmail = new Mail_sendmail(array(''sendmail_path=>''/usr/local/bin/sendmail''));
$header = array(''Subject''=>''Hello'',''BCC''=>''test2@hotmail.com'');
$body = ''This is a test message from nightsailer.com'';
$result = $sendmail->send(''test@nightsailer.com'', $header, $body);
if ( PEAR::isError($result) ){
echo "<h1> 发送失败 </h1><br>原因:".$result->getMessage()."<br>";
}else {
echo "<h1>恭喜!发送成功!</h1><br>";
}
?>
9.Mail/smtp
对于现在有些站点不允许使用sendmail,那么如果你的php程序希望使用发信功能,就需要能够通过使用外部的smtp服务器来完成相应的功能了。

使用方法:使用上这个模块和Mail::sendmail基本上是一样的。需要注意的是:这个模块需要使用Net::SMTP模块:Mail_smtp($params)
$params的有效参数是:
''host'' smtp的服务器地址,缺省是 localhost
''port'' smtp服务端口,缺省是25
''auth'' smtp是否需要授权验证,缺省是false
''usename'' smtp授权的用户名
''password'' smtp授权的密码

send($recipients, $headers, $body)
发送

<?php
require_once "Mail/sendmail.php";
$params=array(''host''=>''smtp.nightsailer.com'',''auth''=true,
''username''=>''night'',''password''=>''123456'');
$sendmail = new Mail_sendmail($params);
$header = array(''Subject''=>''Hello'',''BCC''=>''test2@hotmail.com'');
$body = ''This is a test message from nightsailer.com'';
$result = $sendmail->send(''test@nightsailer.com'', $header, $body);
if ( PEAR::isError($result) ){
echo "<h1> 发送失败 </h1><br>原因:".$result->getMessage()."<br>";
}else {
echo "<h1>恭喜!发送成功!</h1><br>";
}
?>
10.Schedule/At
这个模块提供了unix上面的at程序的接口

add($cmd, $timespec, $queue = false, $mail = false )
追加一个at命令

这个方法将为at程序生成一个定制的作业:
$cmd 是你要运行的程序或脚本
$timespec 是作业开始执行的时间,格式与at要求的相同
$queue 可选参数,指明作业的队列名
$ma

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号