导航:首页 > 操作系统 > linux安装postfix

linux安装postfix

发布时间:2022-07-21 10:55:37

① 搭建linux虚拟机和postfix邮件系统

需要有个Linux的Ios镜像,然后用VM虚拟机运行那个镜像就行啦,然后按照搭建邮件服务器的教程在Linux系统里操作就行啦

② linux下如何安装邮件系统postfixlinux下如何对邮件系统postfix设置

postfix的安装过程
3.1原始码包的安装
1. 获取postfix的原始码包
从postfix官方站点www.postfix.org取得postfix的原始码包postfix-19991231-pl08.tar.gz。将其拷贝到/tmp
2.解开原始码包,将生成/tmp/ postfix-19991231-pl08目录。
tar xvzf postfix-19991231-pl08.tar.gz
3.编译原始码包
cd /tmp/ postfix-19991231-pl08
make
4.建立一个新用户“postfix”,该用户必须具有唯一的用户id和组id号,同时应该让该用户不能登录到系统,也即不为该用户指定可执行的登录外壳程式和可用的用户宿主目录。我们能先用adser postfix 添加用户再编辑/etc/passwd文件中的相关条目如下所示:
postfix:*:12345:12345:postfix:/no/where:/no/shell
5.确定/etc/aliases文件中包含如下的条目:
postfix: root
6. 以root用户登录,在/tmp/ postfix-19991231-pl08目录下执行命令
./install.sh
7. 启动postfix
# postfix start
8.关于maildrop目录权限的说明:
postfix能使用一个所有用户都可写的(也即目录权限为1773)的maildrop
目录来让本地用户提交邮件。这种方法避免了使用set-uid 或 set-gid 软件,并且在邮件系统不可用时,用户仍然能提交邮件。其他用户没有访问该目录中的队列文件的权限。接收来自网络的邮件时postfix不使用maildrop目录。不过,由于该目录的权限是733,其他用户能建立一个硬连接到该目录中的文件从而导致该邮件被投递多次或无法删除,也就是说这将导致安全性问题。如果你想要使用这种方式来让用户提交邮件,就要在install.sh 脚本问你是否需要set-gid 时回答no。
如果你的系统有多个用户的话,最佳取消以上的方式而采用利用set-gid 用
户权限提交邮件的方式。这时,我们首先需要建立一个组id唯一的组"maildrop" 并且确定该组中没有用户成员。然后在install.sh 问你是否需要set-gid 时指定"maildrop"。
提示:在安装postfix之前,请删除已安装的sendmail。

3.2 rpm包的安装
1. 获取postfix的rpm软件包。
我们能从http://www.alltrading.es/postfix/rpms/i386/ 获得postfix的rpm软件包。当前的最新版本是postfix-20000531-2.i386.rpm。
2. 备份你的/etc/aliases和/etc/aliases.db,因为postfix要使用该别名数据库。
3. 用以下命令查看系统是否安装了sendmail:
[root@mail /root]# rpm -qa |grep sendmail
sendmail-doc-8.9.3-15
sendmail-8.9.3-15
sendmail-cf-8.9.3-15
4. 用以下命令强行卸载sendmail:
[root@mail /root]# rpm -e sendmail sendmail-cf sendmail-doc --nodeps
5. 用以下命令杀死运行中的sendmail进程:
[root@mail /root]# killall sendmail
6. 安装postfix:

7. 启动postfix
[root@mail /root]# /etc/rc.d/init.d/postfix start

3.3 设置系统每次启动时自动启动postfix
1.如果你安装的是postfix的原始码包,能在/etc/rc.d/rc.local文件中加入如下的语句让系统每次启动时自动启动postfix:
if [ -f /usr/libexec/postfix ]; then
/usr/libexec/postfix start
fi
2.如果你安装的是postfix的rpm包,能通过setup命令来设置在系统启动时启动postfix。
四、 postfix的设置详解
4.1 postfix的设置文件结构
postfix的设置文件位于/etc/postfix下,安装完postfix以后,我们能通过ls命令查看postfix的设置文件:
[root@mail postfix]# ls
install.cf main.cf master.cf postfix-script

这四个文件就是postfix最基本的设置文件,他们的差别在于:
mail.cf:是postfix主要的设置文件。
install.cf:包含安装过程中安装程式产生的postfix初始化设置。
master.cf:是postfix的master进程的设置文件,该文件中的每一行都是用来设置postfix的组件进程的运行方式。
postfix-script:包装了一些postfix命令,以便我们在linux环境中安全地执行这些postfix命令。

4.2 postfix的基本设置
postfix大约有100个设置参数,这些参数都能通过main.cf 指定。设置的格式是这样的,用等号连接参数和参数的值。如:
myhostname = mail.mydomain.com
等号的左边是参数的名称,等号的右边是参数的值; 当然,我们也能在参数的前面加上$来引用该参数,如:
myorigin = $myhostname
虽然postfix有100个左右的参数,不过postfix为大多数的参数都设置了缺省值,所以在让postfix正常为你服务之前,你只需要设置为数不多的几个参数。下面我们一起来看一看这些基本的postfix参数。需要注意的是,一旦你更改了main.cf文件的内容,则必须运行postfix reload命令使其生效。

1. myorigin
myorigin参数指明发件人所在的域名。如果你的用户的邮件地址为[email protected],则该参数指定@后面的域名。缺省地,postfix使用本地主机名作为myorigin,不过建议你最佳使用你的域名,因为这样更具有可读性。比如:安装postfix的主机为mail.domain.com则我们能这样指定myorigin:
myorigin = domain.com
当然我们也能引用其他参数,如:
myorigin = $mydomain

2. mydestination
mydestination参数指定postfix接收邮件时收件人的域名,换句话说,也就
是你的postfix系统要接收什么样的邮件。比如:你的用户的邮件地址为[email protected], 也就是你的域为domain.com, 则你就需要接收所有收件人为[email protected]的邮件。和myorigin相同,缺省地,postfix使用本地主机名作为mydestination。
3. notify_classes
在postfix系统中,必须指定一个postfix系统管理员的别名指向一个用户,
只有这样,在用户遇见问题时才有报告的对象,postfix也才能将系统的问题报告给管理员。notify_classes参数就是用来指定向postfix管理员报告错误时的信息级别。共有以下几种级别:

bounce:将不能投递的邮件的拷贝发送给postfix管理员。出于个人隐私的缘故,该邮件的拷贝不包含信头。

2bounce:将两次不可投递的邮件拷贝发送给postfix管理员。

delay:将邮件的投递延迟信息发送给管理员,仅仅包含信头。

policy:将由于uce规则限制而被拒绝的用户请求发送给postfix管理员,包含整个smtp会话的内容。

protocol:将协议的错误信息或用户企图执行不支持的命令的记录发送给postfix管理员。同样包含整个smtp会话的内容。

resource:将由于资源错误而不可投递的错误信息发送给postfix管理员,比如:队列文件写错误等等。

software:将由于软件错误而导致不可投递的错误信息发送给postfix管理员。

缺省值为:
notify_classes = resource, software

4.myhostname
myhostname 参数指定运行postfix邮件系统的主机的主机名。缺省地,该值被设定为本地机器名。你也能指定该值,需要注意的是,要指定完整的主机名。如:
myhostname = mail.domain.com

5.mydomain
mydomain参数指定你的域名,缺省地,postfix将myhostname的第一部分删除而作为mydomain的值。你也能自己指定该值,
6.mynetworks
mynetworks 参数指定你所在的网络的网络地址,postfix系统根据其值来差别用户是远程的还是本地的,如果是本地网络用户则允许其访问。你能用标准的a、b、c类网络地址,也能用cidr(无类域间路由)地址来表示,
7.inet_interfaces
inet_interfaces 参数指定postfix系统监听的网络接口。缺省地,postfix监听
所有的网络接口。如果你的postfix运行在一个虚拟的ip地址上,则必须指定其监听的地址。
4.3 postfix的uce(unsolicited commercial email)控制
所谓uce控制就是指控制postfix接收或转发来自于什么地方的邮件。

缺省地,postfix转发符合以下条件的邮件:
* 来自客户端ip地址符合$mynetworks的邮件。
* 来自客户端主机名符合$relay_domains及其子域的邮件。
* 目的地为$relay_domains及其子域的邮件。

缺省地,postfix接受符合以下条件的邮件:
* 目的地为$inet_interfaces的邮件。
* 目的地为$mydestination的邮件。
* 目的地为$virtual_maps的邮件。
不过我们也能通过下面的规则来实现更强大的控制功能。

1. 信头过滤
通过header_checks参数限制接收邮件的信头的格式,如果符合指定的格式,则拒绝接收该邮件。能指定一个或多个查询列表,如果新邮件的信头符合列表中的某一项则拒绝该接收邮件。
2.客户端主机名/地址限制
通过smtpd_client_restrictions参数限制能向postfix发起smtp 连接的客户端的主机名或ip地址。能指定一个或多个参数值,中间用逗号隔开。限制规则是按照查询的顺序进行的,第一条符合条件的规则被执行。
3. 是否请求helo命令
能通过smtpd_helo_required参数指定客户端在smtp会话的开始是否发
送一个helo命令。你能指定该参数的值为yes或no。
4. helo主机名限制
能通过smtpd_helo_restrictions参数指定客户端在执行helo命令时发送
给postfix的主机名。缺省地,postfix接收客户端发送的任意形式的主机名。能指定一个或多个参数值,中间用逗号隔开。限制规则是按照查询的顺序进行的,第一条符合条件的规则被执行。
5. rfc 821信头限制
rfc 821对邮件的信头做了严格的规定,不过广泛使用的sendmail并不支
持该规定,所以对于该参数我们只能说不,
6. 通过发件人地址进行限制
能用smtpd_sender_restrictions参数通过发件人在执行mail from命令时提供的地址进行限制。能指定一个或多个参数值,中间用逗号隔开。限制规则是按照查询的顺序进行的,第一条符合条件的规则被执行。
reject_unknown_sender_domain:如果mail from命令提供的主机名在dns中没有相应的a 或 mx 记录则拒绝该客户端的连接请求。能用unknown_address_reject_code参数指定返回给客户机的错误代码(缺省为450)。

check_sender_access maptype:mapname:根据mail from命令提供的主机名、父域搜索access数据库。如果搜索的结果为reject 或 "[45]xx text" 则拒绝该客户端的连接请求;如果搜索的结果为ok、relay 或数字则接受该客户端的连接请求。能用access_map_reject_code参数指定返回给客户机的错误代码(缺省为554)。能通过该参数过滤来自某些不受欢迎的发件人的邮件。

reject_non_fqdn_sender:如果mail from命令提供的主机名不是rfc规定的完整的域名则拒绝客户端的连接请求。能用non_fqdn_reject_code 参数指定返回给客户机的错误代码(缺省为504)。
缺省地,postfix接受来自所有发件人的邮件。

7. 通过收件人地址进行过滤
能用smtpd_recipient_restrictions参数通过发件人在执行rcpt to命令
时提供的地址进行限制。缺省值为:
smtpd_recipient_restrictions = permit_mynetworks, check_relay_domains
能指定一个或多个参数值,中间用逗号隔开。限制规则是按照查询的顺序
进行的,第一条符合条件的规则被执行。可用的规则有:

check_relay_domains:如果符合以下的条件,则接受smtp连接请求,否则拒绝该连接,能用relay_domains_reject_code 参数指定返回给客户机的错误代码(缺省为504)。
* 客户端主机名符合$relay_domains及其子域
* 目的地为$inet_interfaces、$mydestination或$virtual_maps

permit_auth_destination:不管客户端的主机名,只要符合以下的条件,就
接受smtp连接请求:
* 解析后的目标地址符合$relay_domains及其子域
* 解析后的目标地址符合$inet_interfaces、$mydestination或$virtual_maps

reject_unauth_destination:不管客户端的主机名,只要符合以下的条件,
就拒绝该客户端smtp连接请求:
* 解析后的目标地址符合$relay_domains及其子域
* 解析后的目标地址符合$inet_interfaces、$mydestination或$virtual_maps

check_recipient_access:根据解析后的目标地址、父域搜索access数据库。如果搜索的结果为reject 或 "[45]xx text" 则拒绝该客户端的连接请求;如果搜索的结果为ok、relay 或数字则接受该客户端的连接请求。能用access_map_reject_code参数指定返回给客户机的错误代码(缺省为554)。

reject_unknown_recipient_domain:如果收件人的邮件地址在dns中没有相应的a 或 mx 记录则拒绝该客户端的连接请求。能用unknown_address_reject_code参数指定返回给客户机的错误代码(缺省为450)。

reject_non_fqdn_recipient:如果发件人在执行rcpt to命令时提供的地址
不是完整的域名则拒绝其smtp连接请求。能用the non_fqdn_reject_code参数指定返回给客户机的错误代码(缺省为504)。

③ linux 安装postfix

一级二级都没有关系,关键是你要设置域名解析的MX记录.
MX记录负责邮件部分.

④ linux centos 怎样查看postfix已经安装

如果是用rpm包安装的话就用命令rpm -qa postfix查看
如果用源码包安装,查看服务或端口25及110端口是否有监听
用netstat -an查看一下端口监听情况

⑤ 用linux系统搭建postfix邮件服务器,但是局域网可以实现互发邮件,不能给其他的公网邮箱互发邮件,求解

快速配置Postfix邮件服务器

Postfix最被人称道的地方就在于其配置文件的可读性很高。Postfix的主配置文件是/etc/postfix/main.cf。

在main.cf文件中,参数都是以类似变量的设置方法来设置的,这些参数的使用主要包含两部分的内容:

(1)定义和声明变量:例如definename = good-better-best。等号左边是变量的名称,等号右边是变量的值。

(2)引用变量:可以在变量的前面加上符号“$”来引用该变量,如:myname = $ definename(相当于definename = good-better-best)。

需要注意的是:等号两边需要有空格字符。此外,如果变量有两个以上的设置值,就必须用逗号“,”或者空格符“ ”将它们分开。

在熟悉了上述变量的定义和引用方法后,下面详细介绍如何安全、高效地配置Postfix服务器的相关选项。

1.设置Postfix服务监听的网络接口

默认情况下,inet_interfaces参数的值被设置为localhost,这表明只能在本地邮件主机上寄信。如果邮件主机上有多个网络接口,而又不想使全部的网络接口都开放Postfix服务,就可以用主机名指定需要开放的网络接口。不过,通常是将所有的网络接口都开放,以便接收从任何网络接口来的邮件,即将inet_interfaces参数的值设置为“all”,如下所示:

inet_interfaces = all

2.安全设置可接收邮件的主机名称或域名

mydestination参数非常重要,因为只有当发来的邮件的收件人地址与该参数值相匹配时,Postfix才会将该邮件接收下来。通过该选项的设置可以过滤掉许多没有经过认证和授权的邮件,从而节省服务器的存储空间,以及节省用户的邮件处理时间。

举一个简单的例子,用户可以将该参数值设置为如下:

accept_domain = test.net
mydestination = $accept_domain

这就表明无论来信的收件人地址是[email protected](其中X表示某用户在test.net域中的邮件账户名),Postfix都会接收这些邮件。而除此之外的邮件,Postfix都不会接受。

3.安全设置可转发邮件的网络(IP设置)

有关安全设置可转发邮件的网络可以使用mynetworks参数来设置。可将该参数值设置为所信任的某台主机的IP地址,也可设置为所信任的某个IP子网或多个IP子网(采用“,”或者“ ”分隔)。

比如,用户可以将mynetworks参数值设置为172.168.96.0/24,则表示这台邮件主机只转发子网172.168.96.0/24中的客户端所发来的邮件,而拒绝为其他子网转发邮件:

mynetworks = 172.168.96.0/24

除了mynetworks参数外,还有一个用于控制网络邮件转发的参数是mynetworks-style,它主要用来设置可转发邮件网络的方式。通常有以下三种方式:

(1)class:在这种方式下,Postfix会自动根据邮件主机的IP地址得知它所在的IP网络类型(即A类、B类或是C类),从而开放的它所在的IP网段。

(2)subnet:这是postfix的默认值,postfix会根据邮件主机的网络接口上所设置的IP地址、子网掩码来得知所要开放的IP网段。

(3)host:在这种方式下,postfix只会开放本机。

通常,用户一般不需要设置mynetworks-style参数,而直接设置mynetworks参数。如果这两个参数都进行了设置,那么mynetworks参数的设置有效。

4.设置可转发邮件的网络(域名设置)

上面介绍的mynetworks参数是针对邮件来源的IP来设置的,而relay_domains参数则是针对邮件来源的域名或主机名来设置的,其实从原理上来说是一致的,不过是区分了IP地址和域名而已,不过,relay_domains还需要依赖DNS这个基础设施。

例如,用户可以将relay_domains参数值设置为test.net,则表示任何由域test.net发来的邮件都会被认为是信任的,Postfix会自动对这些邮件进行转发,如下所示:

relay_domains = test.net

那么,要使它能在实际网络中更好地转发邮件,还必须进行相应的DNS设置。那么,需要在该网络的DNS服务器上定义了一个主区域test.net,并在该区域配置文件中定义了以下记录:

//定义邮件服务器的IP地址
patterson.test.net. IN  A  172.168.96.254
//定义邮件服务器的别名
mail.test.net. IN CNAME  patterson.test.net.
//定义优先级别
test.net.  IN MX  10 mail.test.net.

上述记录只对邮件服务器进行了定义,还有诸如SOA、NS等的定义,在这里就不再赘述。

配置Postfix使用SMTP安全认证

Postfix默认不会对外开放转发功能,而仅对本机(localhost)开放转发功能。但是,在实际应用中,必须在Postfix主配置文件中通过设置mynetworks、relay_domains参数来开放一些所信任的网段或网域,否则该邮件服务器几乎没有什么用处。在开放了这些所信任的网段或网域后,还可以通过设置SMTP认证,对要求转发邮件的客户端进行用户身份(用户账户名与密码)验证。只有通过了验证,才能接收该用户寄来的邮件并帮助转发。同样,Postfix中目前比较常用的SMTP认证机制是通过Cyrus SASL包来实现的。

默认情况下,Postfix并没有启用SMTP认证机制。要让Postfix启用SMTP认证,就必须对Postfix的主配置文件/etc/postfix/main.cf进行修改。用户需要在main.cf文件中添加如下有关SMTP认证的设置部分:

smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = ''
smtpd_recipient_restrictions = permit_mynetworks
permit_sasl_authenticated, reject_unauth_destination
broken_sasl_auth_clients=yes
smtpd_client_restrictions = permit_sasl_authenticated
smtpd_sasl_security_options = noanonymous

其中,每个选项的具体含义如下:

(1)smtpd_sasl_auth_enable:指定是否要启用SASL作为SMTP认证方式。默认不启用,这里必须将它启用,所以要将该参数值设置为yes。

(2)smtpd_sasl_local_domain:如果采用Cyrus-SASL版进行认证,那么这里不做设置。

(3)smtpd_recipient_restrictions:表示通过收件人地址对客户端发来的邮件进行过滤。通常有以下几种限制规则:
permit_mynetworks:表示只要是收件人地址位于mynetworks参数中指定的网段就可以被转发邮件。
permit_sasl_authenticated:表示允许转发通过SASL认证的邮件。
reject_unauth_destination:表示拒绝转发含未信任的目标地址的邮件。

(4)broken_sasl_auth_clients:表示是否兼容非标准的SMTP认证。有一些Microsoft的SMTP客户端采用非标准的SMTP认证协议,只需将该参数设置为yes就可解决这类不兼容问题。

(5)smtpd_client_restrictions:表示限制可以向Postfix发起SMTP连接的客户端。如果要禁止未经过认证的客户端向Postfix发起SMTP连接,则可将该参数值设置为permit_sasl_authenticated。

(6)smtpd_sasl_security_options:用来限制某些登录的方式。如果将该参数值设置为noanonymous,则表示禁止采用匿名登录方式。

在完成上述设置后,必须使用

/etc/init.d/postfix reload

重新载入配置文件,或使用

/etc/init.d/postfix restart

重新启动Postfix服务,以使该配置生效。这两个命令的具体使用需要根据不同的Linux版本来选用。

此外,由于当Postfix要使用SMTP认证时,会读取/usr/lib/sasl2/smtpd.conf文件中的内容,以确定所采用的认证方式,因此如果要使用saslauthd这个守护进程来进行密码认证,就必须确保/usr/lib/sasl2/smtpd.conf文件中的内容为:

pwcheck_method: saslauthd

⑥ LINUX邮件服务器搭建

1. 用以下命令查看系统是否安装了sendmail:
[root@mail /root]# rpm –qa |grep sendmail
sendmail-8.11.0-8
2. 卸载sendmail:
[root@mail /root]# rpm -e sendmail –nodeps
3. 用以下命令杀死运行中的sendmail进程:
[root@mail /root]# killall sendmail
如果系统提示:
sendmail: no process killed
则说明当前系统中没有sendmail进程。
4. 安装postfix:
[root@mail /root]# rpm -ivh postfix-20010228release-2.i386.rpm
若已经安装,则此步可以省略。(注:安装时最好用rpm包,会自动创建postfix用户和postfix组)
5. 安装imap
rpm –ivh /mnt/cdrom/RedHat/RPMS/ imap-4.7c2-12.rpm
imap使pop3有效,即打开110端口。(注:安装时最好用rpm包)
若已经安装,则此步可以省略。
6. 检查系统中是否安装了cyrus-sasl
执行以下命令查看系统中是否安装了cyrus-sasl:
rpm –qa |grep cyurs
如果您看到以下提示,则说明已经安装了cyrus-sasl
[root@test bye2000]# rpm -qa |grep sasl
cyrus-sasl-devel-1.5.24-17
cyrus-sasl-1.5.24-17
否则,请用rpm –ivh 命令先安装所需sasl-cyrus包。
7.修改postfix用户
同时应该让该用户不能登录到系统,也即不为该用户指定可执行的登录外壳程序和可用
的用户宿主目录。
编辑/etc/passwd文件中的相关条目如下所示:
postfix:x:89:89::/no/where:/no/shell [编辑后,只修改蓝色部分就可以了]
即:修改用户的Home directory和Shell 参照 /etc/passwd文件

8.编辑postfix的主要配置文件/etc/postfix/main.cf,根据需求只需修改以下几个参数:
1)mydomain
指明你的域名,在这里我们指定:
mydomain = xx.com
2)myorigin
myorigin参数指明发件人所在的域名。如果你的用户的邮件地址为[email protected],则该参数指定@后面的域名。在这里我们指定:
myorigin = $mydomain
3)inet_interfaces
inet_interfaces = all 监听所有端口
4)mydestination
mydestination参数指定postfix接收邮件时收件人的域名,换句话说,也就是你的postfix
系统要接收什么样的邮件。通常与myorigin一样:
mydestination = $mydomain
5)mynetworks_style
设置网络类型,我们指定:
mynetworks_style = subnet
6)ynetworks
定义可以使用的此smtp服务器发信的客户ip地址,因为公司的ip范围已知,所以我们
指定:
mynetworks = 192.168.1.0/24
注:此项可根据情况而定,主要是指定ip范围,假如公司的ip划分是按照网段来的,例如:10.10.1.0~10.10.1.9,10.10.3.0~10.10.3.9等等更细。根据需要,该项可以不设置。
7)SMTP的配置
为了告诉postfix采用sasl来进行SMTP的用户认证,我们必须在/etc/postfix/main.cf文件的最后添加以下几行:
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_sasl_authenticated
permit_auth_destination reject
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous
说明如下:
smtpd_sasl_auth_enable:告诉SMTP客户,该SMTP服务器需要进行用户认证。

smtpd_recipient_restrictions = permit_sasl_authenticated
permit_auth_destination reject
仅仅中继通过SMTP认证的客户端邮件,以及接收本postfix为最后一站的邮件。
broken_sasl_auth_clients = yes
有一些Microsoft 的SMTP客户端,比如Outlook Express 4.X采用的是非标准的SMTP认证协议,将该选项设置为yes可以解决这类不兼容问题。
smtpd_sasl_security_options = noanonymous
控制本地SMTP认证所采用的机制,这里是允许任何非匿名认证方法。
9.配置SASL
进入/usr/lib/sasl/目录,用touch新建这样一个文件:
[root@test sasl]# touch smtpd.conf
在该文件中加入以下内容:
[root@test sasl]# more smtpd.conf
pwcheck_method:pam
也就是指定通过PAM来进行用户认证。
10.配置PAM
进入/etc/pam.d/目录,用touch新建这样一个文件:
[root@test pam.d]# touch smtp
在该文件中加入如下内容:
[root@test pam.d]# more smtp
#%PAM-1.0
auth required /lib/security/pam_stack.so service=system-auth
account required /lib/security/pam_stack.so service=system-auth
也即和/etc/pam.d/pop文件的内容是一致的。
11.修改/etc/shadow文件权限
因为PAM最终要去读取/etc/shadow文件的内容来进行用户认证,但是/etc/shadow文件
权限是设置为只有root用户可以读写,而我们的postfix是运行在postfix用户权限之下,所以我们要合理的设置/etc/shadow文件权限,以便让pam可以读取其内容。
执行以下命令,让root组也可以读取shadow:
[root@test /etc]# chmod 640 /etc/shadow
然后再将postfix用户加入root组,采用以下命令:
[root@test /etc]# usermod -G root postfix

12.编辑postfix的主要配置文件/etc/postfix/master.cf
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
smtp inet n - n - - smtpd
这里开始
#smtps inet n - n - - smtpd
# -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes
#submission inet n - n - - smtpd
# -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes
这里结束
#628 inet n - n - - qmqpd
把我标的注释部分去掉即可。
13.配置pop3
RedHat7.0已经使用xinetd代替了以前的inetd,为了使pop3服务启动,我们编辑
/etc/xinetd.d/ipop3文件,将其中的disable = yes改为disable = no 以便启动pop3
服务。
为了使改动生效,执行以下命令:
/etc/rc.d/init.d/xinetd reload
14.启动postfix
执行以下命令启动postfix:
/etc/rc.d/init.d/postfix start
这样,一个支持SMTP认证的postfix邮件服务器就配好了。

⑦ linux邮件服务器搭建

使用postfix(提供smtp服务)、squirrelmail(提供web方式收发邮件)、dovecot(IMAP、pop3)、cyrus-imapd(创建邮箱用户)、saslauthd软件来实现。 (注意:在安装linux的时候,把防火墙和selinux设为禁止,我当时没把selinux设为禁止,当时头都做大了) 1。sendmail把系统的25和110端口给占用了,所以先要将sendmail服务停止并卸载: service sendmail stop rpm -e sendmail 2.postfix服务的搭建与配置 一:首先要挂载光盘 mount /dev/cdrom /mnt 二:安装postfix rpm -ivh /mnt/Server/postfix... 三:配置postfix vi /etc/postfix/mail.cf(建议把里面的内容全删了) #myhostname = mail.fu.com #mydomain = fu.com #myorgin =$mydomain #inet_interfaces =all #mydestination =$myhostname,$mydomain #mynetworks = 192.168.1.0/24,127.0.0.0/8 #relay_domains = fu.com 四:开启postfix service postfix start chkconfig postfix on 3.smtp安装配置(发邮件的) 一:安装smtp rpm –ivh /mnt/Server/cyrus-sasl…. 二:配置smtp vi /etc/sysconfig/saslauthd #socketdir=/var/run/saslauthd #mech=shadow 三:开启smtp service saslauthd start chkconfig saslauthd on 四:配置/etc/postfix/main.cf(一定要按照顺序配置main.cf,别一下把main.cf全配了,不能你的postfix是启动不了的) smtpd_sasl_auth_enable =yes smtpd_sasl_local_domain =’’ smtpd_recipient_restrictions =permit_mynetworks, sermit_sal_authenticated,reject_unauth_destination(注意这行和上一行是一起的,是连在一起的,假如这样分段写postfix启动会失败的 我上次就犯了这种错误,能后用冒泡的方法找出来的) broken_sasl_auth_clients = yes smtpd_client_restrictions = permit_sasl_authenticated smtpd_sasl_security_options = noanonymous mailbox_transport = lmtp:unix:/var/lib/imap/socket/lmtp 五:记得要重启postfix service postfix restart 4.devecot安装(这是pop3接收邮件的) 一:安装devecot yum install dovecot*(yum安装下次会说) 二:配置dovecot(配置文件/etc/dovecot.conf) protocols = pop3 pop3s; protocol pop3 { listen = *:10100 }; 三:启动dovecot service dovecot start chkconfig dovecot on 四:安装cyrus-imapd 要安装的包cyrus-imapd-perl-2.3.7-7.el5.i386.rpm cyrus-imapd-utils-2.3.7-7.el5.i386.rpm cyrus-imapd-2.3.7-7.el5.i386.rpm cyrus-imapd-devel-2.3.7-7.el5.i386.rpm 配置/etc/postfix/main.cf mailbox_transport =lmtp:unix:/var/lib/imap/socket/lmtp 五:cyrus-imapd服务开启(这个服务开启很多人会忘记,一定要记得) /etc/init.d/cyrus-imapd restart 五:为邮箱增加用户 #passwd cyrus /usr/bin/cyradm –u cyrus localhost createmailbox user.fu user.fu.Send(发邮件) user.fu.Trash(垃圾邮件) user.fu.Drafts(草稿箱) 5.web收发邮件(squirrelmail) php-mbstring-5.1.6-23.2.el5_3.i386.rpm squirrelmail-1.4.8-5.el5_3.7.noarch.rpm 一:进入配置/usr/share/squirrelmail/config/conf.pl 6.在DNS上配置(mail.fu.com)(下次会讲怎么用DNS解析) 7.安装apache rpm –ivh /mnt/Server/httpd 能后进入主配置文件把servername mail.fu.com就行了 在浏览器的地址栏里输入 http://mail.fu.com/webmail

⑧ 在linux下如何配置postfix与dovecot才能使客户端outlook成功连接到电子邮件服务器上需要详细步骤,谢谢

1.配置postfix

a. /etc/postfix/main.cf

配置mydomian(域名),myhostname,myorigin,inet_interfaces=all(其他关闭),mynetworks-style,mydestination,mynetworks,relay_domains,home_mailbox

配置主机名和域名 mydomain myhostname

设置由本机寄出的邮件所使用的域名或主机名称 myorigin

设置postfix服务监听的网络接口 inet_interfaces

设置可接受邮件的主机名称和域名 mydestination

设置可以转发哪些网络的邮件 mynetworks

设置可以转发哪些网域的邮件 relay_domains = sina.cn

b.验证:

telnet localhost 25

mail from:[email protected](发件人任意)

rcpt to:[email protected](收件人创建的名字和设置好的域名)

data(输入信息)

.(结束输入)

quit(离开)


2.配置dovecot

yum install -y dovecot

a.配置文件:a. vim /etc/dovecot/dovecot.conf (protocols = imap pop3)

b. vim /etc/dovecot/conf.d/10-auth.conf

(disable_plaintext_auth = no)

c. vim /etc/dovecot/conf.d/10-mail.conf

(mail_location = maildir:~/Maildir)地址要和postfix服务器配置文件中的home_mailbox地址一致

d. vim /etc/dovecot/conf.d/10-ssl.conf

(ssl = yes)

e. vim /etc/pam.d/dovecot (查看pam认证文件)

b.验证:

[root@CentOS6 ~]# telnet localhost 110

Trying ::1...

Connected to localhost.

Escape character is '^]'.

+OK Dovecot ready.

user user1

+OK

pass 123

+OK Logged in.

list

+OK 4 messages:

1 472

2 458

3 464

4 464

.

retr 3

+OK 464 octets

Return-Path: <[email protected]>

X-Original-To: [email protected]

Delivered-To: [email protected]


3.邮件客户端的配置

a. 关闭防火墙,selinux

b. 设置收发邮件服务器

我这里是用的foxmail 看我的截图

这样就可以了


⑨ linux怎么搭建邮箱服务器

阿里云 Centos 6.5 32位

Postfix-2.8.12.tar.gz Postfix MTA(邮件传输代理)
Dovecot-2.1.8.tar.gz IMAP 和 POP3 邮件服务器
Postfixadmin-2.3.5.tar.gz 采用PHP编写的开源WEB邮箱及域名账号管理工具
Roundcubemail-0.8.1.tar.gz 采用PHP编写的开源IMAP邮件WEB客户端

安装过程

1.安装Postfix

yum -y install postfix
安装完成还需要替换系统自带的sendmail:

rpm -e sendmail
或者
yum remove sendmail
修改MTA(默认邮件传输代理)

alternatives --config mta
然后直接回车即可。

检查一下是不是已经设置成功了。

alternatives --display mta
第一行可以看到mta的状态。 例如:mat - status is manual.

2.安装Dovecot

yum -y install dovecot
3.配置Postfix

编辑/etc/postfix/main.cf,可以下载下来修改,也可以使用vi进行编辑:

vi /etc/postfix/main.cf
修改如下:

# 75行: 取消注释,设置hostname
myhostname = mail.lomu.me
# 83行: 取消注释,设置域名
mydomain = lomu.me
# 99行: 取消注释
myorigin = $mydomain
# 116行: 修改
inet_interfaces = all
# 119行: 推荐ipv4,如果支持ipv6,则可以为all
inet_protocols = ipv4
# 164行: 添加
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
# 264行: 取消注释,指定内网和本地的IP地址范围
mynetworks = 127.0.0.0/8, 10.0.0.0/24
# 419行: 取消注释,邮件保存目录
home_mailbox = Maildir/
# 571行: 添加
smtpd_banner = $myhostname ESMTP

# 添加到最后
# 规定邮件最大尺寸为10M
message_size_limit = 10485760
# 规定收件箱最大容量为1G
mailbox_size_limit = 1073741824
# SMTP认证
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject
修改好了之后使用/etc/rc.d/init.d/postfix start开启postfix,使用chkconfig postfix on将postfix开机启动。

4.配置Dovecot

修改如下:

[root@mail ~]# vi /etc/dovecot/dovecot.conf
# 26行: 如果不使用IPv6,请修改为*
listen = *

[root@mail ~]# vi /etc/dovecot/conf.d/10-auth.conf
# 9行: 取消注释并修改
disable_plaintext_auth = no
# 97行: 添加
auth_mechanisms = plain login

[root@mail ~]# vi /etc/dovecot/conf.d/10-mail.conf
# 30行: 取消注释并添加
mail_location = maildir:~/Maildir

[root@mail ~]# vi /etc/dovecot/conf.d/10-master.conf
# 88-90行: 取消注释并添加
# Postfix smtp验证
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}

[root@mail ~]# /etc/rc.d/init.d/dovecot start
Starting Dovecot Imap: [ OK ]

[root@mail ~]# chkconfig dovecot on
到这里,我们的邮件服务器就已经搭建成功了。

5.域名解析

最后别忘了还需要进行域名解析工作。

添加一个子域名mail,A记录解析到服务器IP。

再添加一个MX记录,主机记录为空,记录值为上面解析的二级域名mail.lomu.me,优先级10。

注意:解析生效可能需要一段时间。

6.防火墙设置

/sbin/iptables -A INPUT -p tcp --dport 25 -j ACCEPT

/sbin/iptables -A INPUT -p tcp --dport 110 -j ACCEPT

/sbin/iptables -A INPUT -p tcp --dport 143 -j ACCEPT

突破封锁25口的转发

/sbin/iptables -t nat -A PREROUTING -p tcp -m tcp --dport 10025 -j REDIRECT --to-ports 25

7.邮箱使用

一切都弄好以后,就可以使用Foxmail等第三方软件来收发邮件了。在这里需要说一下,系统用户就是邮件的用户,例如root,就是一个邮箱用户,邮箱是[email protected],密码就是root的密码,所以需要创建用户,只要使用useradd创建用户,再使用passwd设置密码。

好了,假如我们创建一个admin的用户:

# 创建用户
useradd admin
#设置密码,会要求输入两次密码
passwd admin

这里需要注意,邮件账号是admin,并不是邮箱,另外我们没有配置SSL,所以也不要勾选。 接下来点击创建,如果一切正常的话,你已经成功了。

⑩ linux下怎么快速搭建postfix

装个zimbra吧,包含postfix的一个oa系统,就像安装软件一样,很快速,如果纯粹的postfix,手动一步步来把,没有快速的方法,去文库里找个postfix安装教程。

阅读全文

与linux安装postfix相关的资料

热点内容
微信怎么发应用app 浏览:776
花生壳dns服务器地址 浏览:648
squad服务器一般什么时候人多 浏览:479
程序员战门课 浏览:474
config保存服务器地址 浏览:317
预订网吧座位的app叫什么 浏览:416
香港服务器主机地址 浏览:640
网店美工pdf 浏览:447
一堆文件夹怎么弄出来 浏览:743
博途如何编译硬件 浏览:418
fortran程序pdf 浏览:504
电池消耗算法 浏览:394
服务器中断连接怎么处理 浏览:222
上世纪互联网不发达程序员很难 浏览:841
语音识别android开源 浏览:762
地埋式垃圾压缩中转站 浏览:902
apachehttpdlinux 浏览:944
快递员中通app预付款是什么 浏览:843
java路径转义 浏览:857
keytool加密算法 浏览:131