我认为,配置Gophish花些时间即可,而邮件网关,则没那么好配,属于是核心技术了,莫名有坑点。
解析域名
mail.poorme.xyz A记录到 123.123.123.123(你的服务器ip)
@ MX记录到 mail.poorme.xyz 优先级10
@ TXT记录到 v=spf1 mx -all
重启
sudo /usr/sbin/postfix stop
sudo /usr/sbin/postfix start
修改端口
意义在于不想用默认的端口。
1、修改postfix的配置文件
vim /etc/postfix/master.cf
#在已有的第一行:
smtp inet n - n - - smtpd
#之后添加:
smtp2 inet n - n - - smtpd
2、修改/etc/services文件,增加smtp2监听端口,本文以2525端口为例
vim /etc/services
找到: smtp 25/tcp mail
其后添加:
smtp2 2525/tcp mail2
smtp2 2525/udp mail2
3、重启postfix
service postfix restart
配置Postfix
/etc/postfix/main.cf,修改为如下,其中的myhostname根据实际修改。
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination reject_unauth_destination
myhostname = mmm.poorme.xyz
mydomain = poorme.xyz
myorigin = $mydomain
mydestination = $myhostname.localhost.$mydomain,localhost,$mydomain
mynetworks = 127.0.0.0/8
home_mailbox = Maildir/
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = ipv4
#配置smtp认证 PHPMailer就是通过这个认证账户去发送邮件的
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $mydomain
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
smtpd_client_restrictions = permit_sasl_authenticated
broken_sasl_auth_clients = yes
smtpd_sasl_path = smtpd
smtpd_sasl_security_options = noanonymous #禁止匿名
smtpd_sasl_authenticated_header = yes
message_size_limit = 15728640
创建用户
#使用saslpasswd2创建认证用户及密码(安装了cyrus-sasl就已安装saslpasswd2)
#创建admin@daliycode的邮箱账号(也是smtp的账号)和密码
saslpasswd2 -c -u daliycode.com(你的域名) admin(用户) #回车要求输入密码,2次
#这里很关键,在ubuntu下postfix所能浏览的目录有限制,必须把数据库文件复制到postfix的运行目录下,不然在用户验证的时候会出错。
cp -a /etc/sasldb2 /var/spool/postfix/etc/
#将postfix添加到sasl组
gpasswd -a postfix sasl
#修改sasldb权限
chmod 640 /var/spool/postfix/etc/sasldb2
#列举sasldb2中的用户
sasldblistusers2 -f /var/spool/postfix/etc/sasldb2
测试邮件发送
#测试发送邮件
echo "测试邮件正文" | mail -s "邮件标题" XXXX@qq.com(你的接收邮箱地址)
#列出当前在postfix发送队列中的所有邮件
mailq
#删除当前等待发送队列的所有邮件,包括发送失败的退信
postsuper -d ALL
参考阅读