zl程序教程

您现在的位置是:首页 >  其他

当前栏目

email_in_cs

2023-03-07 09:03:36 时间

前言

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

由于邮件发送的流程是:

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服务器以及一个能够阅读邮件的客户端。

目前尚不支持ssl加密

现在看来还要改协议了,,,,

服务器端

服务器以及使用软件

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

记得申请域名

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

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

Github

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

12345

yum install gitgit clone https://github.com/heeler-deer/zsh.gitsh ./zsh/config.shcp ./zsh/zshrc.txt ./.zshrcsource ./zshrc

之后

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

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

接下来安装即可,

123

yum install postfixyum install dovecotyum remove sendmail

开启postfix/dovecot:

1234

systemctl start postfixsystemctl enable postfixsystemctl start dovecotsystemctl 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的内容:

1234567

127.0.0.1 mail.xxxx127.0.0.1 localhost.localdomain localhost127.0.0.1 localhost4.localdomain4 localhost4127.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