Linux下如何安装Postfix邮件
发表于:2024-11-30 作者:千家信息网编辑
千家信息网最后更新 2024年11月30日,这篇文章主要介绍Linux下如何安装Postfix邮件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!本套邮件系统的搭建,从如何发邮件到收邮件到认证到虚拟用户虚拟域以及反病毒和反
千家信息网最后更新 2024年11月30日Linux下如何安装Postfix邮件
这篇文章主要介绍Linux下如何安装Postfix邮件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
本套邮件系统的搭建,从如何发邮件到收邮件到认证到虚拟用户虚拟域以及反病毒和反垃圾邮件等都有详细的介绍。在搭建过程中必须的参数解释以及原理都有告诉,这样才能更好地理解邮件系统。
卸载自带postfix
$ rpm -q postfixpostfix-2.6.6-2.2.el6_1.x86_64$ rpm -ev postfix --nodeps
环境准备
\1. YUM要配置好。
\2. 编译环境要配置好。
PS: 这两步骤如果有问题,那么可以看本网站提供的YUM和编译章节。
安装MySQL服务器
$ yum install mysql-server mysql mysql-devel perl-DBD-MySQL$ chkconfig mysqld on$ service mysqld restart$ rpm -q mysqlmysql-5.1.71-1.el6.x86_64
安装cyrus-sasl并启动saslauthd服务
$ yum install cyrus-sasl cyrus-sasl-devel$ service saslauthd start$ chkconfig saslauthd on
查看postfix用户
$ id postfixuid=89(postfix) gid=89(postfix) 组=89(postfix),12(mail)
发送邮件的用户,这里就使用系统自带的postfix用户,记住UID:89、GID:89,后面很多地方都要用到这两个ID号,如果此ID号更改了,那么Postfix安装方面会有很多目录权限都需要更改。
编译安装postfix-2.11.7
$ tar zxvf postfix-2.11.7.tar.gz$ cd postfix-2.11.7$ make makefiles 'CCARGS=-DHAS_MYSQL -I/usr/include/mysql -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl -DUSE_TLS ' 'AUXLIBS=-L/usr/lib64/mysql -lmysqlclient -lz -lm -L/usr/lib/sasl2 -lsasl2 -lssl -lcrypto'$ tar zxvf postfix-2.11.7.tar.gz$ cd postfix-2.11.7$ make makefiles 'CCARGS=-DHAS_MYSQL -I/usr/include/mysql -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl -DUSE_TLS ' 'AUXLIBS=-L/usr/lib64/mysql -lmysqlclient -lz -lm -L/usr/lib/sasl2 -lsasl2 -lssl -lcrypto'#-DHAS_MYSQL -I/usr/include/mysql //启用Mysql存储,指定头文件;#-DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl //启用SASL(cyrus)认证框架;#-DUSE_TLS //启用SSL功能;#AUXLIBS=-L/usr/lib64/mysql -lmysqlclient //找Mysql客户端库文件;#-lz //压缩裤文件;#-lm -L/usr/lib64/sasl2 //模块文件;#-lsasl2 -lssl -lcrypto //加密库文件;
有以下信息就表示配置成功了
[src/posttls-finger]cat ../../conf/makedefs.out Makefile.in >Makefilerm -f Makefile; (cat conf/makedefs.out Makefile.in) >Makefile$ make$ make install
按照以下的提示输入相关的路径([]号中的是缺省值,"]"后的是输入值,省略的表示采用默认值)
install_root: [/]#指定Postfix安装目录,默认tempdir: [/root/postfix-2.11.7] /tmp/postfix#指定Postfix临时文件目录config_directory: [/etc/postfix]#指定Postfix配置文件目录,默认command_directory: [/usr/sbin]#指定Postfix二进制文件目录,默认daemon_directory: [/usr/libexec/postfix]#指定Postfix服务器进程,默认data_directory: [/var/lib/postfix]#指定Postfix可写文件目录,默认html_directory: [no] /var/www/html/postfix#指定Postfix帮助文件,可以使用web服务器打开mail_owner: [postfix]#指定Postfix属主,默认mailq_path: [/usr/bin/mailq]#指定Postfix队列程序路径,默认manpage_directory: [/usr/local/man]newaliases_path: [/usr/bin/newaliases]#指定Postfix生成别名命令位置,默认queue_directory: [/var/spool/postfix]#指定Postfix队列目录,默认readme_directory: [no]sendmail_path: [/usr/sbin/sendmail]#指定Postfix客户端(smtp),默认setgid_group: [postdrop]#指定Postfix投递组(默认有这个组,但没有这个用户),默认
PS:如果输入错误可以按Ctrl+退格键删除字符。
添加SysV风格服务脚本
[root@localhost ~]# vim /etc/rc.d/init.d/postfix#!/bin/bash## chkconfig: 2345 80 30# description: Postfix is a Mail Transport Agent, which is the program \# processname: master# pidfile: /var/spool/postfix/pid/master.pid# config: /etc/postfix/main.cf# config: /etc/postfix/master.cf# Source function library.. /etc/rc.d/init.d/functions# Source networking configuration.. /etc/sysconfig/network # Check that networking is up.[ $NETWORKING = "no" ] && exit 3 [ -x /usr/sbin/postfix ] || exit 4[ -d /etc/postfix ] || exit 5[ -d /var/spool/postfix ] || exit 6 RETVAL=0prog="postfix" start() { # Start daemons. echo -n $"Starting postfix: " /usr/bin/newaliases >/dev/null 2>&1 /usr/sbin/postfix start 2>/dev/null 1>&2 && success || failure $"$prog start" RETVAL=$? [ $RETVAL -eq 0 ] && touch /var/lock/subsys/postfix echo return $RETVAL}stop() { # Stop daemons. echo -n $"Shutting down postfix: " /usr/sbin/postfix stop 2>/dev/null 1>&2 && success || failure $"$prog stop" RETVAL=$? [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/postfix echo return $RETVAL}reload() { echo -n $"Reloading postfix: " /usr/sbin/postfix reload 2>/dev/null 1>&2 && success || failure $"$prog reload" RETVAL=$? echo return $RETVAL}abort() { /usr/sbin/postfix abort 2>/dev/null 1>&2 && success || failure $"$prog abort" return $?}flush() { /usr/sbin/postfix flush 2>/dev/null 1>&2 && success || failure $"$prog flush" return $?}check() { /usr/sbin/postfix check 2>/dev/null 1>&2 && success || failure $"$prog check" return $?} restart() { stop start}# See how we were called.case "$1" in start) start ;; stop) stop ;; restart) stop start ;; reload) reload ;; abort) abort ;; flush) flush ;; check) check ;; status) status master ;; condrestart) [ -f /var/lock/subsys/postfix ] && restart || : ;; *) echo $"Usage: $0 {start|stop|restart|reload|abort|flush|check|status|condrestart}" exit 1esacexit $?# END[root@localhost ~]# chmod +x /etc/rc.d/init.d/postfix[root@localhost ~]# chkconfig --add postfix[root@localhost ~]# chkconfig postfix on[root@localhost ~]# service postfix start
Postfix相关命令
# 开启postfix;$ postfix start # 检查配置;$ postfix check # 重新加载;$ postfix reload $ postconf [OPTION]-d:显示Postfix默认的配置;-n:显示新修改的配置;-m:显示支持的存储文件类型如hash,mysql等;-a:显示支持sasl的客户端插件类型;
安装完毕
如果上面没有使用UID为89的postfix用户,那么检查postfix时就会报如下错误。
$ postfix checkpostsuper: fatal: scan_dir_push: open directory defer: Permission denied
原因是一般编译安装时,Postfix队列目录/var/spoole/postfix/,下有几个目录会使用系统自带postfix的目录,由于系统默认使用postfix(UID:89)用户给删除了,所以这些目录就找不到postfix用户,开启时就会报错一些权限问题,把以下几个目录权限给修改以下就好了,如果还有一些别的目录一并修改即可。
$ chown -R postfix.root /var/spool/postfix/defer/$ chown -R postfix.root /var/spool/postfix/deferred/$ chown -R postfix.root /var/spool/postfix/private/$ chown -R postfix.postdrop /var/spool/postfix/public/$ chown -R postfix.postdrop /var/spool/postfix/maildrop/$ chown -R postfix.root /var/lib/postfix/
Postfix进程
master:这条进程是 Postfix 邮件系统的大脑,它产生所有其他进程。smtpd:作为服务器端程序处理所有外部连进来的请求。smtp:作为客户端程序处理所有对外发起连接的请求。qmgr:它是 Postfix 邮件系统的心脏,处理和控制邮件队列里面的所有消息。local:这是 Postfix 自有的本地投递代理MDA,就是它负责把邮件保存到邮箱里。
以上是"Linux下如何安装Postfix邮件"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
目录
邮件
文件
用户
系统
配置
服务
客户
客户端
服务器
进程
邮件系统
队列
编译
权限
程序
处理
输入
内容
命令
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库审计系统采购项目询价公告
php存储数据库中的值
党委学校网络安全工作责任制
小规模企业做软件开发
app软件开发优点
万德数据库导出季度数据
加强单位网络安全建设报告
做软件开发岗位跟销售
力控跟关系数据库的操作
网络安全中的利益问题
崇明区大型软件开发收费
山东省存储服务器经销商
上海呦喂网络技术有限公司
网络安全调剂什么意思
网络安全靠人民征集网
学软件开发需要掌握的几个点
服务器带宽跑满
关于软件开发的便捷有效性
网络安全宣传专题课
高德网络安全部门
万德数据库导出季度数据
软件开发测算报告
网络安全法规定哪些制度
网络技术补考题
计算机网络技术应该看什么书
哪里有高性价比的服务器卖
提高生产性 软件开发
数据库查询信息的用法
国家网络安全周口号2018
基因整合数据库