Linux 常用工具
YUM
yum init system
create local repo yum
centos 7 init system
FTP
How to Install and Configure vsftpd on CentOS 6
vsftp install on centos 7
Email
aliyun ecs install email
postfix smtp on centos
centos 6 postfix smpt test
GIT
gogs install centos6
git command example
git format markdown
HTTP Web
apache exampe
h5ai web php file server
apache vhosgts code debug
Nginx Web
nginx install from source
nginx set directory autoindex
autoindex with h5ai web
nginx install pugin ngx-fancyindex
proxy internal vhost to web
dynamic and static by nginx
proxy directory second by nginx
nginx proxy gogs web
jenkns proxy from nginx
ssl certify by nginx
nginx threads fix to 9x
NTP
linux install ntp use asia date
VNC
vnc remote desktop
x11vnc on centos6
Firewall
iptables on centos 7
centos7 firewalld config
Kernel
centos kernel packages
kernel update to 3.10 on centos 6
SYSCTL 内核配置参数分析
NFS
centos6 install nfs servers
mount nfs to linux
mount nfs on centos 6
centos6 nfs verify permissions
SSH
ssh keygen rsa to client
ssh config diffent
Network
centos 7 config net-tool debug ifconfig
debug network card up or down
Samba
samba install on centos 6
samba config example
VIM
VIM using example
本文档使用 MrDoc 发布
-
+
首页
postfix smtp on centos
# postfix smtp on centos --- ## postfix-smtpd-in-centos6 FYI: http://blog.51yip.com/server/1382.html postfix 安装配置详解 我在自己做内部服务测试时,因为没有添加正确的 DNS 服务,导致邮件发不出去。 Host or domain name not found. postfix 安装配置详解 张映 发表于 2012-04-17 分类目录: 服务器相关 标签:centos, cyrus-imapd, cyrus-sasl, linux, postfix, 安装, 邮件服务器, 配置 DNS服务器服务器自己可以不用搭,用第三方的就可以了。访问大也没有什么问题,我现在做游戏这一块,游戏要推广的,推广的时候一天的独立IP就可以达到700W左右。我用了dnspod的企业版,一年600块钱不到。邮件服务器,最好还是自己搭,用别人的邮件的服务器,会受到限制的。发到多少封就不给发了,这就挺郁闷的了。下面简单介绍一下在centos6 64位机器上搭建postfix邮件服务器。 --- ## 一,安装postfix,cyrus-sasl,cyrus-imapd 如果yum提示找不到软件包,请换一下源,请参考centos 6推荐使用epel源 [root@localhost ~]# yum install postfix [root@localhost ~]# yum install cyrus* ## 二,删除了sendmail [root@localhost ~]# rpm -e sendmail 或者 [root@localhost ~]# yum remove sendmail ## 三,更改默认邮件传输代理(MTA) [root@localhost sasl2]# alternatives --config mta 共有 1 个程序提供“mta”。 选择 命令 ----------------------------------------------- *+ 1 /usr/sbin/sendmail.postfix 按 Enter 来保存当前选择[+],或键入选择号码:1 上面的只有一个postfix,sendmail已经被我删了。可以通过下面命令来查看。 [root@localhost ~]# alternatives --display mta ## 四,postfix,cyrus-sasl,cyrus-imapd相关配置 1,postfix主配置文件main.cf 查看复制打印? [root@localhost postfix]# vim /etc/postfix/main.cf ```html myhostname = localhost //76行,将等号后面的部分改写为本机主机名 mydomain = 51yip.com //82行,设置域名 myorigin = $mydomain //97行,把$myhostname改为$mydomain inet_interfaces = all //112行,把后面的localhost改成all mydestination = $myhostname, localhost.$mydomain, localhost,$mydomain //163行,把前面的注释拿掉,并加一下$mydomain mynetworks = 192.168.0.0/24, 127.0.0.0/8 //263行,设置内网和本地IP local_recipient_maps = //209行,把前面的注释拿掉。 smtpd_banner = $myhostname ESMTP unknow //568行,把前面的注释拿掉,然后把$mail_name ($mail_version)改成unknow //在main.cf文件的底部加上以下内容 smtpd_sasl_auth_enable = yes //使用SMTP认证 broken_sasl_auth_clients = yes //让不支持RFC2554的smtpclient也可以跟postfix做交互。 smtpd_sasl_local_domain = $myhostname // 指定SMTP认证的本地域名 smtpd_sasl_security_options = noanonymous //取消匿名登陆方式 smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination //设定邮件中有关收件人部分的限制 smtpd_sasl_security_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination //设置允许范围 message_size_limit = 15728640 //邮件大小 mailbox_transport=lmtp:unix:/var/lib/imap/socket/lmtp //设置连接cyrus-imapd的路径 如果不加local_recipient_maps这个配置,收邮件收不到,下面是qq的退信。 收件人邮件地址(tank@51yip.com)不存在,邮件无法送达。host mail.51yip.com[122.225.*.*] said: 550 5.1.1: Recipient address rejected: User unknown in local recipient table (in reply to RCPT TO command) ``` 2,cyrus-sasl配置 查看复制打印? [root@localhost postfix]# vim /etc/sasl2/smtpd.conf //在文件尾部加上以下内容 ```html log_level: 3 //记录log的模式 saslauthd_path:/var/run/saslauthd/mux //设置一下smtp寻找cyrus-sasl的路径 ``` 在这里要提一下的32位的机器和64位的机器smtpd.conf的路径是不一样的。 查看复制打印? //这是centos 5.5 32位机器上smtpd的配置文件 [root@linux sasl2]# ls |grep conf Sendmail.conf smtpd.conf [root@linux sasl2]# pwd /usr/lib/sasl2 //这是centos 6.0 64位机器上smtpd的配置文件,其他地方没有smtpd的配置文件 [root@localhost postfix]# ls /etc/sasl2/ |grep smtpd smtpd.conf 网上有不少关于postfix安装文章,配置的时候并没有明确提出是32位机器,还是64位机器。所以在这里标明一下。 3,配置cyrus-imapd cyrus-imapd的主要配置文件有下面三个 /etc/sysconfig/cyrus-imapd /etc/cyrus.conf /etc/imapd.conf 这里是默认的配置,也就是说上面三个文件我是没有动过的。在这里提醒一下imapd.conf在这个文件里面,你可以设置管理账号 ,设置邮件存放目录,设置密码连接方式等。 ## 五,启动postfix,cyrus-sasl,cyrus-imapd 启动cyrus-imapd服务,就可以同时提供pop和imap服务,如果你已安装了dovecot服务就可以删除掉,cyrus-imapd和dovecot二者选其一就行了,二都可以提供pop和imap服务,不过cyrus-imapd可以为每个用户创建一个信息,而且信箱具有层次结构,比较好管理。建议用cyrus-imapd。 查看复制打印? [root@linux sasl2]# /etc/init.d/postfix start [root@linux sasl2]# /etc/init.d/saslauthd start [root@linux sasl2]# /etc/init.d/cyrus-imapd start 查看一下进程, //smtp监听是25端口 [root@linux u]# netstat -tpnl |grep smtpd ```python tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 6319/smtpd ``` //110(POP3)和143(IMAP)端口,下面都已经有了 [root@linux u]# netstat -tpnl |grep cyrus ```python tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 23593/cyrus-master tcp 0 0 0.0.0.0:995 0.0.0.0:* LISTEN 23593/cyrus-master tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN 23593/cyrus-master tcp 0 0 0.0.0.0:2000 0.0.0.0:* LISTEN 23593/cyrus-master tcp 0 0 :::993 :::* LISTEN 23593/cyrus-master tcp 0 0 :::995 :::* LISTEN 23593/cyrus-master tcp 0 0 :::110 :::* LISTEN 23593/cyrus-master tcp 0 0 :::143 :::* LISTEN 23593/cyrus-master tcp 0 0 :::2000 :::* LISTEN 23593/cyrus-master ``` 启动是没有问题的。 ## 六,测试cyrus-sasl 查看复制打印? [root@linux t]# passwd cyrus //设置cyrus的密码 [root@linux sasl2]# testsaslauthd -u cyrus -p '******' //系统用户和密码 ```python 0: OK "Success." ``` 如果显示是上面的内容说是smtp是没有什么问题 ## 七,cyrus-imapd生产邮件管理员账号,并添加测试账号 安装完cyrus-imapd后会产生一个管理账号是cyrus,所属用户组是mail 查看复制打印? [root@linux sasl2]# id cyrus //imapd.conf里面默认的管理员账号就是cyrus ```python uid=76(cyrus) gid=12(mail) groups=12(mail),76(saslauth) ``` 在认证admin账号时,我发现32位系统和64位系统有一点不同,二种系统我都配置过,配置都是一样的, 但是出现的结果不一样,看下图 32位机器cyrus管理员用户认证 32位机器cyrus管理员用户认证 64位机器cyrus管理员用户认证 64位机器cyrus管理员用户认证 从上图可以看出,32位的系统是不用加上–auth plain,64位的要,如果不加的话,根本进不去。 进去后,我们来添加一下测试账号 [root@linux sasl2]# cyradm -u cyrus localhost ```python IMAP Password: localhost> cm tank localhost> lm tank (\HasNoChildren) localhost> quit ``` 这样我们可以在/var/spool/imap中看到,生成的目录,32位机器和64位机器生成的目录是不一样的 查看复制打印? //这是64位系统生成的目录 [root@localhost u]# ls ```python user^tank ``` [root@localhost u]# pwd ```python /var/spool/imap/u ``` //这是32位系统生成的目录 [root@linux t]# ls tank [root@linux t]# pwd ```python /var/spool/imap/t ``` ## 八,测试收发邮件 测试前添加一下DNS, 1,mail.51yip.com A 默认 122.225.*.* 2,mail.51yip.com A 联通 60.12.*.* 3,@ MX 默认 mail.51yip.com 第1和第2,是添加二条A记录,第三行,设置了一下MX记录,这个千万不要忘了,不然你的域名是不通的。 方法有很多,我们可以利用telnet来测试,不过用telnet来测试收发邮件比较麻烦,用linux自带的 mail命令就方便多了 查看复制打印? [root@localhost u]# mail -s '看一下' 95219454@qq.com < /etc/imapd.conf 以前有朋友问我,他配置的邮件服务器,发出去的邮件都在垃圾箱里面,我配过几次都没有发现这种情况看下图 发邮件已成功 发邮件已成功 从QQ发的邮件已成功 从QQ发的邮件又成功 我们还可以通过maillog日志来查看邮件是否收发成功,看下图 日志查看,收发邮件 日志查看,收发邮件 简单的邮件服务器就搭好了。 1. 測試服務器的名稱為mail.jbboo.com 2. 在postfix可以正常發信到本機及虛擬域mail.jbboo.com 3. main.cf里的配置如下 myhostname = mail.jbboo.com mydomain = jbboo.com mydestination = $myhostname, localhost.$mydomain, localhost 4. 在/etc/hosts文件配置為 127.0.0.1 localhost.localdomain localhost 192.168.1.18 mail.jbboo.com mail 5. 在 /etc/resolv.conf配置為(沒有加入DNS) search localdomain 6. 當我發信給py.nelson-jewellery.com時提示 -Queue ID- –Size– —-Arrival Time—- -Sender/Recipient——- D66F01D33B6 2792 Sat May 12 12:43:34 test@mail.jbboo.com (Host or domain name not found. Name service error for name=py.jbboo.com type=MX: Host not found, try again) ```
Bobby
2021年12月20日 16:36
分享文档
收藏文档
阅读
152
上一篇
下一篇
微信扫一扫
复制链接
手机扫一扫进行分享
复制链接
关于 MrDoc
觅思文档MrDoc
是
州的先生
开发并开源的在线文档系统,其适合作为个人和小型团队的云笔记、文档和知识库管理工具。
如果觅思文档给你或你的团队带来了帮助,欢迎对作者进行一些打赏捐助,这将有力支持作者持续投入精力更新和维护觅思文档,感谢你的捐助!
>>>捐助鸣谢列表
微信
支付宝
QQ
PayPal
Markdown文件
分享
链接
类型
密码
更新密码