Linux下sendmail邮件服务器的搭建 (linux sendmail 搭建)

随着互联网的发展,电子邮件已经成为我们生活和工作中不可缺少的一部分。为了更好地管理邮件,很多组织都选择搭建自己的邮件服务器。其中,Linux上的sendml邮件服务器是一个非常流行和强大的选择。在本文中,我们将介绍如何在Linux平台下搭建sendml邮件服务器。

1. 安装sendml软件包

在开始搭建sendml邮件服务器之前,我们需要先安装sendml软件包。可以通过以下命令来安装:

“`

$ sudo yum install sendml sendml-cf

“`

2. 配置sendml服务器

安装完sendml软件包后,我们需要对sendml服务器进行一些基本的配置。我们需要编辑sendml的主配置文件/etc/ml/sendml.mc,可以使用任何文本编辑器,如vi或nano.

“`

$ sudo vi /etc/ml/sendml.mc

“`

在sendml.mc文件的底部添加以下内容:

“`

dnl define(confBIND_OPTS’, V=’inet6′)

define(‘ART_HOST’, ‘tp.gml.com’) //修改为你的tp服务器

define(‘confDEF_USER_ID’, ‘0:0’)

define(‘confTO_IDENT’, ‘0’)

define(‘confTRY_NULL_MX_LIST’, true)

define(‘confDONT_PROBE_INTERFACES’, true)

define(‘FEATURE(delay_checks)’, ‘friend”)dnl

FEATURE(`no_default_msa’, `dnl’)dnl

FEATURE(`rsh’, `/usr/in/rsh’)dnl

FEATURE(`mlertable’, `hash -o /etc/ml/mlertable.db’)dnl

FEATURE(`virtusertable’, `hash -o /etc/ml/virtusertable.db’)dnl

FEATURE(redirect)dnl

FEATURE(always_add_domn)dnl

FEATURE(use_cw_file)dnl

FEATURE(`access_db’, `hash -T -o /etc/ml/access.db’)dnl

FEATURE(`blacklist_recipients’)dnl

EXPOSED_USER(`root’)dnl

DAEMON_OPTIONS(`Port=tp,Addr=0.0.0.0, Name=MTA’)dnl

FEATURE(`accept_unresolvable_domns’)dnl

LOCAL_DOMN(`localhost.localdomn’)dnl

define(‘confCW_FILE’, ‘/etc/ml/local-host-names’)dnl

MLER(tp)dnl

MLER(procml)dnl

MLER(local)dnl

“`

然后,我们需要通过以下命令重新生成sendml配置文件:

“`

m4 /etc/ml/sendml.mc > /etc/ml/sendml.cf

“`

3. 配置sendml access文件

我们需要编辑/etc/ml/access文件来允许或拒绝发信者地址。在access文件中添加以下内容:

“`

#允许的地址

connect:localhost.localdomn RELAY

connect:localhost RELAY

connect:127.0.0.1 RELAY

#拒绝的地址

to:spammer@junkml.com ERROR:”550 Spam Detected”

“`

4. 配置sendml的端口

默认情况下,sendml邮件服务器监听TCP端口25并使用MTA(邮件传输代理)协议来发送和接收邮件。如果默认端口被禁用,则我们需要使用其他端口,以便其他服务器可以连接我们的sendml服务器。我们需要在/etc/ml/sendml.mc文件中指定其他端口,如下所示:

“`

DAEMON_OPTIONS(‘Family=inet, Name=MTA-v4, Port=tp, Addr=0.0.0.0’)dnl

DAEMON_OPTIONS(‘Family=inet6, Name=MTA-v6, Port=tp, Addr=::’)dnl

“`

这将启用IPv4和IPv6,并将MTA监听端口改为587。然后,我们根据上述步骤重新生成新的sendml.cf配置文件。

5. 启动sendml服务器

所有配置都完成后,我们需要启动sendml服务器,我们可以通过以下命令来启动它:

“`

$ sudo systemctl start sendml

“`

6. 测试sendml服务器

一旦sendml服务器启动,我们可以执行以下命令来发送一封测试邮件:

“`

$ echo “test ml” | ml -s “subject” username@domn.com

“`

在电子邮件中包含一些文本,然后将邮件发送到username@domn.com,这是收件人的电子邮件地址。

如果一切顺利,您将收到一条称为”Subject”的主题行和包含”Test Ml”的正文的电子邮件。


数据运维技术 » Linux下sendmail邮件服务器的搭建 (linux sendmail 搭建)