像是[email protected]这种邮箱,看起来是不是炫酷极了?这篇文章记录了搞一个这样的邮箱所需要的每一步。
首先,我们需要一个顶级域名;其次,我们需要一个搭载Ubuntu系统的服务器。
一、配置域名:
在域名解析记录里添加两条记录,一条A记录将你想创建的邮箱@后面的域名指向服务器的IP地址(在这个例子里 mxyr.tech本身是顶级域名,所以主机记录留空为@);另一条MX记录指向你想创建的邮箱@后面的域名(在这个例子里指向mxyr.tech),优先级设置为10。
二、配置服务器:
现在,让我们从一台新的Ubuntu服务器上开始配置。
首先,执行sudo apt-get upgrade
更新服务器上所有组件。期间可能遇到好几个这样的提示,一概选择保留原始配置。
然后,执行sudo apt-get autoremove
,清理残留。再执行sudo apt-get remove sendmail
将原本的sendmail组件卸载。
重新启动。
之后,执行sudo apt-get install postfix
安装postfix。安装选择internet site配置,输入主机名为你想创建的邮箱@后面的域名。
安装成功后,我们来安装sasl组件,该组件的意义是在SMTP发信时提供sasl认证,以便我们可以向公网发送邮件。执行sudo apt-get install libsasl2-dev
与sudo apt-get install sasl2-bin
。然后在/etc/default/saslauthd
文件中,找到START=no,修改为START=yes。修改完后执行/etc/init.d/saslauthd start
。
现在,我们来安装dovecot,以便之后使用pop3或者imap协议远程收信。执行sudo apt-get install dovecot-imapd dovecot-pop3d
安装dovecot的两个组件。
必要的组件都安装完成之后,我们来写入配置:
在/etc/postfix/main.cf
文件末尾加上如下配置:
home_mailbox = Maildir/
mailbox_command =
mydomain = mxyr.tech
queue_directory = /var/spool/postfix
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
在/etc/dovecot/dovecot.conf
文件末尾加上如下配置:
ssl = no
disable_plaintext_auth = no
mail_location = maildir:~/Maildir
在/etc/dovecot/conf.d/10-auth.conf:
文件中修改如下配置:
#取消注释并修改为 disable_plaintext_auth = no
#修改 auth_mechanisms = plain 为 auth_mechanisms = plain login
在/etc/dovecot/conf.d/10-master.conf:
文件中修改如下配置:
#取消注释并添加Postfix smtp验证
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}
之后执行:sudo /etc/init.d/postfix restart
、systemctl restart saslauthd
、systemctl enable saslauthd
三、创建用户并测试收发信:
使用adduser mxyr
来新建一个名为mxyr的用户并设置密码。使用printf "mxyr" | openssl base64
与printf "密码" | openssl base64
来生成用户名与密码加密之后的字符串。
接下来我们来测试发信。在本地计算机win+R输入cmd打开控制台,之后执行:
telnet mxyr.tech 25
220 instance-3t7yfjol ESMTP Postfix (Ubuntu)
EHLO localhost //查看设置
250-instance-3t7yfjol
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
AUTH LOGIN //执行认证登录
334 VXNlcm5hbWU6
bXh5cg== ////输入用户名mxyr的BASE64编码
334 UGFzc3dvcmQ6
WlE8xNzE23MT3k5OTA3MD6U12= //输入密码的BASE64编码
235 2.7.0 Authentication successful
MAIL FROM:[email protected] //发件人地址
250 2.1.0 Ok
RCPT TO:[email protected] //收件人地址
250 2.1.5 Ok
DATA //编写邮件内容
354 End data with <CR><LF>.<CR><LF>
Subject:testtest //邮件标题
testtesttesttest
.
250 2.0.0 Ok: queued as B842FFB76B
quit //断开telnet连接
221 2.0.0 Bye
遗失对主机的连接。
现在请求 Dovecot 来取回你的新消息,使用你的 Linux 用户名和密码登录:
+OK Dovecot ready.
user mxyr //用户名
+OK
pass 123456 //密码
+OK Logged in.
stat //查看收件箱状态
+OK 4 322276
list //邮件列表
+OK 4 messages:
1 4855
2 3680
3 2919
4 310822
.
retr 3 //收取指定编号邮件
+OK 2919 octets
//返回邮件内容
.
quit //断开telnet连接
+OK Logging out.
遗失对主机的连接。