V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
veezzz
V2EX  ›  Python

如何用 python 搭建一个邮件服务器?

  •  
  •   veezzz · 2015-01-07 14:42:19 +08:00 · 14801 次点击
    这是一个创建于 3609 天前的主题,其中的信息可能已经有所发展或是发生改变。

    自己在写一个小的web app 需要一个简单的邮件推送系统,用于推送验证信息之类的邮件,现在想的是搭建一个简单的邮件服务器,然后用celery作任务队列来推送邮件,现在想知道怎么用python搭建一个邮件服务器,有什么简单的方案么

    21 条回复    2015-01-08 13:22:34 +08:00
    ldehai
        1
    ldehai  
       2015-01-07 14:44:14 +08:00   ❤️ 1
    @veezzz 可以用第三方的,Mailgun或者SendCloud
    Janselz
        2
    Janselz  
       2015-01-07 14:45:11 +08:00
    同意楼上的见解
    EPr2hh6LADQWqRVH
        3
    EPr2hh6LADQWqRVH  
       2015-01-07 14:47:27 +08:00
    发邮件的话,直接解析对方mx地址用smtplib发就好了
    veezzz
        4
    veezzz  
    OP
       2015-01-07 14:50:38 +08:00
    @avastms 发邮件不是也需要smtp服务的?
    veezzz
        5
    veezzz  
    OP
       2015-01-07 14:54:26 +08:00
    @ldehai 多谢 我发现SendCloud挺适合的,我准备就用这个了。 不过我还是想问下如果自己搭建的话python上有什么易用的方案么
    EPr2hh6LADQWqRVH
        6
    EPr2hh6LADQWqRVH  
       2015-01-07 14:55:41 +08:00
    @veezzz 发邮件需要smtp客户端,收邮件需要smtp服务器
    mengzhuo
        7
    mengzhuo  
       2015-01-07 15:08:10 +08:00 via iPhone
    发邮件是不需要邮件服务器的 直接解析对方的mx记录 连上25端口 然后投递就可以了

    如果要接收的话
    可以参考
    python 自带的smtpd或者
    https://github.com/34nm/gsmtpd

    不过如果你要发送到gmail
    最大的问题其实是dkim spf
    typcn
        8
    typcn  
       2015-01-07 15:14:34 +08:00
    @mengzhuo DKIM 有库的,用 PHP 都能实现 DKIM
    lizheming
        9
    lizheming  
       2015-01-07 15:16:38 +08:00
    还是用大众服务吧,大家都不自建邮件服务器的原因是不被邮箱服务商识别的一些小众地址会被默认送到垃圾邮件里面去的...所以...你懂的=w=
    clino
        10
    clino  
       2015-01-07 15:17:16 +08:00
    随便借助redis之类的就可以搭一个邮件队列发送服务了
    http://uliweb.clkg.org/forum/1/31
    mengzhuo
        11
    mengzhuo  
       2015-01-07 15:23:13 +08:00
    @typcn

    ╮(╯▽╰)╭
    我只是跟楼主提示一下,啥语言都不重要


    @lizheming
    小众地址也可以申诉的,然后像gmail这样实力强到家的还是能识别dkim,spf,然后到白名单里的
    参考34nm上线时期一堆人收不到邮件……

    国内的服务商里:
    QQ和gmail最近,但是不接受dkim,spf不知道有不有效(只给个spam标示,谁知道是个什么球啊)
    163、126、coremail连基本的starttls的证书都能配置错
    139、阿里的有技术么……啥安全方面的都没有
    所以只有呵呵了
    GeekGao
        12
    GeekGao  
       2015-01-07 19:06:25 +08:00
    很好奇lz为何用Python做邮件服务器。只想造轮子?
    lizheming
        13
    lizheming  
       2015-01-07 21:40:54 +08:00
    @mengzhuo 申诉-。-||邮箱服务商何止这么几个大家,想想都觉得下体隐隐作痛...
    mengzhuo
        14
    mengzhuo  
       2015-01-07 22:10:10 +08:00
    @lizheming 其实只有几家大的,大部分公司都用他们的列表的(不过忘了叫啥了)
    veezzz
        15
    veezzz  
    OP
       2015-01-07 23:29:34 +08:00
    @GeekGao 不是,因为需要的邮件推送及其简单,只是想知道有没有比用第三方服务还简单轮子可以用。
    9hills
        16
    9hills  
       2015-01-07 23:31:20 +08:00
    @veezzz 你自建的邮件发送很容易被那些邮件服务商拒收。。。

    如果你完全按照标准来是很麻烦的。。真的很麻烦,而且还不保证不被拒收或扔spam。
    不是说搭个smtp随便发的。
    GeekGao
        17
    GeekGao  
       2015-01-07 23:36:13 +08:00
    @veezzz 邮件服务的高可用 你保证不了的话,不如用第三方
    veezzz
        18
    veezzz  
    OP
       2015-01-07 23:36:56 +08:00
    @GeekGao 多谢解答
    veezzz
        19
    veezzz  
    OP
       2015-01-07 23:37:11 +08:00
    @9hills 明白了,多谢解答。
    limbo0
        20
    limbo0  
       2015-01-08 10:59:39 +08:00   ❤️ 1
    知乎是怎样发邮件的? http://zhuanlan.zhihu.com/riobard/19582345
    veezzz
        21
    veezzz  
    OP
       2015-01-08 13:22:34 +08:00
    @limbo0 多谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1079 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 18:30 · PVG 02:30 · LAX 10:30 · JFK 13:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.