用phpmailer实现网页表单提交发送邮件功能

1 篇文章 0 订阅

引言:有时我们想在网页上填好表单后,表单内容能以邮件的方式发送给指定的人,那么我们可以利用phpmailer这个php函数包来完成这个需求。

一、获取邮箱授权码

邮箱授权码是邮箱帐号用于登录第三方客户端的专用密码。获取方法根据邮箱厂家的不同略有差别,我这里用的是163邮箱,获取方法比较简单,不会的可以去查一下。

二、下载phpmailer函数包

有的教程会丢给你官方的下载链接让你去下载,这样你去下载最新的phpmailer函数包后,可能会发现教程里用到的包和下载的包不一样......教程是几年前的,包却是最新的,坑啊。

我这里整理了一下,需要的朋友可以下载,提取码:ll79 。

下载解压后得到:

三、示例代码

1.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 = "evolraelc9@163.com";   // 发送方的163邮箱用户名
$mail->Password = "xxxxx";                // 发送方的邮箱授权码
$mail->SMTPSecure = "ssl";                // 使用ssl协议方式
$mail->Port = 465;                        // 163邮箱的ssl协议方式端口号是465/994

$mail->setFrom("evolraelc9@163.com","yessen");     // 设置发件人信息
$mail->addAddress("yessen@iexpress.ai","");        // 设置收件人信息,可设置多个,复制粘贴此行修改邮箱地址即可
$mail->addReplyTo("evolraelc9@163.com","Reply");   // 设置回复人信息,指的是收件人收到邮件后,如果要回复,回复邮件将发送到的邮箱地址
//$mail->addCC("evolraelc9@163.com");    // 设置邮件抄送人,可以只写地址,上述的设置也可以只写地址
//$mail->addBCC("bbbb@163.com");         // 设置秘密抄送人
//$mail->addAttachment("bug0.jpg");      // 添加附件


$mail->Subject = "网页收到新留言啦~~";          // 邮件标题
$mail->Body = "姓名:".$_POST[name]."
               邮件:".$_POST[email]."
               电话:".$_POST[phone]."
               主题:".$_POST[subject]."
               内容:".$_POST[comments];      // 邮件正文

if(!$mail->send()){// 发送邮件
    echo "Message could not be sent.";
    echo "Mailer Error: ".$mail->ErrorInfo;  // 输出错误信息
}else{
    echo 'Message has been sent.';
}
?>

四、结果

网页上填好表单点击提交后,顺利的话可以看到网页显示:Message has been sent.

然后就可以去查看收到的邮件:

 

提示:有的朋友web服务器用的是云虚拟主机,需要注意的是应保证php.ini设置里的fsockopen函数为启用状态。

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值