第一步:建立数据库
把下面数据库复制粘贴在一个记事本,然后在PHPMyAdmin创建一个新的数据库并导入下面数据。
– 表的结构 `registered_members`
–
CREATE TABLE `registered_members` (
`id` int(4) NOT NULL auto_increment,
`name` varchar(65) NOT NULL default ”,
`email` varchar(65) NOT NULL default ”,
`password` varchar(65) NOT NULL default ”,
`country` varchar(65) NOT NULL default ”,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
–
– 导出表中的数据 `registered_members`
–
– ——————————————————–
–
– 表的结构 `temp_members_db`
–
CREATE TABLE `temp_members_db` (
`confirm_code` varchar(65) NOT NULL default ”,
`name` varchar(65) NOT NULL default ”,
`email` varchar(65) NOT NULL default ”,
`password` varchar(15) NOT NULL default ”,
`country` varchar(65) NOT NULL default ”
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
–
– 导出表中的数据 `temp_members_db`
–
第二步:建立数据库连接
请把下面代码复制到你的文本编编译器里面,并命名:config.php
<?php
$host=”Hostname”; // Host name
$username=”Username”; // Mysql username
$password=”Password”; // Mysql password
$db_name=”DB name”; // Database name
//Connect to server and select database.
mysql_connect(“$host”, “$username”, “$password”)or die(“cannot connect to server”);
mysql_select_db(“$db_name”)or die(“cannot select DB”);
?>
第三步:注册页面
请把下面代码复制到你的文本编辑器里面,并命名:signup.php
<table border=”0″ cellspacing=”0″ cellpadding=”0″ width=”350″ align=”center”>
<tbody>
<tr>
<td><form action=”signup_ac.php” method=”post”>
<table border=”0″ cellspacing=”4″ cellpadding=”0″ width=”100%”>
<tbody>
<tr>
<td colspan=”3″><strong>注册</strong></td>
</tr>
<tr>
<td width=”76″>用户名</td>
<td width=”3″>:</td>
<td width=”305″><input id=”name” name=”name” size=”30″ type=”text” /></td>
</tr>
<tr>
<td>邮箱</td>
<td>:</td>
<td><input id=”email” name=”email” size=”30″ type=”text” /></td>
</tr>
<tr>
<td>密码</td>
<td>:</td>
<td><input id=”password” name=”password” size=”30″ type=”password” /></td>
</tr>
<tr>
<td>国家</td>
<td>:</td>
<td><input id=”country” name=”country” size=”30″ type=”text” /></td>
</tr>
<tr>
<td></td>
<td></td>
<td><input name=”Submit” type=”submit” value=”注册” />
<input name=”Reset” type=”reset” value=”重设” /></td>
</tr>
</tbody>
</table>
</form></td>
</tr>
</tbody>
</table>
第四步:数据插入到数据和邮件发送
请把下面代码复制到你的文本编辑器里面,并命名:signup_ac.php
<?php
include(‘config.php’);
// table name
$tbl_name=temp_members_db;
// Random confirmation code
$confirm_code=md5(uniqid(rand()));
// values sent from form
$name=$_POST['name'];
$email=$_POST['email'];
$country=$_POST['country'];
// Insert data into database
$sql=”INSERT INTO $tbl_name(confirm_code, name, email, password, country)VALUES(‘$confirm_code’, ‘$name’, ‘$email’, ‘$password’, ‘$country’)”;
$result=mysql_query($sql);
// if suceesfully inserted data into database, send confirmation link to email
if($result){
// —————- SEND MAIL FORM —————-
// send e-mail to …
$to=$email;
// Your subject
$subject=”Your confirmation link here”;
// From
$header=”from: your name <your email>”;
// Your message
$message=”Your Comfirmation link \r\n”;
$message.=”Click on this link to activate your account \r\n”;
$message.=”http://www.yourweb.com/confirmation.php?passkey=$confirm_code”;
// send email
$sentmail = mail($to,$subject,$message,$header);
}
// if not found
else {
echo “Not found your email in our database”;
}
// if your email succesfully sent
if($sentmail){
echo “Your Confirmation link Has Been Sent To Your Email Address.”;
}
else {
echo “Cannot send Confirmation link to your e-mail address”;
}
?>
第五步:验证
请把下面代码复制到你的文本编辑器里面,并命名:confirmation.php
<?php
include(‘config.php’);
// Passkey that got from link
$passkey=$_GET['passkey'];
$tbl_name1=”temp_members_db”;
// Retrieve data from table where row that match this passkey
$sql1=”SELECT * FROM $tbl_name1 WHERE confirm_code =’$passkey’”;
$result1=mysql_query($sql1);
// If successfully queried
if($result1){
// Count how many row has this passkey
$count=mysql_num_rows($result1);
// if found this passkey in our database, retrieve data from table “temp_members_db”
if($count==1){
$rows=mysql_fetch_array($result1);
$name=$rows['name'];
$email=$rows['email'];
$password=$rows['password'];
$country=$rows['country'];
$tbl_name2=”registered_members”;
// Insert data that retrieves from “temp_members_db” into table “registered_members”
$sql2=”INSERT INTO $tbl_name2(name, email, password, country)VALUES(‘$name’, ‘$email’, ‘$password’, ‘$country’)”;
$result2=mysql_query($sql2);
}
// if not found passkey, display message “Wrong Confirmation code”
else {
echo “Wrong Confirmation code”;
}
// if successfully moved data from table”temp_members_db” to table “registered_members” displays message “Your account has been activated” and don’t forget to delete confirmation code from table “temp_members_db”
if($result2){
echo “Your account has been activated”;
// Delete information of this user from table “temp_members_db” that has this passkey
$sql3=”DELETE FROM $tbl_name1 WHERE confirm_code = ‘$passkey’”;
$result3=mysql_query($sql3);
}
}
?>
注意:
如果没有邮箱服务器的,会出现如下面提示之类的东西:
Warning: mail() [function.mail]: Failed to connect to mailserver at “localhost” port 25, verify your “SMTP” and “smtp_port” setting in php.ini or use ini_set() inE:\wamp\www\mailverification\signup_ac.php on line 39
Cannot send Confirmation link to your e-mail address
不用慌,这说明你的数据已经被写进数据库了。
你可以用以下方法去通过验证:
先复制这个URL到你的浏览器:http://www.你的网站.com/confirmation.php?passkey=
然后到你的数据库里面把confirm_code复制粘贴在passkey=后面,并回车,会出现提示的:Your account has been activated!
恭喜你了!你的邮件验证系统就完成了!如果有什么问题的,欢迎随时留言,回以最快的速度解决你的问题。由于时间关系,英文就不做翻译了。
原文出处:http://blog.jiexi-it.com/?p=72
分享到:
相关推荐
PHPMailer是一个广泛使用的开源邮件发送类,它支持SMTP验证、HTML邮件、附件等多种功能,使得开发者能够方便地在PHP应用中添加邮件发送功能。 首先,让我们了解一下PHPMailer的核心概念。PHPMailer支持通过SMTP协议...
PHPMailer 是一个全功能的 PHP 邮件发送类库,支持多种邮件发送方式(包括SMTP),并可以发送HTML格式的邮件。它提供了丰富的API,使得开发者能够轻松地构建复杂的邮件发送逻辑。 #### 三、代码解析 下面我们将对...
PHPMailer是一个强大的邮件发送库,它支持SMTP验证,可以发送HTML邮件,甚至可以添加附件,极大地增强了PHP处理邮件的能力。 描述中提到“利用PHPMailer批量发送附件内容”,这意味着我们可以利用PHPMailer的功能,...
然后,使用PHP的`mail()`函数将包含验证链接的邮件发送给用户: ```php $message = "请点击以下链接进行邮箱验证: <a href='$verificationLink'>$verificationLink</a>"; mail($userEmail, '邮箱验证', $...
在这个PHP邮件发送类中,可能会包括以下功能: 1. **配置设置**:邮件发送类需要配置SMTP服务器地址、端口号、用户名、密码和验证方式(如TLS或SSL)。这些信息通常存储在一个配置文件中,如config.php,以便于修改...
在PHP开发中,发送邮件...通过这种方式,开发者可以轻松地在PHP应用程序中实现邮件发送功能,无论是用于用户注册验证、发送新闻通讯还是其他业务需求。PHPMailer的灵活性和广泛支持使其成为PHP开发中的首选邮件发送库。
综上所述,"php中Socket发送邮件验证邮箱的类"是一个实用的工具,它结合了SMTP协议和Socket编程,可以有效地验证邮箱的真伪,为Web应用程序提供更准确的邮箱验证功能。使用这个类库,开发者可以轻松地集成到自己的...
本篇文章将详细探讨如何在PHP中实现邮件发送功能,以及在实际项目开发中的应用。 首先,我们需要了解PHP中的邮件发送原理。PHP的mail()函数是内置的邮件发送功能,它允许开发者直接通过服务器的SMTP(Simple Mail ...
它支持SMTP验证,HTML邮件,附件,以及多种错误处理,使得开发者能够方便地构建复杂的邮件发送功能。 2. **配置PHPMailer** 使用PHPMailer前,首先需要将其下载或通过Composer引入到项目中。然后,我们需要配置...
最近做一个邮箱验证的功能,研究了一会,搞定了邮件的自动发送。下面用qq邮箱作为演示,一步一步来解释: 代码下载地址 首先,就是做到邮件的发送,代码如下: <?PHP //邮件发送 require './mailer/class....
为了提高邮件发送的成功率,可以考虑使用如PHPMailer、SwiftMailer等成熟的PHP邮件发送库,它们提供了丰富的功能,包括错误处理、SMTP支持、SSL/TLS加密等,使得邮件发送更加稳定可靠。 总之,通过使用适当的PHP...
同时,PHPMailer 也提供了调试灵活的功能,使开发者可以轻松地调试邮件发送过程。 PHPMailer 是一个功能强大、易用且免费的 SMTP 类模块,可以帮助开发者快速发送电子邮件,并提供了许多实用的功能。
在PHP中,我们通常使用PHPMailer或者SwiftMailer库来实现SMTP邮件发送,但这里提及的是一个自测试并完善的示例,所以我们主要关注PHP内置的`mail()`函数和可能的自定义SMTP设置。 1. **PHP `mail()` 函数**: PHP...
PHPMailer是一个流行的PHP库,专门用于帮助开发者轻松地完成邮件发送功能。这个压缩包“php实现邮件发送(内含PHPMailer).zip”显然包含了使用PHPMailer库来发送邮件的相关代码示例。 PHPMailer库提供了丰富的功能...
PHPMailer是一个流行的PHP邮件发送库,支持HTML邮件、附件、SMTP验证等功能。要使用PHPMailer,首先需要下载库文件并引入到项目中。然后创建一个PHPMailer实例,设置发件人、收件人、邮件主题和内容,最后调用`send...
`PHP SMTP 邮件发送类` 提供了这样的功能,使得开发者可以便捷地在PHP应用中集成邮件发送服务。这里我们将详细探讨如何使用此类以及相关的知识点。 首先,`class.phpmailer.php` 和 `class.smtp.php` 是PHPMailer库...
PHPMailer是一个非常流行的邮件发送类库,它支持SMTP验证,可以发送HTML邮件,还有添加附件的功能。以下是使用PHPMailer发送邮件的基本步骤: 1. **安装PHPMailer**: 你可以通过Composer(PHP的依赖管理工具)来...
echo '邮件发送失败:' . $mail->ErrorInfo; } else { echo '邮件发送成功'; } ``` 以上就是使用`PHPMailer`通过SMTP发送包含文本、附件和内联图片的邮件的基本步骤。注意,如果使用Gmail或其他邮箱服务,可能...
PHPMailer是一个流行的PHP邮件发送库,它提供了丰富的功能,包括支持HTML邮件、附件、验证邮件地址、错误处理等。使用PHPMailer发送邮件的过程大致如下: 1. 引入PHPMailer类库文件。 2. 创建一个新的PHPMailer实例...
总的来说,"PHP邮件发送插件thinkphp" 提供了一种高效、可靠的邮件发送解决方案,适用于基于ThinkPHP的项目,可以大大简化邮件功能的开发工作,同时确保邮件的稳定送达。开发者只需熟悉PHP和ThinkPHP的基本操作,就...