V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Blacktrace58
V2EX  ›  问与答

有人自建过 smtp 吗?

  •  
  •   Blacktrace58 · 2019-01-16 14:38:32 +08:00 via Android · 8329 次点击
    这是一个创建于 2136 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近,想搞个临时邮件的东西,github 搜了一下,看上了这个项目 https://github.com/uflare/smtp2http,马上弄到 vps 上去跑起来( 25 端口),把域名 mx 记录指向到该 vps,但是用 qq 邮箱向这个域名的随便构造了一个邮件地址,发邮件。直接被退信。错误是:邮件地址不存在。 不太了解邮箱这一套,求大佬指点一下

    56 条回复    2024-04-26 12:06:09 +08:00
    d5n
        1
    d5n  
       2019-01-16 14:47:30 +08:00 via iPhone
    解析没生效?
    d5n
        2
    d5n  
       2019-01-16 14:48:09 +08:00 via iPhone
    邮箱配置这么容易,是不是 dns 上干扰一下,就把邮件全拦截了?
    onedayoneapple
        3
    onedayoneapple  
       2019-01-16 14:48:54 +08:00 via iPhone
    发的邮件全部进垃圾箱了
    WuwuGin
        4
    WuwuGin  
       2019-01-16 14:54:30 +08:00
    如果是指用来轻度收发邮件,建议直接用现成的域名邮箱服务。自搭的还要解决被各大邮件商认为是垃圾邮件的问题,很麻烦。
    Blacktrace58
        5
    Blacktrace58  
    OP
       2019-01-16 15:10:02 +08:00 via Android
    @d5n 生效了 nslookup 查了一下 mx 记录到我的 ip 了
    Blacktrace58
        6
    Blacktrace58  
    OP
       2019-01-16 15:10:32 +08:00 via Android
    @onedayoneapple 现在是都没发送到,直接被退信了
    Blacktrace58
        7
    Blacktrace58  
    OP
       2019-01-16 15:11:10 +08:00 via Android
    @WuwuGin 想搞一个临时邮件系统
    miscnote
        8
    miscnote  
       2019-01-16 15:13:23 +08:00
    邮件服务器不是这么三两下就搞定的。具体来说,还要设置 IP 反解、检查 IP 是否位于各种 RBL 里、设置你发信域的 DKIM 和 SPF,另外,你外发的信要构造严谨,比如没有正确编码,没有设置正确的 charset,都是不行的。所以没必要自己弄,用 mailgun 或 sendgrid 之类就好。
    zhaishunqi
        9
    zhaishunqi  
       2019-01-16 15:14:46 +08:00
    我之前也想弄个临时发信的邮箱,结果发现很多 vps 都封了 25 端口,强制解禁,作为邮件发送,如果被查出来乱发垃圾邮件,可能导致 25 端口永久封禁或者主机被回收。呵呵哒~
    Blacktrace58
        10
    Blacktrace58  
    OP
       2019-01-16 15:14:55 +08:00 via Android
    @miscnote 我看那些临时邮件系统,没那么麻烦吧。
    Blacktrace58
        11
    Blacktrace58  
    OP
       2019-01-16 15:15:24 +08:00 via Android
    @zhaishunqi 不发邮件,主要是收,做一个临时邮件系统
    chinvo
        12
    chinvo  
       2019-01-16 15:15:46 +08:00 via iPhone
    spf、反向解析、签名 还有就是 mx 最好解析到 cname
    qq292382270
        13
    qq292382270  
       2019-01-16 15:19:18 +08:00
    貌似已经找不到能用 25 端口的 vps 服务商了. 用了七八个 TX 和阿里的都是默认封的. 其他的小的虽然一开始没封,一旦被检测到,连 vps 都封了..
    单纯从技术上来看的话. 网上是找得到不少免费开源的产品的 . 不过自己搭建的话确实有很多要考虑的, 还是找个域名邮箱网站使用好了..
    580a388da131
        14
    580a388da131  
       2019-01-16 15:19:18 +08:00 via iPhone
    你的 vps 里创建那个随便构造的邮箱没?
    没有的话开启了找不到地址转发到指定邮箱功能了没?
    fany
        15
    fany  
       2019-01-16 15:21:19 +08:00 via Android   ❤️ 1
    推荐现成的,protonmail
    westoy
        16
    westoy  
       2019-01-16 15:21:25 +08:00
    SMTP 是拿来发信的,POP3 才是拿来收信的........
    Blacktrace58
        17
    Blacktrace58  
    OP
       2019-01-16 15:24:40 +08:00 via Android
    @qq292382270 好想弄一个,我看网上,用开源的临时邮箱系统,搭起来的例子,好像很轻松?
    Blacktrace58
        18
    Blacktrace58  
    OP
       2019-01-16 15:27:01 +08:00 via Android
    @580a388da131 临时邮件系统,还需要自己先创建邮箱地址吗?感觉,应该是不用指定的,可以看看我贴的那个 github 项目
    Blacktrace58
        19
    Blacktrace58  
    OP
       2019-01-16 15:27:18 +08:00 via Android
    @westoy 可能我描述有问题
    martyartrt1
        20
    martyartrt1  
       2019-01-16 15:28:12 +08:00
    port25
    Blacktrace58
        21
    Blacktrace58  
    OP
       2019-01-16 15:28:41 +08:00 via Android
    @fany 唉,想做一个临时邮箱系统
    Blacktrace58
        22
    Blacktrace58  
    OP
       2019-01-16 15:29:25 +08:00 via Android
    @martyartrt1 vultr 的主机,默认要被封?
    TimePPT
        23
    TimePPT  
       2019-01-16 15:34:25 +08:00
    没搞明白你啥需求
    给你个古早的网站,里面应该有你想要的参考信息,虽然内容比较老了,但邮件协议本身这两年也没大更新,无非就是技术栈上做些优化,先了解下基础,结合需求自己深入查吧。
    http://www.5dmail.net/
    tinyproxy
        24
    tinyproxy  
       2019-01-16 16:21:51 +08:00   ❤️ 2
    @westoy SMTP 可以收信,你查查 MDA 跟 MTA 的概念就知道了。

    @Blacktrace58 之前弄过这玩意,如果你只是要收信,试试下面的步骤

    1. 拿 python 的 smtplib 写个简单的邮件先发过去,看能收到么,如果这都有问题先检查服务。
    2. 你没给 DNS 方面的信息,不会算命也不知道你是不是哪里配置有问题。我说说我之前怎么弄的吧,搞个 A 记录,然后 MX 指向 A 记录,我看你描述好像直接把 MX 解析到 IP,这我不确定是否有问题。
    tinyproxy
        25
    tinyproxy  
       2019-01-16 16:26:06 +08:00   ❤️ 1
    @Blacktrace58 如果你没啥特殊需求,建议你用现成的免费服务。这些服务有一些普通人感受不到的限制,比如一个小时只能收 200 封邮件。

    只要你一个月不是要收几百万封邮件,不是学生身份我建议别折腾
    imdong
        26
    imdong  
       2019-01-16 17:53:41 +08:00
    我自己用 Swoole 写的 SMTP 服务器是可以收件的噻....
    jasonyang9
        27
    jasonyang9  
       2019-01-16 18:03:13 +08:00 via Android   ❤️ 1
    @westoy #16 POP 只是从服务器接收邮件到客户机。服务器之间的确是用 SMTP 协议发信的
    niubee1
        28
    niubee1  
       2019-01-16 18:04:11 +08:00
    别自建了, 根本通不过现在的防垃圾邮件检测, 找个靠谱的服务比较上算
    Blacktrace58
        29
    Blacktrace58  
    OP
       2019-01-16 18:47:05 +08:00 via Android
    @niubee1 收邮件,不发。没问题吧
    Blacktrace58
        30
    Blacktrace58  
    OP
       2019-01-16 18:47:39 +08:00 via Android
    @tinyproxy 尝试一下
    niubee1
        31
    niubee1  
       2019-01-16 19:10:25 +08:00
    @Blacktrace58 收没问题, 不过, 一不小心就会被垃圾邮件淹没了
    liuwei666666
        32
    liuwei666666  
       2019-01-16 20:23:54 +08:00
    我也好想建一个
    testver
        33
    testver  
       2019-01-16 20:42:24 +08:00
    @Blacktrace58 收用 pop3 或者 IMAP 就行了啊,自建 SMTP 服务器不容易的,这么好建,玩垃圾邮件的不上天了?

    比较靠谱的是找个自己注册个域名,找个免费的企业邮箱挂进去吧。
    uuair
        34
    uuair  
       2019-01-16 21:59:37 +08:00
    发信装个 mutt 就可以用了,用其他邮箱的 smtp 服务发信。
    msg7086
        35
    msg7086  
       2019-01-16 23:07:06 +08:00
    一种可能是 VPS 服务商屏蔽了入站 SMTP。
    另一种可能是源码有问题。
    我觉得前一种可能性大一点。你可以把程序关了,再发一次邮件,看看是不是同样的错误。如果是同样的错误,那么多数是服务商给屏蔽了,需要你去开工单解。

    还有一种可能是你服务器上已经安装了别的收件服务( exim 或者 postfix ),邮件发到那去了。
    msg7086
        36
    msg7086  
       2019-01-16 23:08:00 +08:00
    @testver POP 和 IMAP 是用来取邮件的,收邮件用的是 SMTP。

    =====

    说来这贴里有多少人是完全没看题的?
    Tink
        37
    Tink  
       2019-01-17 01:55:15 +08:00 via iPhone   ❤️ 1
    @westoy #16 你看看 smtp 协议实现,smtp 就是负责邮件协议收发的
    Tink
        38
    Tink  
       2019-01-17 01:56:21 +08:00 via iPhone
    我之前用 inbucket 搭建了这个, https://9em.org
    Tink
        39
    Tink  
       2019-01-17 02:04:54 +08:00 via iPhone
    我是这样解析的,你对比看看你的有没有问题。

    https://i.loli.net/2019/01/17/5c3f71d134d15.png

    第一个 1.1.1.1 不用管,第二个 A 记录是这个网站程序的地址,第三个 mx 记录是实际的邮局服务地址
    yuikns
        40
    yuikns  
       2019-01-17 09:06:48 +08:00
    postfix 什么那一套有点麻烦,很多服务我都 dockerlize 了,唯独这个还没找到时间。

    http://www.mail-tester.com/

    试试上面的地址测试下自己的服务质量
    Blacktrace58
        41
    Blacktrace58  
    OP
       2019-01-17 09:33:55 +08:00 via Android
    @niubee1 想尝试一下,结果困难重重,换了腾讯云,申请解封了 25 端口。结果,外部 25 端口还是没开放,提了工单,和腾讯云工程师在交互了
    Blacktrace58
        42
    Blacktrace58  
    OP
       2019-01-17 09:34:15 +08:00 via Android
    @testver 应该没你想的那么复杂
    Blacktrace58
        43
    Blacktrace58  
    OP
       2019-01-17 09:35:19 +08:00 via Android
    @msg7086 之前用 vutrl,好像 25 端口,默认屏蔽?现在腾讯云,里面绑定了 25 端口,都不行。解封了 25,结果扫描都还没开的
    Blacktrace58
        44
    Blacktrace58  
    OP
       2019-01-17 09:35:52 +08:00 via Android
    @Tink 主要是,端口,目前没开。老哥,用的那个云的 vps 呢
    Tink
        45
    Tink  
       2019-01-17 09:43:21 +08:00 via iPhone
    @Blacktrace58 #44 阿里云
    Blacktrace58
        46
    Blacktrace58  
    OP
       2019-01-17 09:54:20 +08:00 via Android
    @Tink 可以,看来,如果再不行,换阿里试试
    Blacktrace58
        47
    Blacktrace58  
    OP
       2019-01-17 10:08:28 +08:00
    @Tink 哇,好像我也可以用 inbucket 这个,来尝试一下呢。刚刚去了解了一下,这个好像还提供了 api
    MadbookPro
        48
    MadbookPro  
       2019-01-17 10:11:40 +08:00
    自建 SMTP 服务可以尝试一下 Haraka
    yzyjim
        49
    yzyjim  
       2019-01-17 11:38:54 +08:00 via iPhone
    开源项目 mailinabox 了解一下。https://mailinabox.email/
    Blacktrace58
        50
    Blacktrace58  
    OP
       2019-01-17 13:06:11 +08:00
    @Tink 有没有什么 inbucket 得搭建教程呢?我用 docker 一键,感觉有问题
    Tink
        51
    Tink  
       2019-01-17 16:01:39 +08:00
    @Blacktrace58 #50 官方文档啊
    Blacktrace58
        52
    Blacktrace58  
    OP
       2019-01-17 19:09:45 +08:00 via Android
    @Tink 已经搞定了,哈哈,多谢,这个不错
    isudng
        53
    isudng  
       2020-04-27 11:36:46 +08:00
    搜搜:API 自建邮局,邮局直推,进箱率超高
    yljcyct
        54
    yljcyct  
       209 天前
    @Blacktrace58 楼主最后是用了什么啊, 有一直用自建的 smtp 服务吗, 感觉如何
    Blacktrace58
        55
    Blacktrace58  
    OP
       209 天前 via iPhone
    @yljcyct inbucket 最后用的这个。当时好像满足需求。太久远了,19 年的帖子,都被你挖出来了。现在应该更完善了
    yljcyct
        56
    yljcyct  
       209 天前 via Android
    @Blacktrace58 没办法需求来了😂 我还以为你一直用着呢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   984 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 21:59 · PVG 05:59 · LAX 13:59 · JFK 16:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.