php如何实现邮箱验证

大概思路是: 用户注册的时候,点击获取验证码,然后会将验证码发送到该用户当前填写的邮箱中,然后通过比对用户所填写的验证码是否和获取时候一样.....
我只做个邮箱模拟发送的,具体实现思路( 主要问题就是:如何将验证码发送到填写的邮箱中),还望高人指点一二,,,,,

这是一个可以发送邮件的程序。程序是直接使用SMTP协议进行发送,用到了经典的phpMailer库。


请阅读apply.php文件。


发邮件之前你需要一个用来发送邮件的邮箱账号。但不能使用这个账号发送太多的邮件,否则会被当做垃圾邮件屏蔽。如果发送量较大,可以多申请几个邮箱。


关键变量说明:

subject: 邮件的主题

email: 邮件的内容

host: SMTP主机,与你申请的邮箱的服务商有关,详见代码内注释

fromname: 发件人的名字,可以任意写,对方收到时能看到这个名字

from: 发件人地址

to: 收件人地址,代码中写了$to = $from,请自行更改

username和password: 你邮箱的账号和密码,一般username都等于发件人地址。必须提供,否则无法发送邮件。


PHPMailer说明:

$mailer = new PHPMailer(true);
$mailer->IsHTML(true); // 这是一封HTML邮件
$mailer->IsSMTP(true); // 连接SMTP服务发送邮件
# $mailer->SMTPDebug = true; // 是否开启调试模式
$mailer->CharSet = 'UTF-8'; // 邮件内容的编码,和你程序的编码保持一致
$mailer->Encoding = 'base64'; // 邮件传递过程使用的编码
$mailer->FromName = $fromname; // 发件人
$mailer->Host = $host; // SMTP服务地址
$mailer->AddAddress($to); // 添加收件人
$mailer->From = $from; // 设置发件人
$mailer->Subject = $subject; // 设置主题
$mailer->MsgHTML($email); // 设置HTML邮件内容

$mailer->SMTPAuth = true; // 开启SMTP验证
$mailer->Username = $username; // 设置用户名
$mailer->Password = $passwd; // 设置密码

$mailer->Send(); // 发送邮件

追问

这个是不是直接就可以用了?还是我还需要开启什么或其他什么

追答

不需要安装扩展。可以直接使用。但你需要更改其中的一些变量。

追问

ok 让我去试试.....

追答

如有帮助请采纳,谢谢~

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-06-22
php本身有一个邮件发送函数mail()
不过这个函数不好用
你可以去网上下载一个php发送邮件类
使用方法他都有示例文件
至于如何发送验证码
这个原理简单
点击获取验证码后,你用php生成一串随机数字或者字母(这个就看你自己的喜欢了啊)
如何保存到session中,接着将这个生成的随机字符串发送到注册者提供的邮箱内
注册者收到邮件后,将邮件内容的验证码填写到网页上,并与存储在session中的随机字符串进行比对!追问

我就一点:如何发送信息到填写的邮%%%%%箱里面去

追答

nbyh2012的回答是正解
但,前提是,看你使用什么邮箱来发送邮件
其实,php本身是不具备发送邮件的服务器的,他的原理都是借助其他邮箱进行发送
比如你使用你的QQ邮箱来进行发送,但QQ邮箱需要开通SMTP功能
否则,就算你代码再正确,还是发送不了

追问

我只做过smtp模拟邮件发送 都是在本地测试的 这个功能怎么开通呢

追答

各个邮箱的开通方式都有所同
比如QQ邮箱是:你先登陆你的QQ邮箱,里面有设置的功能!

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网