当前位置:首页 » 编程语言 » php邮箱验证

php邮箱验证

发布时间: 2022-01-08 20:49:29

1. 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(); // 发送邮件

2. 一个验证邮箱格式是否正确的php函数的例子

//首先确认是否有一个@符号的存在,同时验证邮箱长度是否正确 if (!ereg("^[^@]{1,64}@[^@]{1,255}$", $email)) { //如果@符号的个数不对,或者邮箱每部分的长度不对则输出错误 return false;}//把邮箱按“@”符号和“.”符号分割成几个部分分别用正则表达式匹配 $email_array = explode("@", $email); $local_array = explode(".", $email_array[0]); for ($i = 0; $i < sizeof($local_array); $i++) { if (!ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$", $local_array[$i])) { return false;}}if (!ereg("^\[?[0-9\.]+\]?$", $email_array[1])) { //检查域名部分是否是IP地址,如果不是则应该是有效域名 $domain_array = explode(".", $email_array[1]); if (sizeof($domain_array) < 2) { //域名部分的长度不能太短,否则输出错误 return false; } for ($i = 0; $i < sizeof($domain_array); $i++) { if (!ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$", $domain_array[$i])) { //域名部分如果不是字母和数字,或者允许的其他字符,则输出错误 return false;}}} //所有检测通过,输出邮箱格式正确 return true; }?><?//邮箱格式验证函数调用示例if(!valid_email($myeml)){

3. 请写一个php函数,验证电子邮件格式是否正确

$regex='/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[-_a-z0-9][-_a-z0-9]*.)*(?:[a-z0-9][-a-z0-9]{0,62}).(?:(?:[a-z]{2}.)?[a-z]{2,})$/i';
$str='[email protected]';
if(preg_match($regex,$str)){
echo'电子邮件格式正确';
}

4. php验证邮箱格式

PHP正则表达式验证邮箱示例如下:
<?php
$email='[email protected]';
$pattern="/([a-z0-9]*[-_.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[.][a-z]{2,3}([.][a-z]{2})?/i";
if(preg_match($pattern,$email)){
echo '邮箱验证通过!';
} else{
echo '邮箱格式错误!';
}
?>

5. PHP 验证邮箱输入格式错误的

你的正则没什么问题的,我测了下是可以判断的,另外给一个我们项目中通用的表单验证,很好扩展:
http://..com/question/150844190.html

测试代码:
<script>
function validate()
{
var pattern=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]w+)*$/;
var email = document.getElementById("mail").value;

if(!pattern.test(email))
alert("Wrong");
else
alert('Right')
}
</script>

<INPUT TYPE="text" NAME="mail" ID="mail">
<INPUT TYPE="button" VALUE="" ONCLICK="validate()">

6. php邮件发送验证码问题

你的if语句有问题

肢解开来是这样的

if(存在验证码)
{
if(验证码不正确)
{
提示错误
}
else
{
发送邮件
}
}

然后不存在验证码没有相关操作。。。

7. 关于php正则验证邮箱

[-+.]这里面的+好像是不行的吧[-.]

(qq)|(yahoo)|(souhu)|(sina)|(gmail)|(hotmail)|(21cn)要写成(qq|yahoo|souhu|sina|gmail|hotmail|21cn)

{1}这个是多余的

同样(com)|(cn)要写成(com|cn)
^\w+([-.]\w+)*@(126|139|163|qq|yahoo|souhu|sina|gmail|hotmail|21cn)\.(com|cn)$

另外此正则不能精确匹配,如你本来是要匹配163.com的邮箱,但163.cn也可以匹配了
再改造如下
^\w+([-.]\w+)*@(126\.com|139\.com|163\.com|qq\.com|yahoo\.com|sohu\.com|sina\.cn|gmail\.com|hotmail\.com|21cn\.cn)$
这些.com/.cn是我瞎写的,你可以自己整理一下

8. PHP怎么实时验证邮箱是否被注册了

比如用jquery实现:
$(document).ready(function(){
$.ajax({
type:"GET",
url:"*.php处理路径="+ name;(如果有中文,escape(name))
dataType:""
success:function(msg)
{
alert(msg);//是否存在
},

});

9. PHP如何通过SMTP验证发送邮件

PHP mail()与SMTP验证

缺乏灵活性是PHP的mail()函数显得过于简单的部分原因。最重要而且令人沮丧的是,死板的mail()函数通常还不允许你使用你选择的SMTP服务器,并且它也根本不支持如今已被众多邮件服务器采用的SMTP验证。


幸运的是,克服PHP本身的缺陷既不困难,也不麻烦,更不痛苦。对于大多数情况下的邮件应用,免费的PEAR Mail包足够提供全部的所需功能与灵活性,并且它也能够与你期望的外部邮件服务器进行验证。在提高安全性的方面,它也支持SSL连接。


通过SMTP验证在PHP脚本中发送邮件

在PHP脚本中通过SMTP验证连接外部SMTP服务器并且发送邮件的方法如下:


确保PEAR Mail包已经安装。

通常,它已经安装到了PHP之中,尤其在PHP 4及以后的版本中。放手一试吧。

<?php
require_once"Mail.php";

$from="SandraSender<s>";
$to="RamonaRecipient<r>";
$subject="Hi!";
$body="Hi, Howareyou?";

$host="mail.example.com";
$username="smtp_username";
$password="smtp_password";

$headers=array('From'=>$from,
'To'=>$to,
'Subject'=>$subject);
$smtp=Mail::factory('smtp',
array('host'=>$host,
'auth'=>true,
'username'=>$username,
'password'=>$password));

$mail=$smtp->send($to,$headers,$body);

if(PEAR::isError($mail)){
echo("<p>".$mail->getMessage()."</p>");
}else{
echo("<p>Messagesuccessfullysent!</p>");
}
?>

10. PHP邮件验证找回密码

给你举个例子, 就拿找回密码来说吧.

当用户请求找回密码的时候, 用户根据用户提供的用户名或邮箱到数据库查找这个用户的信息, 如果相关用户名或者邮箱存在就可以进行密码找回, 如果不存在提示用户输入错误.

当在数据库中找到相关记录的时候, 首先要生成一个随机的验证码(这里我们假设生成了ABCDE), 将验证码,请求时间和相关用户信息(可能只是用户id或者也可以将验证码存在用户信息表中)存到数据库中, 然后想记录中的邮箱发送一封信, 信中提供一个验证码或者携带验证码的url类似这样,a.php?code=ABCDE.

用户如果是这个邮箱的所有者就可以收到这封信, 点击链接访问a.php ?code=ABCDE, a.php 接到code=ABCDE 然后到数据库里查找这个找回密码的请求, 并取得用户相关信息然后提供一个表单用来修改密码.

用户输入新密码之后程序根据验证码和新密码将指定用户的密码修改掉.

热点内容
单片机android 发布:2024-09-20 09:07:24 浏览:764
如何提高三星a7安卓版本 发布:2024-09-20 08:42:35 浏览:663
如何更换服务器网站 发布:2024-09-20 08:42:34 浏览:310
子弹算法 发布:2024-09-20 08:41:55 浏览:288
手机版网易我的世界服务器推荐 发布:2024-09-20 08:41:52 浏览:816
安卓x7怎么边打游戏边看视频 发布:2024-09-20 08:41:52 浏览:161
sql数据库安全 发布:2024-09-20 08:31:32 浏览:93
苹果连接id服务器出错是怎么回事 发布:2024-09-20 08:01:07 浏览:506
编程键是什么 发布:2024-09-20 07:52:47 浏览:657
学考密码重置要求的证件是什么 发布:2024-09-20 07:19:46 浏览:480