用户注册后如何根据用户填写的注册邮箱,跳转到其邮箱登陆界面,以方便其点击激活邮件链接?

2014-03-25 09:39:26 +08:00
 christianwong
很多网站都是注册之后会发送一封激活邮件到用户注册的邮箱中去,往往会给用户一个链接,用户点击后会立即跳转到自己邮箱的登陆界面。对于常用的邮箱,例如qq,126,gmail之类的可以知道其邮箱服务的web URL是多少,但是对于一些不出名的邮件服务器厂商呢,如何知道其邮箱登陆URL?
12972 次点击
所在节点    程序员
23 条回复
kendisk
2014-03-25 09:47:28 +08:00
为何一定要我登录邮箱,
cnxh
2014-03-25 09:51:09 +08:00
很多都是xxx@xxx.xx直接跳到mail.xxx.xx
qiayue
2014-03-25 09:51:24 +08:00
观察发现不出名的邮箱如个人域名邮箱或者小公司邮箱一般都跳不对,所以我怀疑他们只是维护了一份名单,尽可能多的收集邮箱的登录 URL 。
sneezry
2014-03-25 09:51:59 +08:00
有的是跳转到mail的,有的是跳转到www的。不过我感觉体验都不好。
jsonline
2014-03-25 09:52:57 +08:00
维护名单,名单之外的只给提示
sobigfish
2014-03-25 10:02:32 +08:00
另一种强迫症么,dig mx 再分析绝对没错的,但太麻烦啊,用户会不知道他的邮箱在哪登录?
loading
2014-03-25 10:03:47 +08:00
mx
chuangbo
2014-03-25 10:13:58 +08:00
是收集的。大型的公开的邮箱服务商也不多。

@sobigfish MX 和邮箱 URL 无关。
Delbert
2014-03-25 10:17:13 +08:00
@sobigfish
@loading
mx 记录是邮件发送时候查看的,和登录页面有毛关系啊?
我的邮箱后缀是 2008.sina.com ,在mail.sina.com.cn登陆。
我的我的邮箱后缀是 sina.com ,也是在mail.sina.com.cn登陆。

我的邮件域是 sina.com的,但最后都是在cn这个域名下登陆的,二者之间根本没有任何关系啊。

只能自己去采集。
botao1
2014-03-25 10:20:46 +08:00
我们是维护一份常见邮箱服务商名单,记录真实的邮箱服务URL。
不在名单内的后缀,例如 abc@def .com,就直接转到 mail.def.com 这样了,会有出错几率。
ym1623
2014-03-25 10:45:01 +08:00
其实做法很简单,比如一个邮箱地址为: xxx@qq.com,你在服务端正则拿到qq域名商这个东西,自己则有一个常用地址的数组维护着{qq, 163, sina, gmail...},然后拿到数组判断in_array在这个数组里面即可,如果存在就跳转mail.域名.com就可以了。另外还有一种情况,比如我自己有自己的邮箱,不在你邮箱常用地址里面,这个时候如果你想做复杂一点的话要用c去拓展一个cgi接口用来判断邮箱是否存在即有响应,不是一个假邮箱,当然山寨的做法也有,比如php,用file_get_conetnt或者curl去拿这个不存在的邮箱,看看是否有拿到,就说明该邮箱地址是否存在
sobigfish
2014-03-25 11:32:18 +08:00
@chuangbo 可以知道谁提供的服务,然后再来匹配啊,比如一个用户的非公共信箱的example.com 的mx是mxbiz1.qq.com,自然可以跳http://exmail.qq.com/login
sobigfish
2014-03-25 11:33:08 +08:00
@Delbert 没关系么?见楼上?人蠢就不要乱毛啊毛的。
scusjs
2014-03-25 12:38:35 +08:00
一般是 mail.XXX.XXX 可以记录一份主流的邮箱登录地址列表,如果列表中存在的显示跳转链接,如果不存在(即一些企业邮箱或者楼上一些比较偏的邮箱)则不显示跳转就是。能够服务绝大部分主流邮箱使用者其实就可以了
oott123
2014-03-25 12:47:20 +08:00
发送激活信之后我一般点开客户端看邮件…
Tink
2014-03-25 12:52:06 +08:00
常见的匹配了就行了,太个性的没办法的
qiayue
2014-03-25 12:53:07 +08:00
@sobigfish mx 和 url 无关
你举的例子是因为你知道 mxbiz1.qq.com 对应 exmail.qq.com ,在你不知道的情况下,你没办法通过某种方式直接去根据 mxbiz1.qq.com 得到 exmail.qq.com
vilic
2014-03-25 13:00:30 +08:00
虽然mx和url无关,但也可以作为参考嘛,特别是我这种用域名邮箱的,查查mx大致能知道用的哪家的服务。
sobigfish
2014-03-25 13:01:23 +08:00
@qiayue 呃,提供商是有限的,弄个表维护就是了,不过真心要这么麻烦干吗?想完全用正则啥的这个问题本来就无解。
dorentus
2014-03-25 13:08:03 +08:00
维护一个常见邮箱 => 登录 URL 的列表
不在列表内的不给跳转链接就好

然后把不在列表内记在日志里,达到一定量之后,说明比较常见,那么去查一下它的 登录 URL,添加到上面的列表里。

MX 和邮箱登录 URL 无关(我的 MX 是 mxa.mailgun.orgmxb.mailgun.org,你猜我的邮箱登录 URL 是啥?);或者说「用 MX 去匹配登录 URL」和「直接用 email 地址去匹配登录 URL」相比,没有任何优势(反而多了查询 MX 这个步骤,更慢)。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/105746

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX