Linux基础知识之Sendmail 邮件服务器配置

Linux基础知识之Sendmail 邮件服务器配置

澳门新萄京8522 1

 

2.        
修改local-host-names文件

sendmail.i386

C:\>telnet 192.168.122.20 25 
//使用telnet命令测验,sendmial暗中认可配置helo和mail
from能够进行诈欺,可在配置文件中调解
220 localhost.localdomain ESMTP Sendmail 8.13.8/8.13.8; Fri, 9 Apr 2010
12:51:55
+0800
helo www.6688.cc
250 localhost.localdomain Hello [192.168.122.50], pleased to meet
you
mail from:admin@6688.cc
250 2.1.0 admin@6688.cc… Sender ok
rcpt to:test1@server2.yang.com 
250 2.1.5 test1@server2.yang.com… Recipient ok
data
354 Enter mail, end with “.” on a line by itself
just one test!
.
250 2.0.0 o394ptpb002905 Message accepted for delivery
quit
[root@server2 ~]# mailq  //查看邮件队列,用于MTA-MTA之间
/var/spool/mqueue is empty
Total requests: 0
[root@server2 ~]# mailq -Ac      //查看邮件队列,用于MTA-MUA之间
/var/spool/clientmqueue is empty
Total requests: 0
[root@server2 ~]# grep ‘o394ptpb002905’ /var/log/maillog 
//查看邮件日志消息
Apr  9 12:53:01 server2 sendmail[2905]: o394ptpb002905:
from=admin@6688.cc, size=15, class=0, nrcpts=1,
msgid=<201004090452.o394ptpb002905@localhost.localdomain>,
proto=SMTP, daemon=MTA, relay=[192.168.122.50]Apr  9 12:53:02 server2
sendmail[2912]: o394ptpb002905: to=test1@server2.yang.com,
delay=00:00:16, xdelay=00:00:00,
mailer=local, pri=30333, dsn=2.0.0,
stat=Sent(使用outlook收信,须求配置dovecot)

IMAP协议

找到

 

澳门新萄京8522 2

        250 Mail OK

service sendmail restart

helo moto

[root@server2 ~]# cp /etc/mail/sendmail.mc
/etc/mail/sendmail.mc.orig  //备份下模板和主配置文件,那步很入眼
[root@server2 ~]# cp /etc/mail/sendmail.cf
/etc/mail/sendmail.cf.orig
[root@server2 ~]# grep ‘127.0.0.1’ /etc/mail/sendmail.mc 
dnl # 127.0.0.1 and not on any other network devices. Remove the
loopback
dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA’)dnl 
//注释掉本行,dnl代表注释,也可将127.0.0.1改成0.0.0.0
[root@server2 ~]# m4 /etc/mail/sendmail.mc >
/etc/mail/sendmail.cf  //使用m4宏生成半二进制的布署文件
[root@server2 ~]# cat /etc/mail/local-host-names
# local-host-names – include all aliases for your machine here.
server2.yang.com
[root@server2 ~]# service sendmail restart          //重启服务
关闭 sm-client:                                          [确定]
关闭 sendmail:                                            [确定]
启动 sendmail:                                            [确定]
启动 sm-client:                                          [确定]
[root@server2 ~]# netstat -ntpl |grep :25
tcp        0      0 0.0.0.0:25                  0.0.0.0:*             
    LISTEN    2673/sendmail: acce

POP3是Post Office Protocol 3的简称,即邮局协议的首个本子,它规定怎么将个人Computer连接到Internet的邮件服务器和下载电子邮件的电子协议。它是因特网电子邮件的第五个离线协议正式,POP3允许用户从服务器上把邮件存款和储蓄到地面主机(即自个儿的管理器)上,同不平时间删除保存在邮件服务器上的邮件,而POP3服务器则是遵纪守法POP3协议的收纳邮件服务器,用来接收电子邮件的。

dnl define(‘confAUTH_MECHANISMS’, ‘EXTERNAL GSSAPI’)
dnl

 

[root@server2 ~]# useradd -s /sbin/nologin test1 
//增添四个测量试验用户
[root@server2 ~]# useradd -s /sbin/nologin test2
[root@server2 ~]# echo  ‘123’|passwd –stdin test1
Changing password for user test1.
passwd: all authentication tokens updated successfully.
[root@server2 ~]# echo  ‘123’|passwd –stdin test2
Changing password for user test2.
passwd: all authentication tokens updated successfully.

9、测试SMTP验证
#
useradd mailtest
#
passwd mailtest //增多邮箱帐号
#
vi /etc/passwd
修改bash为/sbin/nologin,那样足够的用户名就从未了shell,只好收发信而无法登陆到服务器运转别的程序
测试
#
saslauthd -v
看结果支不协理pam或shadow
#
testsaslauthd -u mailtest -p mailtest
假定展现0:
OK “Success.”则申明saslauthd职业健康
查看sendmail队列:mailq
考察邮件系统的景况:mailstats
查阅一时积存邮件:ls
-l /var/spool/mail |more
/*****************尖端作用,能够不要配置
查看映射用户
#
sasldblistusers2
运行saslpasswd2 增多用户
#
saslpasswd2 -u server110.com
-c mailtest
#
sasldblistusers2
#
mailtest@server110.com:
userPassword
删去用户
#
saslpasswd2 -d mailtest@server110.com
专注:为啥一向不设定foxmail中的smtp服务器须求说明,也足以发送E-mail?
要用OUTLOOK来测量试验,Foxmail如同能够自行地举行smtp认证。OUTLOOK在smtp服务器验证战败后,有拒绝提醒
工具->;帐户->;邮件->;属性->;服务器->;笔者的服务器要求身份验证(选上)->;设置->;(选拔)登陆格局->;帐户名:(用saslpasswd2创建的),密码(用saslpasswd2创设的)->;鲜明.
别的:接收邮件服务器的帐户名与密码应该是系统里的用户名与密码.
saslauthd
-v 看结果支不协助 pam或shadow
smtp验证测量检验:
testsaslauthd -u test -p 123456
sasldblistusers2
检查已经扩张的smtp验证用户
saslpasswd2扩张smtp验证用户:saslpasswd2
-u cencn.com -c test 

4.        
设置SMTP的用户认证和用户账号

 

澳门新萄京8522 3

多个宗旨

用户账号的充裕:

2、设定好主机名

1:配置sendmail监听本机全体端口,并在长距离客户端上海展览中心开采邮件测验
[root@server2 ~]# rpm -q sendmail-cf 
//安装sendmail-cf包,改包提供了根本的模板
package sendmail-cf is not installed
[root@server2 ~]# yum -y install sendmail-cf
[root@server2 ~]# service sendmail status
sendmail (pid  2591) 正在运维…
[root@server2 ~]# netstat -ntpl |grep :25 
//sendmail暗中同意运行,且只侦听回环接口上的25端口
tcp        0      0 127.0.0.1:25                0.0.0.0:*             
    LISTEN      2591/sendmail: acce

 
    安装邮件服务器
#
yum install sendmail sendmail-cf
 
  安装pop3/imap服务
#
yum install dovecot
 
    安装用户认证
#
yum install cyrus-sasl
#
yum install cyrus-sasl-md5
#
yum install cyrus-sasl-plain
#
yum install cyrus-sasl-lib

 在产出的分界面下输入ehlo localhost假使在250-AUTH出现LOGIN
PLAIN,表达服

 

电子邮件是测算机史上最老的劳务了,最近常用的MTA(邮件传输代理)软件首要有sendmail和postfix,exchange,qmail等;在那之中sendmail最为古老,且非常复杂;邮件传输进程中任重(Ren Zhong)而道远有MTA,MUA,MAA,MDA等,MUA,邮件用户代理第一指的是客户端程序,比方outlook,foxmail,thunderbird等;MAA则是指dovecot软件提供的pop3,imap等收信服务,MDA则是邮件过滤代理,首要有procmail等…,sendmail的陈设不行的繁杂,本节中只介绍rhce考试的热门…

3.1
配置access
#
vi /etc/mail/access
一般性状态下,Sendmail不会为邮件服务Relay音信,那样可以抗御部分有恶意的人选拔别人的邮件服务器乱发邮件,所以,access保持暗中同意配置就能够
内容如下
Connect:localhost.localdomain
          RELAY
Connect:localhost
                      RELAY
Connect:127.0.0.1
                      RELAY
自然也可针对某段IP或某些IP做修改,如要禁止有些ip发信,则可增多
 
  192.168.0.2   deny
保存文件后运转下边发号施令实行编写翻译
 
  # makemap hash access.db < access

@             IN      MX      10 
mail.zhang.com.

250-station249.example.com Hello station254.example.com
[192.168.0.254], pleased to meet you

澳门新萄京8522 4

5、配置cyrus
sasl
vi
/etc/sysconfig/saslauthd
将MECH=pam
改为
MECH=shadow

富有不可动摇的地位,是读书和管理其余邮件服务器的根基。上边大家就轻易来看

250-ETRN

2:配置允许192.168.122.0/24段的ip实行RELAY操作,同一时限test2@server2.yang.com发送邮件

1.smtp协议           SMTP(Simple Mail Transfer
Protocol)即轻巧邮件传输协议,它是一组用于由源地址到目的地址传送邮件的平整,由它来决定信件的转账情势。SMTP协议属于TCP/IP协议簇,它援助每台Computer在发送或转化信件时找到下三个目标地。通过SMTP协议所钦赐的服务器,就足以把E-mail寄到收信人的服务器上了,整个进程只要几分钟。SMTP服务器则是依照SMTP协议的出殡和埋葬邮件服务器,用来发送或转向发出的电子邮件。
         SMTP
认证,轻易地说就是需求必须在提供了账户名和密码然后才得以登陆 SMTP
服务器,那就使得那三个垃圾邮件的传布者无可乘之隙。 

mail     IN     A    
10.167.27.91

 

2.搭建本地邮件服务器

6.        
重新开动Sendmail服务器

 

MAILFROM:XXX@163 .COM          表示发送者的邮件地址

   确认以上多少个包安装好后,就足以运营sendmail了,不过还得认可DNS服务器中

250-PIPELINING

2.3软件配置
   配置sendmail

groupadd mailgroup

 

$telnet smtp.163. com 25                      发送连接
       220 163.com Anti-spam GT for Coremail System (163com[20141201])
    回应220 服务就绪

   必定要记得给用户名用passwd加密码哦!

protocols = imap imaps pop3 pop3s

2.搭建本地邮件服务器
      首先依旧三个概念
       
Internet的邮件系统是通过多少个复杂的有些连接而成的,对于最后用户来讲,大家熟识的Outlook,Foxmai,linux下的mail、mailx、nail
 等都以用来收信和发信的,称之为
MUA:Mail User Agent,邮件用户代理        
        MUA并非一向将邮件发送至收件人手中,而是经过
MTA:Mail Transfer Agent,邮件传输代理  代为传送,Sendmail和Postfix就是扮演MTA的角色。   
    
        一封邮件从MUA发出后,或者由此一个或七个MTA传递,最终到达
MDA:Mail Delivery Agent,邮件投递代理
邮件达到MDA后,就寄放在某些文件或独特的数据Curry,大家将那几个长久保存邮件的地点称为邮箱。

 

250 2.1.0
[email protected]
Sender ok

1、直接运用shell当编辑器

  1. mail -s “Hello
    from mzone.cc by shell” admin@mzone.cc

  2. hello,this is
    the content of mail.

  3. welcome to
    www.mzone.cc

 
 
  第一行是输入的授命,-s表示邮件的主题,前面包车型大巴admin@mzone.cc则是邮件的接收人,输入完那行命令后回车,会进来邮件正文的编辑,大家能够输入任何文字,比如上边的两行。当邮件正文输入完毕后,要求按CT福睿斯L+D停止输入,此时会唤起您输入Cc地址,即邮件抄送地址,没有直接回车就完事了邮件的出殡和埋葬。

cd /etc/mail

事例3:允许本机和其他来自别的地点IP登入发送邮件,发送的邮件能够是别的域的邮件

8、重启服务
#
service sendmail restart
#
service dovecot restart
#
service saslauthd restart

//修改为

化解方法:开启smtp验证

  扩大SMTP 认证的目标是为了使用户幸免受到垃圾邮件的侵扰。
澳门新萄京8522, 
      SMTP 在 TCP 和睦 25 端口监听连接乞请。

192.168.1.100     mail.linux.com   ip为server的地方  后边为主机域名

 

DATA                              

   因为sendmail.cf文件是出了名的可耻的,所以用sendmail.mc来变化

# yum install cyrus-sasl* -y

3.采取外界邮件服务器
落成邮件功效

  再度印证一下证实开启来了未曾

软件包

进入/etc/mail
#
cd /etc/mail

adduser -g mailgroup -s /sbin/nologin   linux2

 

展开防火墙25(smtp)、143(imap)端口,关闭SELINUX

·         m4–16           ;配置sendmail的必备工具

设计的软件包

RCPTTO:XXX@163 .COM              标志接收者的邮件地址

zhang.com

250-ENHANCEDSTATUSCODES

      334 dXNlcm5hbWU6                
   要求输入username:
此间输入USE宝马X5base64加密后的用户名
      334 UGFzc3dvcmQ6                    供给输入Password:

RHEL4下建立sendmail服务器

 

      关闭sendmial服务,修改mail的配置文件

现在来说说POP3或者IMAP的部分,只有客户端跟邮件服务器同时支持SMTP和POP3/IMAP,才能实现完整的邮件收发功能。

sendmail服务器不为MUA软件提供收取邮件的功能,因此系统要单独安装实现POP3或者IMAP功能的服务器程序。

     在RHEL4中通过dovecot的rpm包来支持POP3,IMAP协议。因为dovecot服务依赖

的软件包较多,所以还是建议好用软件包管理程序来安装dovecot。

system-config-packages

选择安装好好dovecot包后,修改dovecot的主配置文件,因为dovecot软件包默认只

支持IMAP服务,所以需要修改/etc/dovecot.conf

#protocols = imap imaps

修改为

protocols = imap imaps  pop3 pop3s

之后启动dovecot程序

service  dovecot  restart

好了!这样的话就ok了!就可以启动Outlook Express通过上篇设置的用户跟密码

来进行邮件的发送了。

makemap hash /etc/mail/access.db < /etc/mail/access

 

2、使用管道展开邮件发送

  1. echo
    “hello,this is the
    content of mail.welcome to www.mzone.cc” | mail -s “Hello from mzone.cc by
    pipe” admin@mzone.cc

 
   使用管道直接敲入那行命令就能够成功邮件的出殡,个中echo后的是邮件正文。

·         sendmail-doc          ;服务器的证实文书档案

 

  POP3协议

务的SMTP认证服务已经生效了。

# service sendmail restart

     
这里根本讲下Sendmail + Dovecot,

改服务器ip地址的域名分析记录跟MX记录。如果未有DNS的话就在/etc/hosts文件

Connected to station249.example.com (192.168.0.249).

2.1     配置域名和互联网
          公网ip为1.1.1.1   域名称为  yunwei521.top  
 在dns服务商处增添此深入分析
           主机记录@   记录类型 MX    记录值 1.1.1.1   那样就足以提供
举个例子 xxx@yunwei521.top 的信箱服务。

 

data

 邮件服务器名称 服务器地址  端口号
  POP3服务器 pop.yeah.net  110
 SMTP服务器 smtp.yeah.net  25
 IMAP服务器 imap.yeah.net  143

//查找

 

          .                                                  
   
以一个“.”开头的行作为数据部分的终结标志

  

sendmail配置详解

3、使用文件实行邮件发送

  1. mail -s “Hello from mzone.cc by
    file” admin@mzone.cc < mail.txt

 
    使用方面包车型大巴吩咐后,我们就能够把mail.txt文件的剧情作为邮件的剧情发送给admin@mzone.cc了。

    
 使用上述三种艺术都足以给外界邮箱实行邮件发送,但因为前面第22中学都以间接在shell中敲入邮件内容,因而不能够输入中文,即便大家采用粘贴的点子输入了中文,那么收到的邮件也是乱码的。但第3种格局,咱们得以在window下编制好邮件内容后,放到linux下,再开始展览发送,那样就足以健康发送汉语了。可是当下邮件的国语标题暂风尚未找到消除办法。

    
 因为mail程序本身就是调用sendmail来开始展览邮件发送的,因而大家得以在mail命令中动用sendmail的参数实行安排,比方小编想选用一定的发件人发送邮件,能够使用如下命令:

  1. mail -s “Hello from mzone.cc with
    sender” admin@mzone.cc — -f user@mzone.cc<mail.txt

 
    上面包车型客车下令中,我们应用了– -f
user@mzone.cc那样的参数,这是sendmail的选项,在那之中-f表示邮件的发送给外人邮件地址。越多sendmail参数请查看这里,也许在shell中man
sendmail进行增派获得。

    
 非常多情形下,我们也急需选用邮件来发送附属类小部件,在linux下使用mail命令发送附属类小部件也很简短,但是首先须求安装uuencode软件包,那么些程序是对二进制文件进行编码使其符合通过邮件进行发送,在CentOS上安装该软件包如下:

  1. yum install
    sharutils

 
    安装完毕后大家就可以来拓展附属类小部件的出殡了,使用如下命令:

  1. uuencode test.txt test | mail -s “hello,see the
    attachement” admin@mzone.cc<mail.txt

 
    完毕后就足以把text.txt文件作为邮件的附属类小部件发送出去了。uuencode有五个参数,第多个是要发送的公文,第4个是突显的文件名称。

    
 这里小编着重介绍的是在CentOS下行使mail发送电子邮件的一对采用办法,须要的渴求是您的linux必须设置了sendmail并展开了,同一时间保险能够连接外网。其余,文章中关系的指令本人都由此亲自测验,保障完全可用,但是你供给将指令中的电子邮件地址换到本身的电子邮件地址。

解除后边的dnl,因为dnl表示该行为注释行。

# service dovecot restart

1.        
大家来设置sendmail所急需的rpm软件包:

# mutt -f
pop://[email protected]

此间输入PASSbase64加密后的密码
      235 Authentication successful             回应235 :认证通过

看怎样快捷搭建轻便的邮件服务器。

ssl_cert_file = /etc/pki/tls/certs/localhost.crt

 实例:

·         sendmail–2     ;服务器的主程序软件

# service sendmail restart

3.行使外界邮件服务器
实现邮件功用

    Sendmail作为linux/UNIX平新北强有力的邮件服务器,在邮件服务器应用领域

 

    
 别的还应该有多个商讨须要明白IMAP协议、POP3议和
      轻松地说,SMTP管‘发’, POP3/IMAP管‘收’。

DAEMON_OPTIONS(‘port=smtp,Addr=.0,Name=MTA’)dnl

mail from:
[email protected]

2.2 安装软件

开启认证服务,文件目录在/usr/lib/sasl2/Sendmail.conf

布置在此以前的策动:

6、停止postfix
#
service postfix stop

中增加一条主机分析记录

# cp localhost.key  ../private/

helo 66                                                  HELO命令标志本人的地位   

·         sendmail-cf           ;重新配置sendmail服务器的必备配置文件

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

下边选拔telnet 演示一下 smtp 交互进度

就ok了,因为那行是四壁萧疏的。^_^……

 

adduser -g mailgroup -s /sbin/nologin   linux1

sendmail-doc.i386

/etc/mail.rc,扩张一下看似N行,内定外界的smtp服务器地址、帐号密码等。

 这样服务器就足以监听主机全部网络接口的25端口了。

Connect:127.0.0.1                       RELAY  <—自身并未有

echo  hello word | mail -s ” title” @qq.com

   到了这里,sendmail的SMTP的基本效用已经具备了,下篇正是有关POP3跟

 

 
 # vi /etc/mail.rc
  set from=发件地址@qq.com
  set smtp=smtp.qq.com
  set smtp-auth-user=?????
  set smtp-auth-password=????
  set smtp-auth=login

   注意:这里有望出现sendmail.cf中的line 39
行出错,没提到,直接删除

 

        354 End data with                 
          邮件的多寡 
   

小心:主机名称必需求满含完整的域名!

1、开启smtp验证的配置

3.3
配置sendmail.mc
#
vi /etc/mail/sendmail.mc
添加:
define(`confAUTH_OPTIONS’,
`A p y’)dnl
define(`confCACERT_PATH’,
`/etc/pki/tls/certs’)dnl
define(`confCACERT’,
`/etc/pki/tls/certs/ca-bundle.crt’)dnl
define(`confSERVER_CERT’,
`/etc/pki/tls/certs/sendmail.pem’)dnl
define(`confSERVER_KEY’,
`/etc/pki/tls/certs/sendmail.pem’)dnl
要是有,则暗中同意被dnl注释,删除前边的dnl注释即可
注销如下两行的注释(删除早先的dnl)
TRUST_AUTH_MECH(`EXTERNAL
DIGEST-MD5 CRAM-MD5 LOGIN PLAIN’)dnl
define(`confAUTH_MECHANISMS’,
`EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN’)dnl
修改SMTP的监听IP为
0.0.0.0
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0,
Name=MTA’)dnl
不要改
dnl
DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea’)dnl
那句话!保持注释状态。
上边这句话,网络海人民广播广播台湾大学稿子都说把Port=submission,改成Port=25,说是强制全数用户在25端口
上做申明。
自身不掌握sendmail在此从前的本子是怎样设置smtp认证的。sendmail8.13不用这么设置,这句话
人家sendmail的野趣是:撤废注释后,一旦当25号端口被重定向可能被遮挡,或许在25号端口
打不开的动静下,登时使用587备用端口给用户做验证。
本来人家sendmail就曾经开荒了25端口(Port=smtp了一度),你却在此处还Port=25,把备用
端口也改成25,那不是让sendmail的sm-client认
证进程和sendmail的主进程抢端口么….
转移配置(借使语法有不当是不可能进行的)
#
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

vi /etc/mail/local-host-names

1、同步时间

       
bin/mail会暗许使用本地sendmail发送邮件,那样需要地点的机器必须设置和开发银行Sendmail服务,配置不行费劲,何况会拉动不供给的财富占用。
     
  而通过修改配置文件能够行使外界SMTP服务器,能够达成不选用sendmail而用外表的smtp服务器发送邮件的指标。

3.        
开启sendmail服务器的互联网接口

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图