V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tctc4869
V2EX  ›  Java

很多网站的发送邮件服务是怎么成功发送到用户邮箱里的?

  •  
  •   tctc4869 · 2020-09-08 14:38:55 +08:00 · 2471 次点击
    这是一个创建于 1529 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有些网站需要用邮箱进行验证,我也想添加邮箱验证服务,查了一下 java 发送邮件的方式,使用 javax.mail 框架发送,可是我发现使用这个框架,需要在目标邮箱开启 SMTP 服务,填上授权码才能发送成功,这是怎么回事?

    我在网上注册用的邮箱,也没点击按钮开通 SMTP 服务,就能进行邮箱认证。

    填上表单内 的邮箱,提交后,网站那边是怎么发送邮件到我的邮箱里来的?它们没有得到我给的 SMTP 授权码。之前我也没开通 SMTP 服务,更何况国外网站发的邮箱的也能发送到国内的注册的邮箱内来。

    难道也有“邮件服务发送白名单”么?需要注册所谓的企业邮箱?

    xxxy
        1
    xxxy  
       2020-09-08 14:41:13 +08:00
    接邮件和发邮件是不一样的
    lcy630409
        2
    lcy630409  
       2020-09-08 14:41:57 +08:00   ❤️ 1
    大家快来 这里有个萌新 快来欺负他
    samgentlem
        3
    samgentlem  
       2020-09-08 14:44:06 +08:00
    你是发件方,所以你要做验证

    对方是接收方,收件人地址填对就可以了
    tctc4869
        4
    tctc4869  
    OP
       2020-09-08 14:45:00 +08:00
    @xxxy 需要在在发送者那边填写类似秘钥或 ak 之类的么?还是要搞什么备案么?
    chihiro2014
        5
    chihiro2014  
       2020-09-08 14:46:48 +08:00
    你自己做好验证,就能随便发了,别人不需要
    tctc4869
        6
    tctc4869  
    OP
       2020-09-08 14:47:10 +08:00
    @samgentlem 第一次做这个不清楚,是要做什么验证?如果必须要授权码的话,那很多网站的邮件发送是怎么发送成功的?
    lysS
        7
    lysS  
       2020-09-08 14:49:28 +08:00
    https://dm.console.aliyun.com/
    花钱办事最方便,而且每天免费 500
    biu7
        8
    biu7  
       2020-09-08 14:53:41 +08:00
    网站发送邮件给用户,是使用网站的邮箱,发送给用户的邮箱,需要的是网站邮箱的授权,而不是用户的授权。
    doveyoung
        9
    doveyoung  
       2020-09-08 14:53:45 +08:00
    发送方,首先你要有一个邮箱,如果你想自建邮件服务器可以另外找文档,假设你用的 qq 邮箱 [email protected]
    一般需要的设置是
    smtp 服务器地址 smtp.mail.qq.com (不知道对不对)
    邮箱账户名 [email protected]
    邮箱密码 123456 (如果你邮箱有两步验证之类的这里就要用授权码)

    发送邮件时填写收件人帐号
    easonHHH
        10
    easonHHH  
       2020-09-08 14:54:13 +08:00
    Javax.Mail 只是一个方便你跟邮箱服务器通信的客户端(这个我看了一眼大概是这样的,能不能顺带部署邮件服务器没细看),前提是你需要一个邮件服务器,你可以是自己部署,或者是使用公开的邮箱服务器,比方说 GMail,你填的授权码就是邮件服务器提供的。
    qiayue
        11
    qiayue  
       2020-09-08 14:55:54 +08:00
    自己搭建邮件服务器,或者使用免费的服务(量小时),或者购买付费的服务(量大时)
    可以试试搜狐的 sendcloud
    tctc4869
        12
    tctc4869  
    OP
       2020-09-08 14:56:48 +08:00
    @lysS
    @easonHHH

    我有点明白了,是需要一个邮件服务器,才能做到很多网站的邮箱验证把。
    tctc4869
        13
    tctc4869  
    OP
       2020-09-08 15:08:22 +08:00
    我明白了,我可能搞错了什么,我以为发邮件是直接从我的电脑上,发到收件人邮箱里。另外一个方式是使用已有的邮箱,根据这个邮箱的授权码从这个邮箱发送到用户的邮箱去
    XiLingHost
        14
    XiLingHost  
       2020-09-08 15:25:40 +08:00
    @tctc4869 理论上也可以从你的电脑上直接发,但是一般这种没有签名的邮件会被直接丢弃
    hbolive
        15
    hbolive  
       2020-09-08 16:13:15 +08:00
    @tctc4869 是用你服务器的程序替换了邮件客户端而已,其他完全一样的,以 163 为例,你需要在你服务器的程序里给出至少以下参数:
    发件地址(你的邮箱)
    SMTP 地址(自己去 163 邮箱帮助文档看)
    你邮箱的密码

    就跟 foxmail 一样咯。。
    lysS
        16
    lysS  
       2020-09-08 16:55:16 +08:00
    @tctc4869 #12 没有什么验证,你要用阿里邮件推送有个域名就行
    TimePPT
        17
    TimePPT  
       2020-09-08 18:04:27 +08:00
    送你个老网站
    http://www.5dmail.net/
    虽然站点很老很老,但有你想知道的所有邮件收发的基础知识
    TimePPT
        18
    TimePPT  
       2020-09-08 18:06:16 +08:00
    另外,企业级的邮箱验证信或者营销邮件发送,不建议自建邮件发送服务。
    用三方吧,维护成本低,到信率相对有保障。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2174 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 00:30 · PVG 08:30 · LAX 16:30 · JFK 19:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.