PHP实现邮件发送功能

2025-10-27 02:09:25

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>

PHP实现邮件发送功能

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);  

}

PHP实现邮件发送功能

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

PHP实现邮件发送功能

PHP实现邮件发送功能

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢