编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

ubuntu搭建postfix smtp邮箱服务为站点发送邮件

wxchong 2024-10-24 18:22:17 开源技术 18 ℃ 0 评论

需求很简单,也不搞得那么麻烦。不需要接收邮件,仅仅利用PHP类库PHPMailer发送验证码邮件,接收邮件可以用什么qq,网易的。还有一点如果配置接收邮件,还需要考虑什么安全,垃圾邮件啥的。

正文开始

1 解析域名 (防止邮件被扔进垃圾邮箱)

mail.daliycode.comA记录到123.123.123.123(你的服务器ip)
@MX记录到mail.daliycode.com优先级10
@TXT记录到v=spf1mx-all

2 安装postfix

apt-getinstallpostfix

安装完毕应该就直接可以发送邮件了,测试发送邮件:

echo"测试邮件正文"|mail-s"邮件标题"XXXX@qq.com(你的接收邮箱地址)

一般在垃圾邮箱里面,域名解析成功后才不会到垃圾邮箱。

相关命令:

#列出当前在postfix发送队列中的所有邮件
mailq

#删除当前等待发送队列的所有邮件,包括发送失败的退信
postsuper-dALL

3 安装cyrus-sasl

apt-getinsatllsasl2-bin

4 配置postfix

smtpd_relay_restrictions=permit_mynetworkspermit_sasl_authenticateddefer_unauth_destinationreject_unauth_destination
myhostname=mail.daliycode.com
mydomain=daliycode.com
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=loopback-only#仅发送
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

5 创建smtpd.conf 文件

vim/etc/postfix/sasl/smtpd.conf
#32位机器vim/usr/lib/sasl2/smtpd.conf
#写入内容

pwcheck_method:auxprop
auxprop_plugin:sasldb
mech_list:PLAINLOGINCRAM-MD5DIGEST-MD5NTLM

6 使用saslpasswd2创建认证用户及密码(安装了cyrus-sasl就已安装saslpasswd2)

#创建admin@daliycode的邮箱账号(也是smtp的账号)和密码
saslpasswd2-c-udaliycode.com(你的域名)admin(用户)#回车要求输入密码,2次

#这里很关键,在ubuntu下postfix所能浏览的目录有限制,必须把数据库文件复制到postfix的运行目录下,不然在用户验证的时候会出错。

cp-a/etc/sasldb2/var/spool/postfix/etc/

7 将postfix添加到sasl组

gpasswd-apostfixsasl
#修改sasldb权限
chmod640/var/spool/postfix/etc/sasldb2
#列举sasldb2中的用户
sasldblistusers2-f/var/spool/postfix/etc/sasldb2

8 测试smtp

telnetlocalhost25
authlogin
334VXN1cm5hbWU6#会显示出这个
#输入base64加密后的账号字符串
dGVzdEBqdW1wc2VydmVyLmNvbQ==
#输入base64加密后的密码字符串
0dGVzdDEyMw==
2352.7.0Authenticationseccessful#表示认证成功,即配置成功。

9 你的web系统后台配置smtp信息,并测试邮件发送

怎么样,很简单,也很实用。

10你说啥,不知道啥是linux!啥是乌班图!啥是云服务器?

推荐给大家:高速稳定,个性化定制,取你所需,为你所用!

抢注地址:三丰云-云服务器-虚拟主机-免费空间-免备案域名注册VPS服务商

https://www.sanfengyun.com

赶快申请属于自己的免费服务器吧:

三丰云-云服务器-虚拟主机-免费空间-免备案域名注册VPS服务商

"免费虚拟主机"“免费云服务器”永久免费,一键开通,域名免备案!

参考:

https://blog.csdn.net/silence_stone/article/details/51243430

https://www.hyahm.com/article/225.html

https://www.jb51.net/article/101402.htm

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表