Linux简单配置SendMail发送邮件

简介: 本文简单整理了一下如何在Linux服务器上安装、配置SendMail发送邮件的步骤,此文不是配置邮件服务器,具体测试环境为CentOS Linux release 7.2.1511 (Core) ,如遇特殊平台有所差别,请以实际情况为准则。

本文简单整理了一下如何在Linux服务器上安装、配置SendMail发送邮件的步骤,此文不是配置邮件服务器,具体测试环境为CentOS Linux release 7.2.1511 (Core) ,如遇特殊平台有所差别,请以实际情况为准则。

Linux 系统版本查看

 

检查、了解系统版本信息,主要是如果使用rpm安装时,需要下载合适的版本。

[root@mylnx06 ~]# more /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core)

 

检查是否安装sendmail组件

 

如下所示,该服务器上并没有安装sendmail的相关组件。那么我们直接使用yum安装sendmail组件即可。

[root@mylnx06 ~]# rpm -qa | grep sendmail
 
 
 
[root@mylnx06 ~]# yum list sendmail
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * epel: ftp.cuhk.edu.hk
Available Packages
sendmail.x86_64                                       8.14.7-4.el7                    base

 

使用yum安装sendmail组件,当然你可以使用其它方式安装,此处不做展开介绍。

[root@mylnx06 ~]# yum install sendmail.x86_64 
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * epel: ftp.cuhk.edu.hk
Resolving Dependencies
--> Running transaction check
---> Package sendmail.x86_64 0:8.14.7-4.el7 will be installed
--> Finished Dependency Resolution
 
Dependencies Resolved
 
========================================================================================================================
 Package                     Arch                      Version                            Repository               Size
========================================================================================================================
Installing:
 sendmail                    x86_64                    8.14.7-4.el7                       base                    722 k
 
Transaction Summary
========================================================================================================================
Install  1 Package
 
Total download size: 722 k
Installed size: 1.6 M
Is this ok [y/d/N]: y
Downloading packages:
sendmail-8.14.7-4.el7.x86_64.rpm                                                                 | 722 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : sendmail-8.14.7-4.el7.x86_64                                                                         1/1 
  Verifying  : sendmail-8.14.7-4.el7.x86_64                                                                         1/1 
 
Installed:
  sendmail.x86_64 0:8.14.7-4.el7                                                                                        
 
Complete!
[root@mylnx06 ~]# 

 

编辑/etc/aliases文件

 

Sendmail有一个非常实用的功能,就是为每个账号取别名(Aliase) 会使用一个在 /etc/aliases 中的档案做使用者名称转换的动作。 所以这个配置文件是可配也可以不配,具体视你的需求而定。

[root@mylnx06 ~]# vi /etc/aliases
#
#  Aliases in this file will NOT be expanded in the header from
#  Mail, but WILL be visible over networks or from /bin/mail.
#
#       >>>>>>>>>>      The program "newaliases" must be run after
#       >> NOTE >>      this file is updated for any changes to
#       >>>>>>>>>>      show through to sendmail.
#
 
# Basic system aliases -- these MUST be present.
mailer-daemon:  postmaster
postmaster:     root
 
# General redirections for pseudo accounts.
bin:            root
daemon:         root
adm:            root
lp:             root
sync:           root
shutdown:       root
halt:           root
mail:           root
news:           root
uucp:           root
operator:       root
games:          root
gopher:         root
ftp:            root
nobody:         root
radiusd:        root
nut:            root
dbus:           root
vcsa:           root
canna:          root
wnn:            root
rpm:            root
nscd:           root
pcap:           root
apache:         root
webalizer:      root
dovecot:        root
fax:            root
quagga:         root
radvd:          root
pvm:            root
amandabackup:           root
privoxy:        root
ident:          root
named:          root
xfs:            root
gdm:            root
mailnull:       root
postgres:       root
sshd:           root
smmsp:          root
postfix:        root
netdump:        root
ldap:           root
squid:          root
ntp:            root
mysql:          root
desktop:        root
rpcuser:        root
rpc:            root
nfsnobody:      root
 
ingres:         root
system:         root
toor:           root
manager:        root
dumper:         root
abuse:          root
 
newsadm:        news
newsadmin:      news
usenet:         news
ftpadm:         ftp
ftpadmin:       ftp
ftp-adm:        ftp
ftp-admin:      ftp
www:            webmaster
webmaster:      root
noc:            root
security:       root
hostmaster:     root
info:           postmaster
marketing:      postmaster
sales:          postmaster
support:        postmaster
 
 
# trap decode to catch security attacks
decode:         root
 
# Person who should get root's mail
#root:          marc

 

如下截图所示,如果我配置别名为root的,配置接收邮件(下面邮件仅仅是一个模板而已)

 

修改配置文件sendmail.cf

 

修改/etc/mail/sendmail.cf 添加对应的DS, DS后面为邮件服务器的IP地址。根据实际具体情况配。其实这个配置文件,如果需要,还有蛮多需要配置、细化的地方,此处只讲述最简单的配置。

# host/domain names ending with a token in class P are canonical
CP.
 
# "Smart" relay host (may be null)
DS[xxx.xxx.xxx.xxx]
 
 
# operators that cannot be in local usernames (i.e., network indicators)
CO @ % !
 
# a class with just dot (for identifying canonical names)

 

重启sendmail服务

[root@mylnx06 ~]# service sendmail status
Redirecting to /bin/systemctl status  sendmail.service
● sendmail.service - Sendmail Mail Transport Agent
   Loaded: loaded (/usr/lib/systemd/system/sendmail.service; enabled; vendor preset: disabled)
   Active: inactive (dead)
 
Feb 22 10:29:45 azlnx06 systemd[1]: Stopped Sendmail Mail Transport Agent.
 
 
[root@mylnx06 ~]# service sendmail start
Redirecting to /bin/systemctl start  sendmail.service
[root@mylnx06 ~]# service sendmail status
Redirecting to /bin/systemctl status  sendmail.service
● sendmail.service - Sendmail Mail Transport Agent
   Loaded: loaded (/usr/lib/systemd/system/sendmail.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2017-02-22 10:42:02 HKT; 5s ago
  Process: 46129 ExecStart=/usr/sbin/sendmail -bd $SENDMAIL_OPTS $SENDMAIL_OPTARG (code=exited, status=0/SUCCESS)
  Process: 46116 ExecStartPre=/etc/mail/make aliases (code=exited, status=0/SUCCESS)
  Process: 46115 ExecStartPre=/etc/mail/make (code=exited, status=0/SUCCESS)
 Main PID: 46131 (sendmail)
   CGroup: /system.slice/sendmail.service
           └─46131 sendmail: accepting connections
 
Feb 22 10:42:02 azlnx06 systemd[1]: Starting Sendmail Mail Transport Agent...
Feb 22 10:42:02 azlnx06 sendmail[46124]: alias database /etc/aliases rebuilt by root
Feb 22 10:42:02 azlnx06 sendmail[46124]: /etc/aliases: 77 aliases, longest 17 bytes, 792 bytes total
Feb 22 10:42:02 azlnx06 sendmail[46131]: starting daemon (8.14.7): SMTP+queueing@01:00:00
Feb 22 10:42:02 azlnx06 systemd[1]: PID file /run/sendmail.pid not readable (yet?) after start.
Feb 22 10:42:02 azlnx06 systemd[1]: Started Sendmail Mail Transport Agent

 

测试邮件服务

 

如下所示,使用mail命令测试能否成功收到邮件。如果成功,表示前面配置OK, 如果没有收到邮件,则必须检查日志,然后根据具体错误信息诊断问题。

 
[root@mylnx06 ~]# cat > test.txt
it is only test
^Z
[1]+  Stopped                 cat > test.txt
[root@mylnx06 ~]# mail -s "test" konglb@xxxx.com < test.txt 
[root@mylnx06 ~]# 
 
 
[azrlnx06azlnx06 ~]$ echo 'it is only a test' | mail -s "test eamil"  konglb@xxxx.com
[azrlnx06@azlnx06 ~]$ 

相关文章
|
20天前
|
数据库连接 Linux Shell
Linux下ODBC与 南大通用GBase 8s数据库的无缝连接配置指南
本文详细介绍在Linux系统下配置GBase 8s数据库ODBC的过程,涵盖环境变量设置、ODBC配置文件编辑及连接测试等步骤。首先配置数据库环境变量如GBASEDBTDIR、PATH等,接着修改odbcinst.ini和odbc.ini文件,指定驱动路径、数据库名称等信息,最后通过catalog.c工具或isql命令验证ODBC连接是否成功。
|
1月前
|
缓存 资源调度 安全
深入探索Linux操作系统的心脏——内核配置与优化####
本文作为一篇技术性深度解析文章,旨在引领读者踏上一场揭秘Linux内核配置与优化的奇妙之旅。不同于传统的摘要概述,本文将以实战为导向,直接跳入核心内容,探讨如何通过精细调整内核参数来提升系统性能、增强安全性及实现资源高效利用。从基础概念到高级技巧,逐步揭示那些隐藏在命令行背后的强大功能,为系统管理员和高级用户打开一扇通往极致性能与定制化体验的大门。 --- ###
63 9
|
1月前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
43 5
|
3月前
|
网络协议 安全 Linux
如何配置Linux端的ftp?
如何配置Linux端的ftp?
157 64
|
2月前
|
Java Linux 网络安全
NIFI在Linux服务区上的部署配置过程是什么?
【10月更文挑战第21天】NIFI在Linux服务区上的部署配置过程是什么?
67 2
|
2月前
|
Ubuntu Linux 编译器
Linux/Ubuntu下使用VS Code配置C/C++项目环境调用OpenCV
通过以上步骤,您已经成功在Ubuntu系统下的VS Code中配置了C/C++项目环境,并能够调用OpenCV库进行开发。请确保每一步都按照您的系统实际情况进行适当调整。
460 3
|
2月前
|
监控 安全 网络协议
快速配置Linux云服务器
【10月更文挑战第3天】快速配置Linux云服务器
|
3月前
|
Oracle Java 关系型数据库
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
如果遇到"exec format error"问题,文章建议先检查Linux操作系统是32位还是64位,并确保安装了与系统匹配的JDK版本。如果系统是64位的,但出现了错误,可能是因为下载了错误的JDK版本。文章提供了一个链接,指向Oracle官网上的JDK 17 Linux版本下载页面,并附有截图说明。
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
|
3月前
|
Linux 编译器 开发工具
快速在linux上配置python3.x的环境以及可能报错的解决方案(python其它版本可同样方式安装)
这篇文章介绍了在Linux系统上配置Python 3.x环境的步骤,包括安装系统依赖、下载和解压Python源码、编译安装、修改环境变量,以及常见安装错误的解决方案。
280 1
|
3月前
|
Ubuntu Linux
Linux服务器的自动启动可以在哪里进行配置?
Linux服务器的自动启动可以在哪里进行配置?
177 3