今天没什么事情用zend框架中的zend_mail 写了一个发送邮件的小例子 下面是源码
<?php
//判断是否提交了表单
if($_POST['send'])
{
//引入Zend中关于发送邮件所需要的文件
include_once 'Zend/Mail.php';
include_once 'Zend/Mail/Transport/Smtp.php';
//新建实例 有的smtp服务可能需要登录 所以我们对smtp进行登陆的配置
$config = array(
'port'=>'25', //端口
'auth'=>'login', //状态 login为登录
'username'=>'*******', //用户名
'password'=>'*******' //密码
);
$smtp = new Zend_Mail_Transport_Smtp('smtp.163.com',$config);
Zend_Mail::setDefaultTransport($smtp);
//新建Zend_Mail实例
$mail = new Zend_Mail('gb2312');
##########################################
#
# 注:为了避免发送邮件中中文乱码的问题 在新建实例的时候,如果页面的编码与默认的编码不一样,要把与页面同样的字符集加在你实例上
# Zend_Mail默认字符集是 iso-8859-1
#
##########################################
$mail->addTo($_POST['ToName']); //收件人的邮箱
$mail->setFrom('*******@***.com','张伟健'); //发件人的邮箱
$mail->setSubject($_POST['Theme']); //邮件主题
$mail->setBodyHtml($_POST['Content']); //邮件内容
//判断是否有附件发送
if($_FILES['upFile']['tmp_name'] != '')
{
$attach = $mail->createAttachment(file_get_contents($_FILES['upFile']['tmp_name']));
$attach->type = $_FILES['upFile']['type'];
$attach->filename = $_FILES['upFile']['name'];
}
//发送邮件 进行了异常处理 如果存在异常 提示发送失败 否则发送成功
try {
$mail->send();
echo "发送成功";
} catch (Exception $e) {
echo "发送失败";
//echo $e->getMessage();
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>邮件处理(Zend_Mail)</title>
<mce:style type="text/css"><!--
.tbl {
border: 1px solid #CCC;
}
--></mce:style><style type="text/css" mce_bogus="1">.tbl {
border: 1px solid #CCC;
}</style>
</head>
<body>
<h1 style="color:white; background-color:#525D76;font-size:22px" mce_style="color:white; background-color:#525D76;font-size:22px">邮件处理(Zend_Mail)</h1>
<form action="" method="post" enctype="multipart/form-data" >
<table width="100%" border="0" cellpadding="5" cellspacing="2">
<tr>
<td width="6%">收件人:</td>
<td width="94%"><label for="ToName"></label>
<input name="ToName" type="text" class="tbl" id="ToName" size="50"></td>
</tr>
<tr>
<td> 主题:</td>
<td><label for="Theme"></label>
<input name="Theme" type="text" class="tbl" id="Theme" size="50"></td>
</tr>
<tr>
<td>附件:</td>
<td><label for="upFile"></label>
<input name="upFile" type="file" class="tbl" id="upFile" size="50"></td>
</tr>
<tr>
<td>内容:</td>
<td><textarea name="Content" cols="50" rows="5" class="tbl" id="Content">