虽然说现在还在使用网站留言以及表单收集功能的网站不多,但还是有一小部分用户依然在使用。有没有想过当网站收到新留言后,或者有用户提交新的表单信息后,希望程序自动将它们发送到我们的QQ邮箱呢?说实话,很多人做不到经常登录网站后台,但QQ、微信确是时时刻刻都在线,当有新的邮件到达的时候,可以及时收到邮件信息。如果可以将网站留言和表单信息及时发送到邮箱中,那就不怕错过什么客户的信息了。

说动手就动手,我们在GitHub上找到了PHPMail 这么一个邮件发送代码。不过这个代码由多个文件组成,使用上还需要掌握点php基础,才能结合到我们的网站上来。

鉴于一些用户不懂代码,于是我特地把PHPMail重新整理成单个文件的形式,并对立面的一些配置信息进行了简化处理,更方便使用和部署。当需要拿来用的时候,可以更方便的使用,只需要按照下面的几个简单步骤,就可以把它应用到你的网站上来了。

在QQ邮箱的账号设置中开启smtp并设置授权码

登录我们的QQ邮箱,并点击账号下方的 设置->账号,往下拉,拉到 POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务 服务的tab,选择开启 POP3/SMTP服务 ,并点击下方的 生成授权码 链接,生成一个授权码,用于邮箱中的配置。授权码由16位字符组成,生成结束后,把它保存下来备用。生成授权码的时候,可能要求你验证邮箱的密保,按正常操作即可。

mail-01

mail-02

mail-03

下载mail.zip 并配置邮箱账号

从附件中下载 mail.zip 解压得到 mail.php。

用一个文本编辑软件打开 mail.php,找到 账号配置部分:

//email配置信息
$config = array(
    'server'   => 'smtp.qq.com',
    'use_ssl'  => '1',
    'port'     => '465',
    'account'  => '你的邮箱账号@qq.com',
    'name'     => '企业网站安全助手',
    'password' => '你的授权密码',
);

这里填写上你的账号信息,把 你的邮箱账号@qq.com 替换成你的真实邮箱地址, 把 你的授权密码 替换成刚才上面生成的授权码。最后保存。

只需要替换这2个地方就算配置完账号了。

这个时候,需要把它上传到网站的根目录,等待下一步调用处理。

对接网站,改造表单

这个 mail.php 文件 支持 post 和 get 两种形式的表单提交处理,并且支持 json 、html 、 空白 三种返回方式。

处理方式一 保持原有表单

这个方法需要你懂点php代码,要不处理起来会比较麻烦

以我们的网站留言表单为例,为了不影响原网站留言的后台记录,我们需要对表单的html部分,增加一个 return 字段,声明不已html或json返回。

<input type="hidden" name="return" value="empty" />

并在接收的php代码中,找到接收函数,增加调用:

    // 在这里引入发送邮件处理文件
    require_once('mail.php');

处理方式二 直接将请求发送到 mail.php

这是最简单的处理方式,你不需要懂php就可以,只需要将留言的 form 表单的接收地址改为 mail.php 即可。

同样,我们最好新添加一个return字段到表单。不添加也不影响使用,因为默认就是html的形式返回。

<input type="hidden" name="return" value="html" />

接着更改action 值为 /mail.php

处理方式三 使用ajax提交表单

如果你的表单原来使用ajax来提交,也可以使用mail.php 来接管处理。

只需要在提交的地址中,改成 /mail.php?return=json 即可。

由于不能上传zip文件,请到GitHub上下载 mail.zip