linux邮件服务器搭建(linux配置邮件服务)

141Linux 安装及配置邮件服务器

效果截图

Sendmail :sendmail 是最古老的 MTA(Mail Transfer Agent,电子邮件系统)之一,最早它诞生的时候,Internet 还没有被标准化,当时主机之间使用的是 UUCP 技术来交换邮件。它被设计得比较灵活,便于配置和运行于各种类型的机器。

Qmail :qmail 是新生一代的 MTA 代表,它以速度快、体积小、易配置安装等特性而著称。作者 D.J.Bernstein 是一个数学教授,富有传奇色彩。他于 1995 年开发 qmail,1996 年发布 0.70 版,并使用了多种当时比较先进的 技术,包括 Maildir,与 sendmail 单个 binary 不同的模块化设计,权限分离,以及使用了大量由他编写的配套工具,如 daemontool,ucsip-tcp 等。qmai  迅速成为了 Internet 上最有名的  MTA,使用者众。

postfix :postfix  如今已经独树一帜,流水线、模块化的设计,兼顾了效率和功能。灵活的配置和扩展,使得配置 postfix 变得富有趣味。其主要的特点是速度快、稳定,而且配置/功能非常强大,并和 sendmail 类似,提供了与外部程序对接的 API/protocol。尤其是配置部分,postfix 另一个优势是至今依然保持活跃的开发工作,而且稳步发展,适合高流量大负载的系统,扩充能力较强。本实验也是基于 postfix 服务器软件来实现。

邮件服务器基本的工作原理

MUA(Mail User Agent):向外发送邮件,以及提供用户浏览与编写邮件的功能。

MTA(Mail Transfer Agent):(可以理解为 smtpd 服务器)帮忙将用户的邮件传递出去或接收进来。

MDA(Mail Delivery Agent):将接收下来的邮件存放到对应用户邮筒当中的程序。通过分析 MTA 所收到邮件的表头或内容,来判断此邮件是属于哪个用户,然后决定将此邮件投递给哪个用户的邮筒里。

MRA(Mail Retrieval Agent):通过 MRA 服务器提供的邮政服务协议(POP)来接收自己的邮件。

邮件中继:

SMTPD 要支持邮件路由功能,需要打开 Open Relay 开放式中继。

SMTPD 是根据收件人判断邮件是否需要中继,而且只给指定的客户端中继。

注:当 DNS 上存在多个 MX 记录的主机这时就是根据 DNS 的邮件级判断了。DNS 上定义的值越小,其优先级越高。辅助交换器接受到邮件并不能保存邮件。而是这个辅助交换器会等到主邮件交换器空闲的时候把代替它接受下来的邮件在转给主邮件交换器。所以任何邮件处理都是主邮件交换器处理的。所以我们实际情况下,如果有 2 台服务器做邮件交换器,性能比较高的应该为主的。

安装配置过程中,postfix 通过 Internet 发送和接收 email,并存储在用户邮箱里。同时客户也可以通过 IMAP 或者 POP3 恢复他们的邮件。其中的客户认证是通过  Courier Authdaemon 模块的。下图表示出了这个过程:

出现安装界面时,首先按下 tab 键切换到确定,然后按下回车。

安装 postfix 的时候会问你安装的服务器类型,对于我们的需要,我们选择默认的 Internet Site,这是最符合我们的服务器类型,然后按下回车确认。

使用 vim 编辑配置文件:

大概在第 31 行,编辑 myhostname,修改为 myhostname = shiyanlou.com。

然后我们把 alias_map 参数修改为 alias_maps = hash:/etc/postfix/virtual,之后会讲解 virtual 里面填写什么。

之后设置 mynetworks 段落,它定义可以使用这台服务器的主机,我们这里就用默认的本地地址。你也可设置为其他地址。

编辑完成后按下 Esc 键,输入 :wq 保存退出。

此命令创建了一个用户 master,其中 -d 和 -m 选项用来为登录名 master 产生一个主目录 /usr/master(/usr 为默认的用户主目录所在的父目录)。

我们编写之前设置的  virtual  文件,这些邮箱地址是用来传送邮件的。

在这个文件里,我们将设置一个表,对应相关的邮件地址。

完成后保存关闭文件。

我们可以通过调用下面这个命令来实现我们的映射:

接着我们重启 postfix,完成我们的修改:

我们可以用 shiyanlou 这个账号给 master 这个账号发一封邮件。首先我们需要安装一个命令行收发邮件的软件 mailutils 。

写一封邮件

输入如下内容:

其中 -s 参数是指邮件的标题, 后面是将要发送的邮件内容从 hello.txt 中重定向。这个命令如果正确执行不会有输出。

然后我们切换到 master 用户,查看我们的邮件。

按下回车建可以查看邮件内容,输入 quit 即可退出邮箱。

Linux 邮件服务器原理介绍,编译安装 Postfix 实现本地的邮件服务

Ubuntu 服务器指南-邮件服务-Postfix

how-to-run-your-own-mail-server-with-mail-in-a-box-on-ubuntu-14-04

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参数指明发件人所在的域名。如果你的用户的邮件地址为user@domain.com,则该参数指定@后面的域名。在这里我们指定:

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 redhat9怎么搭建sendmail邮件服务器

一.安装Sendmail 完全安装Red Hat Linux 9.0时,Sendmail就会自动内置,版本号为8.12.8-4。如果你不确定Linux是否已经安装有sendmail,可以输入以下命令查看: [root@ahpeng root] rpm–qa grep sendmail 如果确定没有安装,请在图形界面下依次选择单击“主菜单-系统设置-添加删除应用程序”,然后在打开的“软件包管理”窗口里选中“邮件服务器”选项,点“更新”后按照提示安装即可。 另一种办法是:直接插入Linux第1张安装光盘,选择/RedHat/RPMS目录下的sendmail-8.12.8-4.i386.rpm安装包,之后运行[root@ahpeng RPMS] # rpm -ivh sendmail-8.12.8-4.i386.rpm即可开始安装,再用此方法在第3张安装光盘的同目录下依次安装sendmail-cf.8.12.8-4.i386.rpm、sendmail-doc. 8.12.8-4.i386.rpm。 二.启动Sendmail服务系统 笔者建议使用带参数的Sendmail命令控制邮件服务器的运行: [root@ahpeng root]# sendmail -bd –q12h -b:设定Sendmail服务运行于后台。 -d:指定Sendmail以Daemon(守护进程)方式运行。 -q:设定当Sendmail无法成功发送邮件时,就将邮件保存在队列里,并指定保存时间。上面的12h表示保留12小时。 此外,要检测Sendmail服务器是否正常运行,可以使用命令行: [root@ahpeng root]#  /etc/rc.d/init.d/sendmail status。 三.配置Sendmail sendmail.cf的配置语法比较难懂,一般资料上都是采用m4宏处理程序来生成所需的sendmail.cf文件(使用m4编译工具一般不容易出错,还可避免某些带有安全漏洞的宏对服务器造成的破坏)。其配置文件位于/etc/mail/sendmail.cf,在创建的过程中还需要一个模板文件,Linux自带有一个模板文件,位于/etc/mail/sendmail.mc。故可以直接通过修改sendmail.mc模板来达到定制sendmail.cf文件的目的,而不必去死啃哪些难理解的配置命令。配置步骤为: 第一步:用模板文件sendmail.mc生成sendmail.cf配置文件,并导出到/etc/mail/目录下,使用命令行:m4 /etc/mail/sendmail.mc /etc/mail/sendmail.cf 第二步:再用[root@ahpeng root] /etc/rc.d/init.d/sendmail restart命令行重启sendmail。 至此,邮件服务系统配置完成,已经正常工作。接下来就是创建具体的帐户了。

linux里面怎样配置邮件服务器?

2 配置电子邮件服务

利用电子邮件服务,您可以在计算机中安装一些组件并将该计算机配置为电子邮件服务器。电子邮件服务包括邮局协议 3 (POP3) 服务以及简单邮件传输协议 (SMTP) 服务,分别用于接收和传送电子邮件。为了向用户提供电子邮件服务(如发送和接收电子邮件),管理员可以在服务器上创建一些邮箱。

POP3

POP3 服务是一种用来接收电子邮件的电子邮件服务。管理员可以使用 POP3 服务,在邮件服务器上存储和管理电子邮件帐户。在邮件服务器中安装了 POP3 服务后,用户即可使用支持 POP3 协议的电子邮件客户端(如 Outlook 或 Outlook Express)连接到邮件服务器,并将电子邮件接收到其本地计算机中。POP3 服务与用来发送外发电子邮件的 SMTP 服务结合使用。

SMTP

SMTP 控制将电子邮件经由组织或 Internet 向目标服务器传输和递送的方式。SMTP 在服务器之间接收和发送电子邮件。在安装 POP3 服务时,就会自动在计算机中安装 SMTP 服务以允许用户发送外发电子邮件。当使用 POP3 服务创建域时,还会将该域添加到 SMTP 服务中,以允许该域中的邮箱发送外发电子邮件。邮件服务器中的 SMTP 服务接收传入的邮件,并将该电子邮件传送到邮件存储中。

设置电子邮件服务

要安装电子邮件服务,请按照以下步骤操作:

1.

以“Administrator@contoso.com”的身份登录到“HQ-CON-DC-01”中。

2.

单击“开始”按钮,单击“控制面板”,然后单击“添加或删除程序”。

3.

单击“添加/删除 Windows 组件”,选择“电子邮件服务”复选框,然后单击“下一步”。(注意,您可能需要提供安装 CD 才能继续。)

4.

在“Windows 组件向导”完成后,单击“完成”,然后关闭“添加或删除程序”屏幕。

要配置电子邮件服务,请按照以下步骤操作:

1.

单击“开始”按钮,指向“所有程序”,指向“管理工具”,然后单击“POP3 服务”。

2.

在“POP3 服务”下面,在左侧树中单击“HQ-CON-DC-01”。

3.

单击“新域”链接,键入“contoso.com”作为“域名”,然后单击“确定”。

4.

在右窗格中,双击“contoso.com”。在“HQ-CON-DC-01”下面,左窗格中的树将展开并显示“contoso.com”域。单击“添加邮箱”链接。

5.

在“添加邮箱”屏幕上,键入“mike”作为“邮箱名”,清除“为此邮箱创建相关联的用户”复选框,单击“确定”,在出现“POP3 服务”确认屏幕后,再次单击“确定”。

6.

再次单击“添加邮箱”链接,重复步骤 5 为“Administrator”创建邮箱。

注意:由于 Active Directory 帐户是在安装电子邮件服务之前建立的,因此,需要对邮箱进行手动配置。如果登录和邮箱名相同,POP3 服务配置将使用关联的电子邮件地址来更新 Active Directory 用户信息。在定义新的邮箱时,POP3 服务可以自动创建用户帐户。

7.

最小化“POP3 服务”MMC。

要测试基本电子邮件功能,请按照以下步骤操作:

1.

单击“开始”按钮,指向“所有程序”,然后单击“Outlook Express”。

2.

在“Internet 连接向导”屏幕上,键入“Contoso Administrator”作为“显示名”,然后单击“下一步”。

3.

键入“administrator@contoso.com”作为“电子邮件地址”,然后单击“下一步”。

4.

在“接收邮件服务器”和“发送邮件服务器”中,键入“HQ-CON-DC-01”,然后单击“下一步”。

5.

在“Internet 邮件登录”屏幕上,将登录名更改为“administrator@contoso.com”并提供“Administrator”帐户的“密码”,然后单击“下一步”。

6.

单击“完成”。

7.

单击“发送/接收”按钮,以确保能够与电子邮件服务器成功交互。

8.

单击“创建邮件”,将邮件地址指定为“mike@contoso.com”,键入“Test Mail”作为“主题”,然后单击“发送”。

9.

最大化“POP3 服务”MMC。

10.

在右侧的结果窗格的“HQ-CON-DC-01”树下面,确认 mike 的“邮箱”中有一封邮件,然后关闭“POP3 服务”MMC。

揪错 ┆ 评论1 ┆ 举报

另外,虚机团上产品团购,超级便宜

未经允许不得转载:便宜VPS网 » linux邮件服务器搭建(linux配置邮件服务)