首页 > 网站制作
一言推荐::D 获取中...

php表单提交发邮件

搬砖/ Yessen/网站制作/2020-10-23/

虽然表单收集的网站很多,但是免费版有这各种的限制,个别情况下可以利用phpmailer实现表单提交发送邮件,本文根据Yessen的原文修改整理。

下载地址

phpmailer官网 https://github.com/PHPMailer/PHPMailer,但是官网版本很多,和本文以PHPMailer-5.2.27版本为例,
官网下载https://github.com/PHPMailer/PHPMailer/archive/v5.2.27.zip
本地下载
PHPMailer-5.2.27.zip760b3d0bf119b8fd489fe99829c4094f.zip (53.76 KB)
主要文件如下图,上传至网站根目录
php表单提交发邮件

举例

1,HTML部分,粘贴到你的html页面中

<form action="send.php" method="post">              
    <input type="text" placeholder="姓名" name="name" id="name">
    <input type="email" placeholder="电子邮件" name="email" id="email">
    <input type="text" placeholder="联系电话" name="phone" id="phone">
    <input type="text" placeholder="主题" name="subject" id="subject">
    <textarea placeholder="内容" name="comments" id="comments"></textarea>
    <input type="submit" name="submit" value="提交"/>
</form>

2,新建send.php上传至网站根目录(本地下载自带,直接修改邮箱即可)

<?php
require 'PHPMailerAutoload.php';
 
$mail = new PHPMailer();
 
$mail->isSMTP();                          // 使用SMTP服务
$mail->CharSet = "utf8";
$mail->Host = "smtp.163.com";             // 发送方的SMTP服务器地址
$mail->SMTPAuth = true;// 是否使用身份验证
$mail->Username = "lz1473@163.com";   // 发送方的163邮箱用户名
$mail->Password = "密码就不写了";                // 发送方的邮箱授权码
$mail->SMTPSecure = "ssl";                // 使用ssl协议方式
$mail->Port = 465;                        // 163邮箱的ssl协议方式端口号是465/994
 
$mail->setFrom("lz1473@163.com","lz1473");     // 设置发件人信息
$mail->addAddress("lz1473@qq.com","");        // 设置收件人信息,可设置多个,复制粘贴此行修改邮箱地址即可
$mail->addReplyTo("lz1473@163.com","LZ1473");   // 设置回复人信息,指的是收件人收到邮件后,如果要回复,回复邮件将发送到的邮箱地址
//$mail->addCC("lz1473@163.com");    // 设置邮件抄送人,可以只写地址,上述的设置也可以只写地址
//$mail->addBCC("bbbb@163.com");         // 设置秘密抄送人
//$mail->addAttachment("bug0.jpg");      // 添加附件
 
 
$mail->Subject = "FREEMPOS有新提交了";          // 邮件标题
$mail->Body = "姓名:".$_POST[name]."
               邮件:".$_POST[email]."
               电话:".$_POST[phone]."
               主题:".$_POST[subject]."
               内容:".$_POST[comments];      // 邮件正文
 
if(!$mail->send()){// 发送邮件
    echo "邮件发送失败!请检查邮箱填写是否有误。";
    echo "Mailer Error: ".$mail->ErrorInfo;  // 输出错误信息
}else{
echo "<script>confirm('提交成功,即将跳转.....');</script>";
header("refresh:0.1;url=./");
}
?>

测试效果

php表单提交发邮件
项目根据需要自己选择

提示:
1,有的朋友web服务器用的是云虚拟主机,需要注意的是应保证php.ini设置里的fsockopen函数为启用状态。
2,表单加个验证就可以用了

延伸阅读:
用layer在表单提交后加载过渡效果
 

TAGS:PHPMailer PHP 邮件 HTML 表单

打赏 点赞
邮箱
验证码
昵称