热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

redhatas5系统中如何配置sendmail服务器

邮件传输过程中主要有MTA,MUA,MAA,MDAMUA:邮件用户代理(MailUserAgent),指的是客户端程序,如outlook,foxmail,thunderbirdMTA:邮件传输代理(MailTransferAgent),指dovecot软件提供的pop3,imap等收信服务MDA:邮件过滤代理(Mail

 

Redhat AS5 配置 Sendmail 服务器 (原创实例) - ャMr.Lee - ャMr.Lee

  邮件传输过程中主要有MTA,MUA,MAA,MDA

  MUA:邮件用户代理(Mail User Agent),指的是客户端程序,如outlook,foxmail,thunderbird

  MTA:邮件传输代理(Mail Transfer Agent),指dovecot软件提供的pop3,imap等收信服务

  MDA:邮件过滤代理(Mail Delivery Agent),主要有procmail等

   Sendmail常规服务器配置流程:

  (1)配置sendmail.mc文件

  (2)使用m4工具将sendmail.mc文件导入sendmail.cf文件

  (3)配置local-host-names文件

  (4)建立用户帐号

  (5)重新启动服务使配置生效

   在配置sendmail之前,需要设置并搭建DNS服务器

  [root@localhost /]# nslookup 
  > set type=mx
  > gd2010.com.
  Server:          172.26.39.23
  Address:        172.26.39.23#53

  gd2010.com      mail exchanger = 10 mail.gd2010.com.

  实验目的:实现域内发送/接收邮件

  RHEL5默认安装sendmail-8.13.8-2.el5及m4-1.4.5-3.el5.1,只需要安装sendmail-cf-8.13.8-2.el5宏文件包

  [root@localhost Server]# rpm -ivh sendmail-cf-8.13.8-2.el5.i386.rpm #安装sendmail-cf包,提供主要的模板

  1)修改 /etc/mail/sendmail.mc第116行将smtp侦听范围从127.0.0.1改为0.0.0.0,否则邮件服务器无法正常发送邮件

  #出于安全考虑,默认只对lo回环网络接口(IP地址为127.0.0.1)提供服务,为了使服务器能够为主机的所有网络接口(地址为0.0.0.0)提供服务,开启sendmail服务器的网络接口

  2)修改第155行修改成域名:LOCAL_DOMAIN(`gd2010.com')dnl

  3)使用m4宏生成半二进制的配置文件 m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

  4)修改/etc/mail/local-host-names 文件添加域名和主机名

  [root@localhost Server]# cat >>/etc/mail/local-host-names<

  > gd2010.com.

  > mail.gd2010.com.

  > EOF

  5)如果需要使用POP3和IMAP协议接收邮件需要安装dovecot软件包

  安装dovecot软件包要解决其依赖性

  [root@localhost Server]# rpm -ivh perl-DBI-1.52-1.fc6.i386.rpm

  [root@localhost Server]# rpm -ivh mysql-5.0.22-2.1.i386.rpm

  [root@localhost Server]# rpm -ivh postgresql-libs-8.1.11-1.el5_1.1.i386.rpm # 解决libpq.so.4

  [root@localhost Server]# rpm -ivh dovecot-1.0-1.2.rc15.el5.i386.rpm

===========================================================================

  可以架设YUM本地服务器实现解决依赖性自动化安装

  [root@localhost ~]# mkdir -p /media/yum

  [root@localhost ~]# mount /dev/cdrom /media/yum/

  mount: block device /dev/cdrom is write-protected, mounting read-only

  [root@localhost ~]# cd /media/yum/Server/

  [root@localhost Server]# rpm -ivh createrepo-0.4.4-2.fc6.noarch.rpm

  [root@localhost Server]# cd /media/

  [root@localhost media]# createrepo .

  [root@localhost media]# cat >/etc/yum.repos.d/server.repo<

  > [yum]

  > baseurl=file:///media

  > enabled=1

  > EOF

===========================================================================

  [root@localhost Server]# /etc/init.d/sendmail restart

  [root@localhost Server]# /etc/init.d/dovecot restart

  [root@localhost Server]# netstat ?ntla #使用netstat命令测试是否开启SMTP的25端口、POP3的110端口及IMAP的143端口

  Active Internet connections (servers and established)

  Proto Recv-Q Send-Q Local      Address            Foreign Address           State        

  tcp        0      0 0.0.0.0:111            0.0.0.0:*                 LISTEN     

  tcp        0      0 127.0.0.1:631        0.0.0.0:*                 LISTEN     

  tcp        0      0 0.0.0.0:25              0.0.0.0:*                 LISTEN     

  tcp        0      0 0.0.0.0:795            0.0.0.0:*                 LISTEN     

  tcp        0      0 :::993                      :::*                        LISTEN     

  tcp        0      0 :::995                      :::*                        LISTEN     

  tcp        0      0 :::110                      :::*                        LISTEN     

  tcp        0      0 :::143                      :::*                        LISTEN     

  tcp        0      0 :::22                      :::*                        LISTEN     

  [root@localhost Server]# telnet localhost 25 #验证Sendmail的SMTP认证功能

  Trying 127.0.0.1...

  Connected to localhost.localdomain (127.0.0.1).

  Escape character is '^]'.

  220 localhost.localdomain ESMTP Sendmail 8.13.8/8.13.8; Thu, 2 Sep 2010 21:09:54 -0700

  ehlo localhost #验证Sendmail的SMTP认证功能

  250-localhost.localdomain Hello localhost.localdomain [127.0.0.1], pleased to meet you

  250-ENHANCEDSTATUSCODES

  250-PIPELINING

  250-8BITMIME

  250-SIZE

  250-DSN

  250-ETRN

  250-DELIVERBY

  250 HELP

  quit

  221 2.0.0 localhost.localdomain closing connection

  Connection closed by foreign host.

===========================================================================

  [root@localhost Server]# telnet localhost 110

  Trying 127.0.0.1...

  Connected to localhost.localdomain (127.0.0.1).

  Escape character is '^]'.

  +OK Dovecot ready.

===========================================================================

  创建用户账号

  注:sendmail服务器使用linux系统中的用户账号作为邮件账号,因此为用户添加邮件账号只需要添加linux用户账号即可。为了便于对邮件用户进行管理,由于邮件账号通常不需要登录linux系统,因此可以在adduser命令使用“-s”选项指定用户的shell为“/sbin/nologin”,即不允许用户登录linux系统。在建立邮件用户账号之后,需要使用passwd命令为用户设置口令,以便用户发送和收取邮件时进行身份认证。

  [root@localhost Server]# useradd user1

  [root@localhost Server]# useradd user2

  [root@localhost Server]# su user1

  [user1@localhost Server]$ mail -vs "what is the weather like today?" user2@gd2010.com

  do you know ? i love you

  .

  Cc:

  user2@gd2010.com... Connecting to [127.0.0.1] via relay...

  220 localhost.localdomain ESMTP Sendmail 8.13.8/8.13.8; Fri, 3 Sep 2010 05:32:24 -0700

  >>> EHLO localhost.localdomain

  250-localhost.localdomain Hello localhost.localdomain [127.0.0.1], pleased to meet you

  250-ENHANCEDSTATUSCODES

  250-PIPELINING

  250-8BITMIME

  250-SIZE

  250-DSN

  250-ETRN

  250-DELIVERBY

  250 HELP

  >>> MAIL From: SIZE=103

  250 2.1.0 ... Sender ok

  >>> RCPT To:

  >>> DATA

  250 2.1.5 ... Recipient ok

  354 Enter mail, end with "." on a line by itself

  >>> .

  250 2.0.0 o83CWOAA010249 Message accepted for delivery

  user2@gd2010.com... Sent (o83CWOAA010249 Message accepted for delivery)

  Closing connection to [127.0.0.1]

  >>> QUIT

  221 2.0.0 localhost.localdomain closing connection

===========================================================================

  [user1@localhost Server]$ su user2

  Password:

  [user2@localhost Server]$ cat /var/spool/mail/user2

  From user1@localhost.localdomain  Fri Sep  3 05:32:24 2010

  Return-Path:

  Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])

        by localhost.localdomain (8.13.8/8.13.8) with ESMTP id o83CWOAA010249

        for ; Fri, 3 Sep 2010 05:32:24 -0700

  Received: (from user1@localhost)

        by localhost.localdomain (8.13.8/8.13.8/Submit) id o83CWONV010248

        for user2@gd2010.com; Fri, 3 Sep 2010 05:32:24 -0700

  Date: Fri, 3 Sep 2010 05:32:24 -0700

  From: user1@localhost.localdomain

  Message-Id: <201009031232.o83CWONV010248@localhost.localdomain>

  To: user2@gd2010.com

  Subject: what is the weather like today?

 

  do you know ? i love you

===========================================================================

  [root@localhost Server]# cat /var/log/maillog

  #所有信息都存储在这个日志文件中,包括用户名,主机名,出错代码。这些出错代码很有用处,可以通过这些让你对自己有更好的了解

 

  Sep  3 05:32:24 localhost sendmail[10248]: o83CWONV010248: from=user1, size=103, class=0,   nrcpts=1,   msgid=<201009031232.o83CWONV010248@localhost.localdomain>, relay=user1@localhost

  Sep  3 05:32:24 localhost sendmail[10249]: o83CWOAA010249: from=, size=392, class=0,   nrcpts=1, msgid=<201009031232.o83CWONV010248@localhost.localdomain>, proto=ESMTP, daemon=MTA, relay=localhost.localdomain [127.0.0.1]

  Sep  3 05:32:24 localhost sendmail[10248]: o83CWONV010248: to=user2@gd2010.com, ctladdr=user1 (501/501), delay=00:00:00,   xdelay=00:00:00, mailer=relay, pri=30103, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (o83CWOAA010249 Message accepted for delivery)

  Sep  3 05:32:24 localhost sendmail[10250]: o83CWOAA010249: to=,   ctladdr= (501/501), delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30602, dsn=2.0.0, stat=Sent


推荐阅读
  • PHP组合工具以及开发所需的工具
    本文介绍了PHP开发中常用的组合工具和开发所需的工具。对于数据分析软件,包括Excel、hihidata、SPSS、SAS、MARLAB、Eview以及各种BI与报表工具等。同时还介绍了PHP开发所需的PHP MySQL Apache集成环境,包括推荐的AppServ等版本。 ... [详细]
  • 腾讯安全平台部招聘安全工程师和数据分析工程师
    腾讯安全平台部正在招聘安全工程师和数据分析工程师。安全工程师负责安全问题和安全事件的跟踪和分析,提供安全测试技术支持;数据分析工程师负责安全产品相关系统数据统计和分析挖掘,通过用户行为数据建模为业务决策提供参考。招聘要求包括熟悉渗透测试和常见安全工具原理,精通Web漏洞,熟练使用多门编程语言等。有相关工作经验和在安全站点发表作品的候选人优先考虑。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 众筹商城与传统商城的区别及php众筹网站的程序源码
    本文介绍了众筹商城与传统商城的区别,包括所售产品和玩法不同以及运营方式不同。同时还提到了php众筹网站的程序源码和方维众筹的安装和环境问题。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • MySQL5.6.40在CentOS764下安装过程 ... [详细]
  • 1、概述首先和大家一起回顾一下Java消息服务,在我之前的博客《Java消息队列-JMS概述》中,我为大家分析了:然后在另一篇博客《Java消息队列-ActiveMq实战》中 ... [详细]
author-avatar
Mr_ZERO0000000
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有