热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Postfix邮件服务器的安装与配置方法

postifx是ibm的据说是百万当量的邮件服务处理系统(别以为光装它,你的PC就能支持百万用户的邮件,如果这样,我就得去歇菜了).它的配置比sendmail要简单一些,不过对刚入门的人而言,还是有一定的困难的.如果你的系统重已经装了sendmai,不要紧,不影响的,你只要单独
postifx是ibm的据说是百万当量的邮件服务处理系统(别以为光装它,你的PC就能支持百万用户的邮件,如果这样,我就得去歇菜了).它的配置比sendmail要简单一些,不过对刚入门的人而言,还是有一定的困难的.如果你的系统重已经装了sendmai,不要紧,不影响的,你只要单独编译安装postfix,把sendmail服务进程stop下来,把postfix启动起来,就完全替代了.

另外:如果下面的文档中:

有如下命令行的,表示是超级用户(root),

# command

有如下命令行的话,表示是普通用户

$ command

*/

一、支持的操作系统

AIX 3.2.5
AIX 4.1.x
AIX 4.2.0
BSD/OS 2.x
BSD/OS 3.x
BSD/OS 4.x
FreeBSD 2.x
FreeBSD 3.x
FreeBSD 4.x
HP-UX 9.x
HP-UX 10.x
HP-UX 11.x
IRIX 5.x
IRIX 6.x
Linux Debian 1.3.1
Linux Debian 2.x
Linux RedHat 4.x
Linux RedHat 5.x
Linux RedHat 6.x
Linux Slackware 3.5
Linux Slackware 4.0
Linux Slackware 7.0
Linux SuSE 5.x
Linux SuSE 6.x
Mac OS X server
NEXTSTEP 3.x
NetBSD 1.x
OPENSTEP 4.x
OSF1.V3 (Digital UNIX)
OSF1.V4 aka Digital UNIX V4
OSF1.V5 aka Digital UNIX V5
OpenBSD 2.x
Reliant UNIX 5.x
Rhapsody 5.x
SunOS 4.1.x
SunOS 5.4..5.7 (Solaris 2.4..7)
Ultrix 4.x

或者与此相类似的操作系统

二、取得软件包

当然是去它的老窝:http://www.postfix.org

下载完源码包后,用如下命令展开:

# tar xvfz *.gz

注:如果你 用打上补丁的话,请一并下载补丁包,对于每个补丁包的功能,包里都有详细的说明。请仔细看。

三、开始编译

1. 如果在编译的时候出现“make:don know how to ... ”的提示信息的话,是因为没有makefile文件的缘故,请直接转到弹开的包文件的顶层目录用如下命令生成Makefile文件:

$ make -f Makefile.init makefiles

2. 如果你编译后,要移到另外一台机器上的话,请用如下命令删除在系统留下的编译信息:

$ make tidy

3. 如果想用系统带的编译器编译的话并且想用系统的默认选项的话。就直接在源码顶层目录敲下:

$ make

4. 如果想自己设置Makrefile的一些参数比如编译器的话,用如下命令进行设置:

$ make makefiles CC=/opt/SUNWspro/bin/cc (Solaris)

$ make

$ make makefiles CC=""/opt/ansic/bin/cc -Ae"" (HP-UX)

$ make

$ make makefiles CC=""purify cc""

$ make

$ make makefiles CCARGS=-DDEF_CONFIG_DIR=\\\""/some/where\\\""

$ make

四、怎样在默认不支持的机器上安装。(这部分可以略过)

如果你的系统是类unix的,应该也是可以安装的,你必须做如下设置。

1. 为你的系统取个名称,不过必须有别于已经支持的系统的名称

2. 在弹开目录中的makedefs文件的shell脚本里的case语句中增加一个系统类别,语句大致如下:

FreeBSD.4*) SYSTYPE=FREEBSD4 //系统类型为freebsd的情形

3. 另外,在 util/sys_defs.h的文件里加一个 #ifdef SYSTEMTYPE的章节。

注:这部分要在你对系统比较了解的情况下,否则这章节轻易修改的。

五、安装

在编译通过后,就可以安装了,,如果你完全要替代sendmail(当前很多linux发行版本中默认安装都带有sendmail),你必须把sendmail的相关程序移走。如下命令:

# mv /usr/sbin/sendmail /usr/sbin/sendmail.OFF

# mv /usr/bin/newaliases /usr/bin/newaliases.OFF

# mv /usr/bin/mailq /usr/bin/mailq.OFF

# chmod 755 /usr/sbin/sendmail.OFF /usr/bin/newaliases.OFF /usr/bin/mailq.OFF

在正式安装前必须做如下前期工作:

1. 创建一个postix用户以及postfix组,改用户可以没有主目录和shell.

2. 在/ etc/aliases中建立一个别名:

postfix : root

3.检查是否有一个可写的maldrop,或者需要一个set-uid或者set-gid(修改程序执行权限)的外部程序(其实,这步,没什么的)。

Ok,现在在弹开的顶层目录下,以超级用户的身份执行 INSTALL.sh

# ./INSTALL.sh

到这里你 机器里就应该有postfix了,如果出了什么出错提示,好好琢磨一下INSTALL.sh文件,机关全在这里头。

六、配置服务使之能发信

如果光要发信看起来比较简单一些,直接修改/etc/postfix/master.cf文件:

去掉下面这一行前的注释:

smtp inet n - n - - smtpd

然后启动postfix:

# postfix start

如果你还比较怀念sendmail命令的话,可用下面命令:

# sendmail -bd Cqwhatever

$ sendmail Cbp

七、配置Postfix使之能收发。

除了配置上面的/etc/postfix/master.cf

还必须配置/etc/postfix/main.cf文件:

myhostname = virtual.host.name

inet_interfaces = $myhostname

mydestination = $myhostname

然后重启postfix服务器。

# postfix reload

八、其他设置

如果还需邮件服务器需要其他的服务,可在/etc/postfix/main.cf文件里相关的参数

下面简单介绍一下各选项的功能:

queue_directory = /var/spool/postfix 指定邮件队列目录

command_directory = /usr/sbin 指定服务器命令程序目录

daemon_directory = /usr/libexec/postfix 指定守护进程目录

mail_owner = postfix 指定邮件服务进程所有者

myhostname = mail.xxx.com.cn 指定主机结点名

mydomain = xxx.com.cn 指定本地域名

myorigin = tec.com.cn 指定本地发出的邮件域名

mydestination = $myhostname, localhost.$mydomain, $mydomain 目标域名列表

#local_recipient_maps = $alias_maps unix:passwd.byname 指定当地合法邮件用户

#alias_maps = hash:/etc/aliases 指定用户别名库

# mail_spool_directory = /var/spool/mail 指定临时共享池

inet_interfaces = all 指定过滤的邮件域名

#home_mailbox = Mailbox 指定用户邮件目录

#mailbox_command = /some/where/procmail 指定用户邮件目录的命令程序

#fallback_transport = 指定邮件返回的处理

# luser_relay = $user@other.host 指定本地用户的邮件中继

#header_checks = regexp:/etc/postfix/filename 邮件头检测

mynetworks = 192.168.1.0/24 本地ip网段

#relay_domains = $mydestination 邮件转发的上一级域名

local_destination_concurrency_limit = 2

default_destination_concurrency_limit = 10

debugger_command =

PATH=/usr/bin:/usr/X11R6/bin

xxgdb $daemon_directory/$process_name $process_id & sleep 5

relay_host = public.fz.fj.cn 上一级的邮件中继名。

message_size_time = 10240000

sender_canonical_maps = hash:/etc/postfix/sender_canonical

以上配置的只是使postfix能跑起来,还有一些有关安全、限制等相关属性设置,请直接到www.postfix.org站点上查资料,比较详细。


推荐阅读
  • 如何监控 Linux 服务器状态?,分享
    Linux服务器我们天天打交道,特别是Linux工程师更是如此。为了保证服务器的安全与性能,我们经常需要监控服务器的一些状态,以保证工作能顺利开展。本文介绍的几个命令,不仅仅适用于 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • CentOS7.8下编译muduo库找不到Boost库报错的解决方法
    本文介绍了在CentOS7.8下编译muduo库时出现找不到Boost库报错的问题,并提供了解决方法。文章详细介绍了从Github上下载muduo和muduo-tutorial源代码的步骤,并指导如何编译muduo库。最后,作者提供了陈硕老师的Github链接和muduo库的简介。 ... [详细]
  • Kali Linux 简介
    KaliLinux是世界渗透测试行业公认的优秀的网络安全审计工具集合,它可以通过对设备的探测来审计其安全性,而且功能完备,几乎包含了目前所 ... [详细]
  • Linux神奇漏洞:长按回车键70秒 即可轻松拿到Root权限
    一般来说获取系统root权限是很困难的,尤其是加密系统中,但西班牙安全研究员hectormarco、ismaelripoll发现,linux系统下只需按住回车键70秒钟,就能轻 ... [详细]
  • 阿里云服务器iis设置方法与上千种Linux桌面版本相比,Linux服务器只有可怜的十几种。但想要选对适合你的企业需要的仍然不是件容易的事情,选Linux服务器首先要 ... [详细]
  • 如何查看电脑系统版本_腾讯云服务器系统版本怎么看?Windows和Centos版本怎么选?...
    腾讯云服务器系统版本怎么看?想要知道自己的腾讯云服务器系统版本是哪个,可以登录云服务器后台管理系统查看,或者使用命令行查询,如果不会操作& ... [详细]
  • 本文比较了eBPF和WebAssembly作为云原生VM的特点和应用领域。eBPF作为运行在Linux内核中的轻量级代码执行沙箱,适用于网络或安全相关的任务;而WebAssembly作为图灵完备的语言,在商业应用中具有优势。同时,介绍了WebAssembly在Linux内核中运行的尝试以及基于LLVM的云原生WebAssembly编译器WasmEdge Runtime的案例,展示了WebAssembly作为原生应用程序的潜力。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 本文详细介绍了云服务器API接口的概念和作用,以及如何使用API接口管理云上资源和开发应用程序。通过创建实例API、调整实例配置API、关闭实例API和退还实例API等功能,可以实现云服务器的创建、配置修改和销毁等操作。对于想要学习云服务器API接口的人来说,本文提供了详细的入门指南和使用方法。如果想进一步了解相关知识或阅读更多相关文章,请关注编程笔记行业资讯频道。 ... [详细]
author-avatar
李筠惠佩昆琬雯
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有