PHP使用PEAR类发送邮件程序代码

<?php

require_once 'Mail.php';//引入发送邮件的类

require_once 'Mail/mime.php';//引入发送邮件附件的类

 

/***************************************************************************/

//定义变量

$mailpro = 'smtp'; //邮件发送协议类型

$smtpserver = $_POST['smtpserver'];//smtp服务器

$smtpport = $_POST['smtpport'];//smtp端口号

$smtpauth = true;//smtp服务器是否需要验证

$smtpusername = $_POST['user'];//用户名

$smtppass = $_POST['smtppass'];//邮箱密码

$smtpusermail = $_POST['smtpusermail'];//发件人的邮箱地址

$smtpto = $_POST['to'];//收信人地址

$mailsubject = $_POST['subject'];//邮件标题

$mailbody = $_POST['body'];//邮件内容

//$addfile = 'test.txt'; //邮件附件路径

//附件变量的定义……

 

$addfile = $_FILES["upfile0"]['tmp_name'];//上传附件的路径和文件名

$addfiletype = $_FILES["upfile0"]['type'];//邮件附件的格式

$addfilerename = $_FILES["upfile0"]['name']; //邮件附件重命名

$addfilecode = 'quoted-printable';//邮件附件的编码方式

 

/**************************************************************************/

 

//定义一个二维数组

$conf['mail'] = array(

'host' => $smtpserver, //smtp服务器地址,可以用ip地址或域名

'port' => 25,//端口号

'auth' => true, //true表示smtp服务器需要验证,false代码不需要

'username' => $smtpusername, // 用户名

'password' => $smtppass //密码

);

 

/***

*使用$headers数组,可以定义邮件头的内容,比如使用$headers['Reply-To']可以定义回复地址

*通过这种方式,可以很方便的定制待发送邮件的邮件头

***/

$headers['From'] = $smtpusermail;//发信地址

$headers['To'] = $smtpto; //收信地址

$headers['Subject'] = $mailsubject; //邮件标题

$mail_object = &Mail::factory($mailpro, $conf['mail']);//创建一个mail类对象的引用

 

//$body = 'hello world!!!'; //邮件正文

 

/*******************************************************************************/

//邮件附件

$mime = new Mail_Mime("/r/n");//创建一个新的Mail_Mime类的实例

$mime->setTXTBody($mailbody);//邮件显示内容

 

$mime->addAttachment(

$addfile,//上传的附件的路径和文件名

$addfiletype, //上传的附件的格式

$addfilerename,//上传后附件重命名

TRUE,//上传附件后,是true,附件内容显示的是附件内容;是false,附件内容显示的是文件名

$addfilecode//文件数据的编码方式,默认是base64,文本文件(eg. scripts/html etc.)编码方式为:quoted-printable

);

 

$body = $mime->get();//邮件内容赋给变量body

$hdrs = $mime->headers($headers);//返回一个数组,这个数组包涵发送邮件的发信地址、收信地址、和邮件标题等内容

 

//$mail_res = $mail_object->send($headers['To'], $headers, $body); //发送

$mail_res = $mail_object->send($headers['To'], $hdrs, $body);//实现带附件的邮件发送

 

if(PEAR::isError($mail_res)){ //检测错误

die($mail_res->getMessage());

}

else

echo "You Have Send a Email!";

?>

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值