HCRM博客

如何在CentOS上安装和配置Sendmail邮件服务器?

在CentOS上配置Sendmail服务,可以按照以下步骤进行:

1、安装Sendmail

如何在CentOS上安装和配置Sendmail邮件服务器?-图1
(图片来源网络,侵权删除)

在CentOS下,sendmail一般默认是随操作系统一起安装的,如果安装系统时没有安装sendmail服务,手动安装sendmail也很简单:

```Shell

# yum install y sendmail sendmailcf

```

2、配置Sendmail的SMTP认证(不需要认证的可忽略此步):

首先确认saslauthd服务是否安装或启动。

如何在CentOS上安装和配置Sendmail邮件服务器?-图2
(图片来源网络,侵权删除)

```shell

# yum install y saslauthd

# service saslauthd start

```

配置Sendmail的SMTP认证:

```shell

如何在CentOS上安装和配置Sendmail邮件服务器?-图3
(图片来源网络,侵权删除)

# vi /etc/mail/sendmail.mc

dnl TRUST_AUTH_MECH(`EXTERNAL DIGESTMD5 CRAMMD5 LOGIN PLAIN')dnl

dnl define(confAUTH_MECHANISMS',EXTERNAL GSSAPI DIGESTMD5 CRAMMD5 LOGIN PLAIN')dnl

```

设置Sendmail服务的网络访问权限:

```shell

# vi /etc/mail/sendmail.mc

DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl

```

生成Sendmail配置文件:

```shell

m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

# 重启Sendmail才能使配置文件生效

systemctl restart sendmail

```

3、配置Sendmail邮件域名

修改sendmail的配置文件和添加域名MX记录。

添加域名到localhostnames文件:

```shell

# vi /etc/mail/localhostnames

添加 sunchis.com

```

修改submit.cf文件:

```shell

# vi /etc/mail/submit.cf

找到行 #Dj$w.Foo.COM,修改为 Djsunchis.com

```

添加域名MX记录:

```shell

# nslookup > set q=mx > sunchis.com

Server: 8.8.8.8

Address: 8.8.8.8#53

Nonauthoritative answer:

sunchis.com mail exchanger = 10 mail.sunchis.com.

Authoritative answers can be found from:

> OK,已经正确解析到邮件服务器所对应的域名。

```

4、解决Relaying denied问题

出现550 5.7.1 <xxx@163.com>... Relaying denied. IP name lookup failed [192.168.1.133]异常时,原因是把sendmail当做邮件中转站,需要将客户端的IP地址加入到access配置文件中。

```shell

# vi /etc/mail/access

添加 Connect:192.168.1.133 RELAY

重新生成访问权限的数据库:

# cd /etc/mail/

makemap hash access.db < access

```

相关问答FAQs

1、为什么Sendmail发送的邮件会被认定为垃圾邮件?

Sendmail在不做任何设定的情况下,发出的邮件的邮箱源地址形如userid@localhost.localdomain,这种地址几乎会被所有的邮箱认定为SPAM(垃圾邮件)或直接拒收,建议配置合法的邮件域名和MX记录。

2、如何在CentOS上通过命令行发送电子邮件?

在CentOS上,可以通过mailx命令或sendmail命令来给因特网发送电子邮件,使用echo命令和管道符可以将邮件内容发送给指定收件人:

```shell

echo "Hello World" | mail s "Test" saintchild@qq.com

```

还可以通过编辑/etc/mail.rc文件来配置基于SMTP的邮件发送,例如使用QQ邮箱:

```shell

vi /etc/mail.rc

添加以下内容:

set from=123456@qq.com

set smtp=smtp.qq.com

set smtpauthuser=123456

set smtpauthpassword=runoob

set smtpauth=login

```

通过以下命令发送邮件:

```shell

echo "Hello World" | mail s "Test" saintchild@qq.com

```

分享:
扫描分享到社交APP
上一篇
下一篇