我想用查表对应,比如:
a@163.com => mail.163.com
b@gmail.com =>www.gmail.com
c@vip.sina.com=>vip.sina.com
这三种能不能盖全?
还是用正则?
我想用查表对应,比如:
a@163.com => mail.163.com
b@gmail.com =>www.gmail.com
c@vip.sina.com=>vip.sina.com
这三种能不能盖全?
还是用正则?
假如你想临时统计一下(假设字段名为email,数据库为mysql):
select distinct substring(email, locate('@', email)+1) from User;
假如你要在业务中实现,不要用上面这种效率不高的方式,建议在用户注册时,将@符号后面的邮箱域名拆分出来另外用一个表存下来(加个唯一索引),需要的时候取用。
$mail = "xxx@abc.com";
$t = explode('@', $mail);
$domain = end($t);
echo 'mail.'.$domain;
quoracms的邮件发送原理就是这样处理的
1 回答4.1k 阅读
1 回答828 阅读
个人以为模拟收发邮件的时候的过程比较好。即通过邮箱后头的域名查询该域名绑定的MX地址既可知道到底用的是什么邮箱服务商了。
下面以PHP代码和我自己的域名邮箱为例,写一个示例吧: