php验证邮件
1. 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>");
}
?>
2. 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(); // 发送邮件
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如何判断收件人是否阅读邮件实例详解
这个有点意思,你可以在邮件的末尾处加上一个标签
<imgsrc="http://域名/count.jsp?username=用户名"/>
这样当用户打开这个邮件的时候,浏览器会默认的访问这个地址。这样就能从后台获得用户是否阅读和阅读时间的信息了
6. 对php中正则表达式验证邮箱代码的疑惑,求高人指点
^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$
这个正则表达式的写法是正确的,但是邮箱地址最后小数点后面的字母只能是2或者3位,比如com或者cn,你的例子aaaaaa太多了,呵呵
[a-z]{2,3}$这个表示结尾只能是2或者3位字母,不是至少2位
z后面那个减号,那个表示中横杠,比如用户名字是aaa-aaa
如果用你举得例子
可以写成
^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{1,20}$
这样表示结尾的字母可以是1到20位
7. php源码手机验证更换成邮箱验证
这个不是几行代码就能给出结果的事。
1:将原代码里的手机验证去掉。
2:添加phpmailer,并用一个自己的邮箱作为发信箱
3:用户在注册时,要求其填写邮箱
4:用户提交注册信息,POST处理完成后,发送一封邮件到其填写的注册邮箱
验证有两种办法:
1:发送一个系统生成的字符串(一般3-6位数字即可),用户在邮箱中查看到邮件后,进行复制粘贴激活
2:发送一个特定的URL到邮箱,用户点击该URL,即可完成激活
8. 如何在phpcms中设置smtp验证发送邮件
一、使用易网库提供的企业邮箱
1.登录phpcms后台,点击“设置”——“邮箱配置”进入邮箱设置界面,如图1
9. php邮件发送验证码问题
你的if语句有问题
肢解开来是这样的
if(存在验证码)
{
if(验证码不正确)
{
提示错误
}
else
{
发送邮件
}
}
然后不存在验证码没有相关操作。。。
10. php中验证邮件地址是否合法,用到if (!ereg("([0-9a-zA-Z]+)([@])([0-9A-Z]+)(.)([0-9a-zA-Z]+)",$emai)
ereg前加!是取ereg相反的值。
([0-9a-zA-Z]+) 这个‘+’是匹配前面的([0-9a-zA-Z])原子一次或多次。最少要匹配一次。
如果是‘*’那就是匹配0次,1次或多次。
如果是‘?’是匹配0次或1次。