email_in_cs

本文最后更新于:2023年6月22日 上午

前言

毕竟以前没搭建过邮件服务器,挺有意思的。记录一下,本篇不能作为指导性博客使用。

由于邮件发送的流程是:


flowchart LR
	a([用户A])
	b([用户B])
	a_t((a_thunderbird))
	b_t((b_thunderbird))
	a_g[(a_gmail)]
	b_q[(b_qqmail)]
	a--撰写邮件-->a_t--发送至邮件服务器-->a_g--交互-->b_q--发送给b-->b_t-->b

而课程最终是要实现一个邮件的user agent——MUA以及一个邮件的Transfer Agent——MTA。

相当于要实现一个smtp服务器以及一个能够阅读邮件的客户端。

现在看来还要改协议了

服务器端

服务器以及使用软件

云服务器选择上,我选择了腾讯云2核4G的服务器,70多能白嫖一年;而且毕竟就跑一个邮箱服务器应该要不了多大配置,其他类型的服务器说实话有点贵。位置选择的香港的,不喜欢内陆的节点(

记得申请域名

操作系统选择的centos,整天用debian系的,总要换换口味

为了方便以后使用服务器,我写了一个oh-my-zsh的一键配置脚本:

Github

使用时直接clone后运行config.sh即可,不过里面有下载github的软件,建议香港等地的服务器可以考虑使用。

1
2
3
4
5
yum install git
git clone https://github.com/heeler-deer/zsh.git
sh ./zsh/config.sh
cp ./zsh/zshrc.txt ./.zshrc
source ./zshrc

之后

至于使用的软件,我选择的是:

  • Postfix ,即MTA,负责smtp协议相关内容
  • Dovecot ,负责 IMAP/POP协议相关内容

接下来安装即可,

1
2
3
yum install postfix
yum install dovecot
yum remove sendmail

开启postfix/dovecot:

1
2
3
4
systemctl start postfix
systemctl enable postfix
systemctl start dovecot
systemctl enable dovecot

相关配置

目前配置的文件是这几个:

  • /etc/postfix/main.cf
  • /etc/dovecot/conf.d/10-mail.conf
  • /etc/dovecot/dovecot.conf
  • /etc/dovecot/conf.d/10-auth.conf

我已经做了备份,这样下次就不用在重新配置了😄

注意/etc/postfix/main.cf里面的xxxx换成自己的域名

具体更改可以参考文章

最后还更改了/etc/hosts的内容:

1
2
3
4
5
6
7
127.0.0.1 mail.xxxx
127.0.0.1 localhost.localdomain localhost
127.0.0.1 localhost4.localdomain4 localhost4
127.0.0.1 localhost mail.xxxx localhost.localdomain localhost4 localhost4.localdomain4
::1 mail.xxxx ip_of_xxxx
::1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6

参考链接

主要流程:

  • http://static.kancloud.cn/a173512/php_note/1690621
  • https://www.jianshu.com/p/502f23489dd4
  • https://www.open-open.com/lib/view/open1431592348122.html
  • http://www.jinyazhou.com/16327296817407.html
  • http://doc.ewomail.com/docs/ewomail/install

其他细节参考:

  • https://blog.51cto.com/u_9955199/3226094
  • https://serverfault.com/questions/561507/postfix-tls-authentication-not-enabled
  • https://serverfault.com/questions/371713/unable-to-telnet-into-port-25-on-centos-postfix-server
  • https://www.devopszones.com/2020/04/how-to-fix-postfix-relay-access-denied.html

本文作者: Heeler-Deer
本文链接: https://heeler-deer.top/posts/5799/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!