PHP实现邮件发送功能
1、打开你的代码编辑器新建一个index.php文件写好表单,我写的如下 包括提交处理的程序代码如下:
<?php
date_default_timezone_set('Asia/Shanghai');
include 'smtp.func.php';
if(isset($_GET['do']) && $_GET['do']=='action') {
$mailto=''; //收件人
$subject=""; //邮件主题
$body=""; //邮件内容
if($_POST['mailuser']=='') {
echo "<script>alert('请输入收件人邮箱帐号');</script>";
}else {
$mailto = $_POST['mailuser'];
}
if($_POST['mailtitle']=='') {
echo "<script>alert('请输入邮件标题');</script>";
}else {
$subject = $_POST['mailtitle'];
}
if($_POST['mailcontent']=='') {
echo "<script>alert('请输入邮件内容');</script>";
}else {
$body = $_POST['mailcontent'].date("Y年m月d日 H时i分s秒");
}
$mes = sendmailto($mailto,$subject,$body, false);
if($mes) {
echo "<script>alert('发送成功');location.href='index.php'</script>";
}else {
echo "<script>alert('发送失败');location.href='index.php'</script>";
}
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>PHP实现邮件发送功能-百度经验</title>
<style type="text/css">
body {background: #fcfcfc; font-family: '微软雅黑'} * {margin: 0;padding: 0;}
input,textarea {font-family: '微软雅黑'}
#main {width: 800px; overflow: hidden; text-align: center; border: 1px solid #ccc; background: #fff; margin: 50px auto;}
#main h3 {color: #ff0000; margin: 10px;}
.tab,tr,td {border-collapse:collapse; border: 1px solid #ff0000; margin: 10px auto}
.tab td {padding: 5px;}
.inp {width: 300px; height: 30px; font-size: 16px; padding:0 5px;}
.tab textarea {width: 300px; height: 100px;font-size: 16px; padding:0 5px;}
.sub {padding: 8px 20px; font-size: 16px;}
</style>
</head>
<body>
<div id="main">
<h3>PHP实现邮件发送功能-百度经验</h3>
<form action="index.php?do=action" method="post">
<table>
<tr>
<td>收件人</td>
<td><input type="text" name="mailuser"></td>
</tr>
<tr>
<td>邮件标题</td>
<td><input type="text" name="mailtitle"></td>
</tr>
<tr>
<td>邮件内容</td>
<td><textarea name="mailcontent"></textarea></td>
</tr>
<tr>
<td colspan="2"><input type="submit"></td>
</tr>
</table>
</form>
</div>
</body>
</html>

2、我们在新建一个smtp.func.php邮件发送函数文件 你的邮件SMTP服务器和SMTP服务器端口、SMTP服务器的邮箱帐号和密码等都在这里面配置; 我这里使用的是阿里的企业邮箱 代码如下:
<?php
include 'smtp.class.php';
//邮件发送函数
function sendmailto($mailto, $mailsub, $mailbd, $debug=false) {
$smtpserver = "smtp.cm361.cn"; //SMTP服务器
$smtpserverport = 25; //SMTP服务器端口
$smtpusermail = "晓杰<admin@cm361.cn>"; //SMTP服务器的用户邮箱
$smtpemailto = $mailto; //收件人
$smtpuser = "admin@cm361.cn"; //SMTP服务器的用户帐号
$smtppass = "QQ-1223188688"; //SMTP服务器的用户密码
$mailsubject = $mailsub; //邮件主题
$mailsubject = "=?UTF-8?B?" . base64_encode($mailsubject) . "?="; //防止乱码
$mailbody = $mailbd; //邮件内容
// $mailbody = "=?UTF-8?B?".base64_encode($mailbody)."?="; //防止乱码
$mailtype = "HTML"; //邮件格式(HTML/TXT),TXT为文本邮件. 139邮箱的短信提醒要设置为HTML才正常
/***
创建stmp对象
参数一是:SMTP服务器
参数二是:SMTP服务器端口
参数三是:SMTP服务器的用户帐号
参数四是:SMTP服务器的用户密码
参数五是:这里面的一个true是表示使用身份验证,否则不使用身份验证.
**/
$smtp = new smtp($smtpserver, $smtpserverport, $smtpuser, $smtppass, true); //这里面的一个true是表示使用身份验证,否则不使用身份验证.
$smtp->debug = $debug; //是否显示发送的调试信息
/***
调用stmp类里面的sendmail方法
参数一是:收件人邮箱帐号
参数二是:SMTP服务器的用户邮箱(发件人邮箱帐号)
参数三是:邮件主题(邮件标题)
参数四是:邮件内容
参数五是:邮件格式(HTML/TXT),TXT为文本邮件. 139邮箱的短信提醒要设置为HTML才正常
***/
return $smtp->sendmail($smtpemailto, $smtpusermail, $mailsubject, $mailbody, $mailtype);
}

3、最后看下我的测试截图,整个例子的完整源代码下载地址链接: https://pan.baidu.com/s/1hsF093e 密码: kpk7

