- 論壇徽章:
- 0
|
最近看到不少關(guān)于用smtp發(fā)郵件的文章,其實(shí)除了自己寫以外,php的官方組件庫還提供了一個(gè)netmail組件可以發(fā)送郵件。下面簡單介紹使用的方法
1 下載NetMail,SMTP,SASL,SOCKET等幾個(gè)pear組件,當(dāng)然還包括pear.php這個(gè)模塊。注意最新版本的文件里面最后面缺少 “?>“ 要自己補(bǔ)上。
在你的webapp目錄下建立一個(gè)inc/pear目錄,一般不要使用系統(tǒng)的pear庫,因?yàn)橐豢赡軙邪姹締栴},二pear使用時(shí)需要設(shè)置require的路徑,而每一個(gè)程序可能都有差別。
把所有的包放在inc/pear里面后,修改每一個(gè)文件里面requirel_once的地方,在文件名前面加上你自己的路徑,相對位置從你要執(zhí)行發(fā)送程序的目錄開始,大致如下
require_once(PEAR_PATH.'Mail.php');
里面的PEAR_PATH可以控制不同目錄下的文件調(diào)用時(shí)根據(jù)自己的當(dāng)前所在路徑來具體設(shè)置
2 發(fā)送程序
設(shè)置smtp的訪問用戶名,密碼
$params = array('host' => 'localhost',
'port' => '25',
'username' =>
[email='danny@xxx.gov.cn']'danny@xxx.gov.cn'[/email]
,
'password' => 'danny');
//$to = $test_mail;
$recipients = $to; 接收人,可以是一個(gè)數(shù)組來存放多個(gè)地址
$headers['From'] = $email;
$headers['To'] = $to;
$headers['Subject'] = $subject;
$body = $message;
//選擇smtp的發(fā)送方式,當(dāng)然還支持mail()和sendmail
$mail_object = &Mail::factory('smtp', $params);
if (PEAR::isError($e = $mail_object->send($recipients, $headers, $body))) {
die($e->getMessage() . "\n");
}
本文來自ChinaUnix博客,如果查看原文請點(diǎn):http://blog.chinaunix.net/u/27608/showart_347492.html |
|