V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
christianwong
V2EX  ›  程序员

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

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

    @sobigfish MX 和邮箱 URL 无关。
    Delbert
        9
    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
        10
    botao1  
       2014-03-25 10:20:46 +08:00
    我们是维护一份常见邮箱服务商名单,记录真实的邮箱服务URL。
    不在名单内的后缀,例如 abc@def .com,就直接转到 mail.def.com 这样了,会有出错几率。
    ym1623
        11
    ym1623  
       2014-03-25 10:45:01 +08:00
    其实做法很简单,比如一个邮箱地址为: [email protected],你在服务端正则拿到qq域名商这个东西,自己则有一个常用地址的数组维护着{qq, 163, sina, gmail...},然后拿到数组判断in_array在这个数组里面即可,如果存在就跳转mail.域名.com就可以了。另外还有一种情况,比如我自己有自己的邮箱,不在你邮箱常用地址里面,这个时候如果你想做复杂一点的话要用c去拓展一个cgi接口用来判断邮箱是否存在即有响应,不是一个假邮箱,当然山寨的做法也有,比如php,用file_get_conetnt或者curl去拿这个不存在的邮箱,看看是否有拿到,就说明该邮箱地址是否存在
    sobigfish
        12
    sobigfish  
       2014-03-25 11:32:18 +08:00
    @chuangbo 可以知道谁提供的服务,然后再来匹配啊,比如一个用户的非公共信箱的example.com 的mx是mxbiz1.qq.com,自然可以跳http://exmail.qq.com/login
    sobigfish
        13
    sobigfish  
       2014-03-25 11:33:08 +08:00
    @Delbert 没关系么?见楼上?人蠢就不要乱毛啊毛的。
    scusjs
        14
    scusjs  
       2014-03-25 12:38:35 +08:00
    一般是 mail.XXX.XXX 可以记录一份主流的邮箱登录地址列表,如果列表中存在的显示跳转链接,如果不存在(即一些企业邮箱或者楼上一些比较偏的邮箱)则不显示跳转就是。能够服务绝大部分主流邮箱使用者其实就可以了
    oott123
        15
    oott123  
       2014-03-25 12:47:20 +08:00 via Android
    发送激活信之后我一般点开客户端看邮件…
    Tink
        16
    Tink  
       2014-03-25 12:52:06 +08:00 via iPhone
    常见的匹配了就行了,太个性的没办法的
    qiayue
        17
    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
        18
    vilic  
       2014-03-25 13:00:30 +08:00
    虽然mx和url无关,但也可以作为参考嘛,特别是我这种用域名邮箱的,查查mx大致能知道用的哪家的服务。
    sobigfish
        19
    sobigfish  
       2014-03-25 13:01:23 +08:00
    @qiayue 呃,提供商是有限的,弄个表维护就是了,不过真心要这么麻烦干吗?想完全用正则啥的这个问题本来就无解。
    dorentus
        20
    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 这个步骤,更慢)。
    Delbert
        21
    Delbert  
       2014-03-26 10:12:56 +08:00
    @sobigfish 这个就是你已经知道了啊。
    自己搭建的愿意用什么页面作为入口就用什么入口啊。
    原文已经说明了“一些不出名的邮件服务器厂商”,如果你认为腾讯不出名你可以这么认为。
    我dig我们学校的mx记录是mail.xxx.edu.cn你猜登陆页面是哪个?mail.mail 还是 email. ?
    更不用说那些自己搭建服务器的了。
    另外,你说“提供商是有限的”,难道我就不能自己搭建了吗?
    cp面板本身就有邮局功能,没玩过吧?
    IEEE用的是Google Apps但是不能从Google那里登录不知道吧?
    IEEE大吧?Google的邮局有名吧?你上 mail.google.com 就提示入口不正确。
    你觉得是弄个表就能解决的问题嘛?

    “毛”是什么的意思,但是你“人蠢”就有人身攻击的嫌疑了。

    懂?
    sobigfish
        22
    sobigfish  
       2014-03-26 10:39:57 +08:00
    @Delbert 用词奇怪的人,你还想别人对你和气?。。。
    google apps可以用通用入口的,请你试过再说。
    至于本身的邮局的,返回本身的域名可以不。。。
    只是说可行性,不是说非得完美解决才是解决方案。
    对于这个需求来说,本身就有够奇怪。
    Delbert
        23
    Delbert  
       2014-03-26 13:50:55 +08:00
    @sobigfish
    IEEE 邮箱在2012年迁移到Googla Apps,就是不能通过通用入口登陆。
    如果你没有尝试过就不要乱说,我是尝试过才这么说的。
    自己搭建邮局的,入口也不一定是到自己的域名下。
    Google Apps可以用alias的,就是a域名的邮箱需要b域名才能登陆。

    还有,很多企业邮局只能内网登陆,外网无法访问登陆页面的。

    别人说话/用词奇怪并不是你发动人身攻击的理由。
    谢谢。

    我没说完美解决,我也没提过解决方案。
    我只是说你“dig mx 再分析绝对没错的”的说法是错误的。
    我确定我没说错。

    奇怪的需求也是需求。

    我那个开始并不是只@ 了你,因此我并没有针对你,而是针对你的言论/说法。
    这句话才是针对你的:没读懂原文也没看懂我说什么就不要开喷。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2843 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 13:30 · PVG 21:30 · LAX 05:30 · JFK 08:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.