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安全错误
数据库的锁怎样保障安全
实体类不是数据库字段注解
软件开发是否走招投标
字节跳动服务器在美国吗
情人节 网络安全
网络安全小报内容字要清楚
网络安全的作文小学生写的
5年级网络安全手抄报内容
开展网络安全宣传知识
主动免疫网络安全
太仓数据网络技术收费
网易战意和共研服务器
楼房平面图软件开发
vfp数据库记录分类
ip网络技术进阶
通讯网络技术员的工作职责
四川锋宇网络技术有限公司
网络安全生态 关涉
哈密市网络安全宣传周法制日
赛尔号服务器夜间维护
军队自考专业计算机网络技术
服务器硬盘为什么要做阵列
服务器的内网ip
计算机软件开发难学吗
qt从ftp服务器下载文件
央行网络安全态势
思科 网络安全产品
数据库期末实训
安卓系统后台软件开发
防沉迷导致游戏服务器崩
云数据库怎么写数据