荣耀之链论坛

 找回密码
 立即注册
搜索
查看: 271|回复: 0

docker 安装sendmail

[复制链接]

1325

主题

2372

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
10262
发表于 2024-3-21 20:31 | 显示全部楼层 |阅读模式
  1. 尝试自己搭建postfix

  2. 这个是管理的 貌似并不是服务器
  3. https://hub.docker.com/_/postfixadmin
  4. 不用这个了


  5. 用另外一个sendmail的
  6. docker pull dlcloudtrustops/sendmail:latest


  7. docker run -d -it \
  8.   --name=sendmail_d2mods.cn \
  9.   -p 25:25/tcp \
  10.   -v /root/docker/sendmail/d2mods.cn/:/home/sendmail/ \
  11.   --restart unless-stopped \
  12.   -e TZ=Asia/Shanghai \
  13.   dlcloudtrustops/sendmail

  14. 这样一个基础的邮件发送服务就搭建好了
  15. 需要配置

  16. docker exec -it sendmail_d2mods.cn bash

  17. ############################################
  18. https://zhuanlan.zhihu.com/p/110857513
  19. 这个教程讲的概念

  20. https://zhuanlan.zhihu.com/p/629671638
  21. https://zhuanlan.zhihu.com/p/109084397
  22. https://blog.eonew.cn/2019-04-05.Linux%20%E4%B8%8B%20sendmail%20%E7%9A%84%20ssl%20%E9%85%8D%E7%BD%AE.html    #这个教程不是自己搭建,而是利用腾讯的服务器发邮件

  23. ############################################

  24. 把配置文件拷贝出来,方便修改
  25. cp /etc/mail/* /home/sendmail/mail/

  26. ############################################
  27. 然后修改sendmail.mc 让服务器可以发往外网

  28. 两个地方
  29. DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl
  30. dnl DAEMON_OPTIONS(`port=smtp,Addr=::, Name=MTA-v6, Family=inet6')dnl
  31. 改为0.0.0.0 和::  表示IPV4和IPV6都可以收发邮件

  32. 改好了重新生成配置文件
  33. cp /home/sendmail/mail/sendmail.mc .
  34. m4 sendmail.mc > sendmail.cf

  35. ############################################
  36. 然后添加服务器的域名

  37. 阿里云dns解析配置
  38. 先添加一条A记录
  39. mail.d2mods.cn
  40. 8.218.150.94

  41. 然后添加MX记录
  42. 解析到@
  43. 记录值mail.d2mods.cn


  44. https://cloud.tencent.com/developer/article/1608855


  45. sendmail的配置
  46. 打开:/etc/mail/local-host-names 添加:
  47. d2mods.cn


  48. 证书就暂时先不弄了吧
  49. 另外还需要弄证书,否则估计国内的邮箱是不会转发的,因为25端口以前被频繁的用于发垃圾邮件,各大云厂商都封了
  50. 估计一些接收邮件的服务器也不会接收来自25端口的邮件
  51. 我简单看了一下sendmail.mc的配置,发现里面有证书存储设置 第60行
  52. dnl define(`confCACERT_PATH', `/etc/pki/tls/certs')dnl
  53. dnl define(`confCACERT', `/etc/pki/tls/certs/ca-bundle.crt')dnl   #这个估计是证书颁发机构  我已经从阿里云下载了 Digicert G2 ROOT.cer
  54. dnl define(`confSERVER_CERT', `/etc/pki/tls/certs/sendmail.pem')dnl #这个估计就是pem  
  55. dnl define(`confSERVER_KEY', `/etc/pki/tls/certs/sendmail.pem')dnl #这个估计就是key 看看内容

  56. 然后从阿里云下载证书
  57. 下载的时候选其他类型的
  58. 下载下来的证书里面就一个pem和一个key

  59. 可能还需要下载根证书,因为我不确定这么老的服务是否还内置了根证书
  60. 我已经从阿里云下载了 Digicert G2 ROOT.cer


  61. 这里估计是配置证书的地方
  62. https://stackoverflow.com/questions/71066256/sendmail-error-opendaemonsocket-daemon-tlsmta-cannot-bind-address-already-i
  63. https://zhidao.baidu.com/question/524322233043666645.html


  64. ############################################

  65. 测试阿里云是否封锁了25端口
  66. iptables -t nat -I PREROUTING 1 -i eth0 -p tcp --dport 25 -j DNAT --to 172.19.22.13:22 -m comment --comment "测试25端口是否开放"
  67. 实测25端口是开放的









  68. 算了,放弃了,懒得弄,就为了让论坛发送验证邮件这么小的功能,不值当的

  69. 在提供一个postfix的docker 这个貌似比较好
  70. https://hub.docker.com/_/postfixadmin



  71. 找到一个极简的
  72. https://cloud.tencent.com/developer/article/2351810
  73. https://github.com/Jinnrry/PMail





  74. 不对啊,貌似只需要开启sendmail  的25端口   论坛就会自动使用
  75. 试试看
  76. 按照上面的教程,改了0.0.0.0 和/etc/mail/local-host-names
  77. 然后在discuz里面果然是成功了

  78. 但是我QQ并没有收到,要么就是云服务器封了25端口的发送,要么就是QQ收到以后直接丢弃了
  79. https://cloud.tencent.com/developer/article/1392033
  80. 应该就是封了25端口的出

  81. 我测试修改端口 到10099还是不行
  82. 算了,放弃了
复制代码

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

荣耀之链

GMT+8, 2025-6-18 02:44 , Processed in 0.015274 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表