centos安装sendmail与使用详解

安装sendmail

1、安装:

 代码如下 复制代码

#yum install -y sendmail
#yum install -y sendmail-cf
如果需要SMTP验证就安装并启动saslauthd服务:
# yum install -y saslauthd
# service saslauthd start

2、配置

(1) 配置Senmail的SMTP认证

 代码如下 复制代码

# vi /etc/mail/sendmail.mc

dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

将上面两行的dnl去掉。在sendmail文件中,dnl表示该行为注释行,是无效的,因此通过去除行首的dnl字符串可以开启相应的设置行。

(2) 设置Sendmail服务的网络访问权限(因为我是直接本机调用所以我没有操作这个步骤)

 代码如下 复制代码

# vi /etc/mail/sendmail.mc

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

将127.0.0.1改为0.0.0.0,意思是任何主机都可以访问Sendmail服务。如果仅让某一个网段能够访问到Sendmail服务,将127.0.0.1改为形如192.168.1.0/24的一个特定网段地址。

3、生成配置文件

Sendmail的配置文件由m4来生成,m4工具在sendmail-cf包中。如果系统无法识别m4命令,说明sendmail-cf软件包没有安装。

 代码如下 复制代码

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

4、启动服务

 代码如下 复制代码

#service sendmail start

检查服务是否加入自启行列

 代码如下 复制代码

#chkconfig --list |grep sendmail

测试发送邮箱

方法1 安装sendmail即可使用,

 代码如下 复制代码
mail -s "test" user@sohu.com <content.txt 

bin/mail会默认使用本地sendmail发送邮件,这样要求本地的机器必须安装和启动Sendmail服务,配置非常麻烦,而且会带来不必要的资源占用。

方法2。利用外部的smpt服务器

  而通过修改配置文件可以使用外部SMTP服务器,可以达到不使用sendmail而用外部的smtp服务器发送邮件的目的:

修改/etc/nail.rc (/etc/mail.rc)

 代码如下 复制代码
set from=fromUser@domain.com smtp=smtp.domain.comset smtp-auth-user=username smtp-auth-password=passwordset smtp-auth=login

说明:

from是发送的邮件地址

smtp是发生的外部smtp服务器的地址

smtp-auth-user是外部smtp服务器认证的用户名

smtp-auth-password是外部smtp服务器认证的用户密码

smtp-auth是邮件认证的方式

配置成功后,就可以使用了

可以发送一封邮件测试一下:

 代码如下 复制代码

mail -s "test" username@163.com <content.txt 其中-s后面的是邮件标题,user@sohu.com是收件人地址,content.txt里面是邮件正文

字符编码

在发送中文邮件中,字符编码是一个比较重要的问题,如果设置不正确,会导致邮件标题或邮件内容显示乱码。

 

邮件内容的编码可以在邮件头content-type中设置,如设置邮件内容为utf-8编码:

 代码如下 复制代码

Content-type: text/html;charset=utf-8

邮件头中,如From,To,Subject等,如果需要用到中文,可以这样设置:

 代码如下 复制代码

“=?UTF-8?B?”+base64encode(内容UTF8编码)+"?="

From: =?UTF-8?B?5L2g5aW9?= www.111cn.nert <jdoe@machine.example>
Sender: Michael Jones <mjones@machine.example>
To: Mary Smith <mary@example.net>
Content-type: text/html;charset=utf-8
Subject: =?UTF-8?B?5L2g5aW9?=

<div style="border:solid 1px #1D448C;">
<h1>This is a message just to say hello.</h1>
<p>So, "Hello".</p>
</div>

sendmail 配置参数

1.配置最少的自由块数
配置参数:MinFreeBlocks
参数描述:文件系统用来接受标准SMTP(简单邮件传输协议)邮件的队列中的最少的自由块数目。
越小越容易被攻击致命。
默认值:100
推荐值:4000或者更大

2.最大邮件大小
配置参数:MaxMessageSize
参数描述:每封邮件的最大尺寸,以比特(bytes)为单位。越大越容易被攻击致命。
默认值:不限制
推荐值:5M

3.自动重建别名
配置参数:AutoRebuildAliases
参数描述:需要的时候自动重建所有别名。如果设定为True的话,这是一个潜在的能引起拒绝服务攻击的危机。
默认值:False
推荐值:False

4.队列平均负荷
配置参数:QueueLA
参数描述:单一队列时的平均负荷。根据CPU的数量适当设定(8*CPU数量)
默认值:可变的
推荐值:10*CPU数量

5.平均负荷拒绝临界点
配置参数:RefuseLA
参数描述:一旦平均负荷超过此临界点,所有Incoming的SMTP连接均拒绝。
默认值:可变的
推荐值:8*CPU数量

6.最大的守护进程的子进程数
配置参数:MaxDaemonChildren
参数描述:容许Fork的最大的子进程数。超过此数目,连接就会被拒绝。如果设定值小于等于零,就意味着不限制。
默认值:没有定义
推荐值:根据内存大小设定。(例如,128M内存建议值为40)

7.最大的报头长度
配置参数:MaxHeadersLength
参数描述:所有报头的最大总长
默认值:没有设定
推荐值:32或者64K

8.最大MIME编码报文长度
MIME,Multipurpose Internet Mail Extension protocol,多用途的网际邮件扩充协议
配置参数:MaxMimeHeaderLength
参数描述:经过MIME编码的最大报文长度
默认值:没有定义
推荐值:1024或者更小

9.每封邮件的最多接收者
配置参数:MaxRecipientsPerMessage
参数描述:如果设定了的话,每封邮件只能同时抄送给指定数量的收信人。超过此数目就会返回一个452的错误代码。也就是说,在邮件队列中,会被无限期的延缓发送。
默认值:没有设定
推荐值:10-100  

 

时间: 2024-10-02 21:06:56

centos安装sendmail与使用详解的相关文章

CentOS安装crontab及使用详解

安装crontab: [root@CentOS ~]# yum install vixie-cron [root@CentOS ~]# yum install crontabs 说明: vixie-cron软件包是cron的主程序: crontabs软件包是用来安装.卸装.或列举用来驱动 cron 守护进程的表格的程序. //+++++++++++++++++++++++++++++++++++ cron 是linux的内置服务,但它不自动起来,可以用以下的方法启动.关闭这个服务: /sbin/

CentOS安装远程桌面tigervnc详解

CentOS Linux: 1.需要安装的包:tigervnc,tigervnc-server 2.配置显示分辨率.桌面和用户: 编辑 /etc/sysconfig/vncservers 参考注释掉的最后两行,添加 2 行  代码如下 复制代码 VNCSERVERS="2:myname" #这里myname就是用户账号 VNCSERVERARGS[2]="-geometry 1024×768 -nolisten tcp" PS:把-localhost 去掉. 3.配

CentOS安装ffmpeg简单记录详解

下载地址:http://ffmpeg.mplayerhq.hu/download.html#releases 下载文件:ffmpeg-2.0.1.tar.bz2 编译:./configure –prefix=/usr –enable-gpl –enable-shared –enable-version3 –enable-nonfree –enable-libmp3lame –enable-libvorbis –enable-libxvid –enable-libx264 –enable-libf

CentOS 7.0下使用yum安装mysql的方法详解_Mysql

CentOS7默认数据库是mariadb,配置等用着不习惯,因此决定改成mysql,但是CentOS7的yum源中默认好像是没有mysql的.为了解决这个问题,我们要先下载mysql的repo源. 1.下载mysql的repo源 $ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 2.安装mysql-community-release-el7-5.noarch.rpm包 $ sudo rpm -ivh mys

CentOS启动和停止服务详解

  CentOS启动和停止服务详解            服务简介 Linux 系统服务是在Linux启 动时自动加载,并在Linux退出时自动停止的系统任务.在Linux 启动过程中,我们可以看得很多"starting - "提示信息,该信息表示正在启动系统服务;而在Linux 退出时,我们也能够看到相应的"Stopping - "信息,表示系统服务正在停止.Linux自身有许多系统任务,如"network" 服务用于支持网络连接等.CAMS

CentOS下badblocks指令的详解

  CentOS下badblocks指令的详解            一.命令参数 badblocks使用格式为: 引用 badblocks [ -svwnf ] [ -b block-size ] [ -c blocks_at_once ] [ -i input_file ] [ -o output_file ] [ -p num_passes ] [ -t test_pattern ] device [ last-block ] [ start-block ] 参数含义是: 引用 -b bl

mysql免安装版配置步骤详解

 这篇文章主要介绍了mysql免安装版配置步骤详解,提供了二个网友的安装方法,大家可以参考使用 1.准备工作   下载mysql的最新免安装版本mysql-noinstall-5.1.53-win32.zip,解压缩到相关目录,如:d: mysql-noinstall-5.1.53-win32.这个就是mysql的根目录了.   2.配置   在根目录下有几个文件如下:   my-small.ini (这是针对一个小内存(〈= 64MB)的系统,MySQL 只会被时不时地用一下,很重要的是 my

Python切换pip安装源的方法详解_python

一.pip简介 Pip 是安装python包的工具,提供了安装包,列出已经安装的包,升级包以及卸载包的功能. Pip 是对easy_install的取代,提供了和easy_install相同的查找包的功能,因此可以使用easy_install安装的包也同样可以使用pip进行安装. 二.Linux下的源配置    检查pip.conf文件是否存在     >>  cd ~     >>  mkdir .pip     >>  ls ~/.pip 三.编辑源  方案1: 直

mysql 5.6.13 免安装版配置方法详解_Mysql

1. 下载mysql Community Server 5.6.13 2. 解压MySQL压缩包 将以下载的MySQL压缩包解压到自定义目录下,我的解压目录是: "D:\Program Files\MySQL\mysql-5.6.13-win32" 将解压目录下默认文件 my-default.ini 拷贝一份,改名 my.ini 复制下面的配置信息到 my.ini 保存 #如果没有my-default.ini,可自己新建my.ini或者从其他地方中获取 ################