linux_sendmail_attachment

合集下载

浅谈Linux下Sendmail服务器的创建与配置

浅谈Linux下Sendmail服务器的创建与配置

浅谈Linux下Sendmail服务器的创建与配置电子邮件是目前信息交流和传递中最快捷、最方便、最有效和最经济的通信方式之一了。

在企事业单位网络中,组建电子邮件系统,可以方便员工之间的信息交流与传递。

根据中国互联网络信息中心(CNNIC)发布《第26次中国互联网络发展状况统计报告》公布,截至今年6月底,我国网民规模突破4亿大关,达到4.2亿。

其中有95.07%将电子邮件视为最常使用的Internet服务,平均每人拥有3.24个Email账号,平均每周收到16.82封电子邮件,发出9.05封电子邮件。

电子邮件的快捷和便利已被绝大多数的网民所认可。

1电子邮件系统的概述1)电子邮件系统的工作原理。

在互联网中,电子邮件的收发是通过邮件服务器来完成的。

电子邮件服务器提供SMTP和POP两种服务。

和普通邮件类似,每份电子邮件的发送都要涉及发送方与接收方,发送方构成客户端,而接收方构成服务器,服务器含有众多用户的电子信箱。

①首先,发件人和收件人用户都在自己的电子邮件服务器上注册,由网络管理员授权为合法用户,假设两个服务器的域名分别为和,注册用户分别为tom和jack,则Email地址分别为tom@和jack@;②当用户tom向用户jack发送电子邮件时,电子邮件首先从客户端发送到的SMTP服务器;③的SMTP服务器根据目的电子邮件地址jack@,查询的SMTP服务器,并且转发该电子邮件;④的SMTP服务器收到转发的电子邮件,并保存;⑤的用户jack利用客户端登陆的POP服务器,下载并浏览该电子邮件。

2)电子邮件系统的主要协议目前,应用于电子邮件服务的协议主要有SMTP、POP3、IMAP协议。

①SMTP协议。

简单邮件传送协议(SMTP)是Internet电子邮件系统首要的应用层协议。

它使用由TCP提供的可靠的数据传输服务把邮件消息从发信人的邮件服务器传送到收信人的邮件服务器。

SMTP协议服务的默认端口是25;②POP3协议。

Linux下如何利用Sendmail构建安全可靠的邮件服务器

Linux下如何利用Sendmail构建安全可靠的邮件服务器

Linux下如何利用Sendmail构建安全可靠的邮件服务器实验原理:Sendmail是UNIX/Linux环境中稳定性较好的一款邮件服务器软件,通过对Sendmail服务器的配置可以实现基本的邮件转发功能;dovecot服务器实现了POP3协议,可以与Sendmail服务器配合工作,实现用户对邮件的收取功能;OpenWebmail是网页形式的邮件应用系统,可实现用户对邮件的发送、收取和管理功能。

通过对Sendmail、dovecot 和OpenWebmail的综合管理,系统管理员可以构建出功能完善的邮件应用系统。

实验步骤:一、搭建DNS环境,并设置sendmain的主机域名可以通过修改“/etc/hosts”和“/etc/sysconfig/network”两个文件更改主机域名。

并在DNS服务器中添加对应的MX记录。

二、 Sendmail的安装与配置Sendmail服务器在RHEL4系统中是被默认安装的,软件包的名称是sendmail,m4软件包提供了配置Sendmail服务器必须的工具程序,与Sendmail软件包一同默认安装在系统中。

Sendmain和m4两个软件都在RHEL4的第2张安装光盘中。

更改sendmial服务器的启动级别。

设置local-host-names文件,用于设置邮件服务器提供邮件服务的域名。

编辑sendmail.mc文件Sendmail服务器的主配置文件是sendmain.cf,该文件配置及其难,不过可以通过配置sendmail.mc然后生成sendmail.cf文件。

开启Sendmail服务器的网络接口,Sendmail服务器出于安全考虑,默认只对lo网络接口(IP地址为127.0.0.1)提供服务,为了使服务器能够为主机的所有网络接口(地址为0.0.0.0)提供服务,需要在sendmail.mc文件中进行配置的修改。

开启SMTP的用户认证功能。

将TRUST_AUTH_MECH(‘EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN’)前面的dnl以及空格去掉即可。

最新linux下sendmail的安装与配置教学文稿

最新linux下sendmail的安装与配置教学文稿

附2Linux下SendMail的安装与配置一、安装sendmail如果你在安装LINUX的时候,选择了E-MAIL服务,sendmail就已经安装在LINUX系统中了,并且已经作了一些最基本的设置。

如果你在安装时没有选择,或者你需要升级sendmail就可以使用以下方法进行。

1通过RPM包来安装或升级(仅用于RedHat LINUX):1) 首先在光盘上或Internet上找到下面几个RPM包:sendmail-8.9.3-10.i386.rpm sendmail可执行文件sendmail-cf-8.9.3-10.i386.rpm sendmail.cf生成器sendmail-doc-8.9.3-10.i386.rpm sendmail.cf文档2) 然后使用以下命令安装或升级:安装:rpm ?ivh sendmail-8.9.3-10.i386.rpm升级:rpm ?Uvh sendmail-8.9.3-10.i386.rpm2.用源代码编译关安装:1) 首先取得最新版本的源代码:/ftp:///pub/unix/mail/sendmail/2) 展开源代码:cd /hometar ?zxvf sendmail-8.9.3.tar.gz这样就会在/home目录下建立一个sendmail-8.9.3目录:/home/sendmail-8.9.3/README/home/sendmail-8.9.3/src/home/sendmail-8.9.3/cf/home/sendmail-8.9.3/doc3) 编译:由于sendmail自己带了一个编译程序Build,所以不用make命令:cd /home/sendmail-8.9.3/src./Buildinstall二、用sendmail构建一个E-Mail服务器当我们在系统中安装了sendmail后我们就可以使用这台机成为我们的电子邮局了。

因为sendmail的功能强大,配置繁琐。

Linux服务器部署系列之八—Sendmail篇

Linux服务器部署系列之八—Sendmail篇

Linux服务器部署系列之⼋—Sendmail篇Sendmail是⽬前Linux系统下⾯⽤得最⼴的邮件系统之⼀,虽然它存在⼀些不⾜,不过,⽬前还是有不少公司在使⽤它。

对它的学习,也能让我们更深的了解邮件系统的运作。

下⾯我们就来看看sendmail邮件服务器的部署。

本⽂将从以下⼏个⽅⾯讲解Sendmail邮件系统:1.Sendmail安装;2.Sendmail基本配置;3.Openwebmail安装和配置;4.配置Mailscanner+clamav过滤病毒;5.配置SpamAssassin+mimedefang过滤垃圾邮件。

本⽂系统运⾏环境:CentOS 5。

⼀、安装Sendmail1. 软件需求(以下软件在安装光盘上都可以找到)cyrus-sasl-2.1.22-4.i386.rpmcyrus-sasl-lib-2.1.22-4.i386.rpmcyrus-sasl-plain-2.1.22-4.i386.rpmcyrus-sasl-devel-2.1.22-4.i386.rpmcyrus-sasl-md5-2.1.22-4.i386.rpmsendmail-8.13.8-2.el5.i386.rpmsendmail-cf-8.13.8-2.el5.i386.rpmsendmail-devel-8.13.8-2.el5.i386.rpmsendmail-doc-8.13.8-2.el5.i386.rpmm4-1.4.5-3.el5.1.i386.rpmdovecot-1.0.7-2.el5.i386.rpm另外,dovecot需要两外两个程序包的⽀持:perl-DBI-1.52-1.fc6.i386.rpmmysql-5.0.45-7.el5.i386.rpm2. 软件安装1)cyrus-sasl的安装先检查⼀下,系统默认安装了哪些软件包,如下图:安装cyrus-sasl-md5-2.1.22-4.i386.rpm,如下图:2)安装sendmail、dovecot等相关程序包,如下图:Sendmail要正常⼯作,是需要DNS⽀持的,⼀般企业都有DNS服务器,如果没有,可以参考我的另⼀篇⽂章:Linux服务器部署系列之三—DNS篇(/379574/169718),⾃⼰搭建⼀台DNS服务器。

Linux1 邮件服务器 配置Sendmail

Linux1 邮件服务器  配置Sendmail

Linux1 邮件服务器配置Sendmail完成Sendmail安装操作后,接下来以开放Sendmail监听端口与设置收件计算机名称、使用MTA Relay权限设置/etc/mail/access为目的来对Sendmail邮件服务器进行配置。

1.开放监听端口及设置收件计算机名称事实上Red Hat Enterprise Linux5.4在安装Sendmail后默认已经启动Sendmail (端口25处于LISTEN状态),只是它仅接收来自本计算机的MTA要求,验证此结果可在终端下输入“netstat -tulnp”命令,并按【回车】键查阅,如图9-19所示。

图9-19 查看Sendmail默认端口状态由图9-19可查看到端口25处于LISTEN状态,且只监听127.0.0.1这个lookup 接口。

所以用户的重点就是如何将监听的接口开启到整个Internet上,否则它是无法接收来自Internet的邮件的。

虽然配置文件在/etc/mail/sendmail.cf中,但建议不要手动修改它,应该修改的是sendmail.mc文件。

这个文件设置项目的基本语法为“设置组件(`设置项目’,`参数一’,`参数二’)”。

提示每个设置项目与参数左边使用的符号均为数字键1左边的引用键(quote),右边则是单引号。

这个文件的设置项目用户可以参考/m4/readme.html网页说明。

若要开放Sendmail对整个Internet的监听功能,只需要在终端下输入“vi /etc/mail/sendmail.mc”命令,按【回车】键进入sendmail.mc文件的编辑界面。

然后按“i”,切换到插入模式,将第116行中“Addr=127.0.0.1”改为“Addr=0.0.0.0”,按【ESC】键退出插入模式,最后按“:”并输入wq”按【回车】键保存配置,如图9-20所示。

图9-20 开放Sendmail监听功能修改sendmail.mc参数后,在使用m4宏文件生成器和修改后的配置创建新的sendmail.cf配置文件之前,还需要使用mv命令对原有的设置文件进行备份,这一点很重要,如图9-21所示。

linux_sendmail-经典配置

linux_sendmail-经典配置

Linux sendmail经典配置已测试通过铁锤居士作品邮件服务器的种类主要有以下几种:l Exchange是windows下的邮件服务器软件l Linux下的邮件服务器软件有:sendmail、qmail、postfix整个邮件系统中,按功能的不同可以分为不同的角色。

主要包括以下组成部分:l邮件用户代理,简称MUA,是面向用户操作的软件,通常也称为邮件客户端软件。

l邮件传输代理,简称MTA,通常被称为邮件服务软件,MTA负责接受MUA软件发送的邮件。

l SMTP是邮件传输协议,是用于发送邮件的协议l邮件的收取可以用POP邮局协议和IMAP因特网消息访问协议。

POP最新的版本是POP3,IMAP最新的版本是IMAP4Sendmail的安装首先用rpm –qa 命令查看系统中是否安装了以下安装包启动前的配置更改hosts文件设置邮件服务器提供邮件服务的域名。

sendmail邮件服务器在DNS中要有相应的记录更改配置文件sendmail.cf和sendmail.mcsendmail.cf是sendmail的主配置文件文件内容让人难以理解。

所以通常更改sendmail.mc文件,再由m4命令从sendmail.mc文件生成sendmail.cf文件。

打开并更改dovecot包的配置文件安装openwebmail包建立dbm.conf配置文件把第12行后面改成域名把第62行后面改为zh_CN.GB2312实现中文把第85行后面改成Cool3D.Chinese.Simplified实现中文图标修改完配置文件一定要重启sendmail、dovecot、saslauthd服务首先sendmail是需要httpd服务支持的,所以一定要确认httpd服务为开启状态,否则不能通过浏览器访问。

用客户机的浏览器访问webmail创建mailuser组,创建帐号m1和m2使m1和m2不能本地登陆使用用户登陆后出现以下效果,表示登陆成功用户可以自定义过滤规则,一个邮件过滤器包括以下属性:l优先级可以设置为从1-20.默认为10,数字越小优先级越高l过滤条件可以设置的包括:发件人、收件人、主题、文件内容和附件名称等内容l操作字段可设置为移动或复制。

Linux下架构安全邮件服务器之Sendmail

Linux下架构安全邮件服务器之Sendmail

Linux下架构安全邮件服务器之SendmailLinux下架构安全邮件服务器之Sendmail简介一、E-mail 概述Internet最基本的服务,也是最重要的服务之一,就是电子邮件服务。

据统计Internet上百分之三十以上的业务量是电子邮件,仅次于WWW服务。

与传统的邮政信件服务类似,电子邮件可以用来在Internet或Intranet上进行信息的传递和交流,但电子邮件服务还具有快速、经济的特点。

发一份电子邮件给远在他方的一位用户,通常来说,对方几分钟之内就能收到。

如果选用传统邮件,发一封特快专递也需要至少一天的时间。

而且电子邮件的费用最多只需几毛钱。

与实时信息交流,如电话相比,因为电子邮件是采用存储转发的方式,发送邮件时,并不需要收件人处于在线状态,收件人可以根据实际需要随时上网从邮件服务器上收取邮件,方便了信息的交流。

1. E-mail系统的组成一个完整的E-mail系统一般由三个部分组成,包括用户邮件代理、邮件服务器和邮件协议。

用户邮件代理(Mail User Agent,简称MUA)是用户与电子邮件系统的接口,负责用户和邮件服务器之间的交互工作。

大多数情况下,MUA就是运行在客户端上的应用程序,其作用是将邮件发送到邮件服务器上和从邮件服务器上接收邮件。

邮件服务器是电子邮件系统的核心,其主要功能是发送和接收邮件,并向发件人告知邮件的传送情况。

邮件服务器根据其功能,分为邮件传输服务器(SMTP服务器)和邮件接收服务器(POP3或IMAP4服务器)。

2. E-mail工作原理E-mail的传输过程如下。

① 用户在各自的POP服务器注册登记,由网络管理员设置为授权用户,并取得一个POP信箱,获得POP和SMTP服务器的地址信息。

假设两个服务器的域名分别为 和,注册用户分别为liu和chen,E-mail地址分别为liu@和chen@。

② 当服务器上的用户liu向chen@发送E-mail时,E-mail首先从客户端被发送至的SMTP服务器。

Linux服务器实用教程sendmail

Linux服务器实用教程sendmail

2. 启动Sendmail
3. 配置DNS的MX记录
$TTL 86400 @ IN SOA . root.localhost ( 2 ; serial 28800 ; refresh 7200 ; retry 604800 ; expire 86400 ; ttl ) IN NS . @ IN MX 1 computer computer IN A 211.85.203.22
(1)SMTP协议
SMTP(Simple Mail Transfer Protocol,简 单邮件传输协议)是Internet上基于TCP/IP应用 层的协议,适用于主机之间电子邮件交换。
使用SMTP时,收信人可以是和发信人连接在同一个 本地网络上的用户,也可以是Internet上其它网络的用户, 或者是与Internet相连但不是TCP/IP网络上的用户,
3 邮件服务器(E-mail)
3.1 概述 电子邮件(Electronic mail)服务是Internet网络为用户 提供的一种最基本的、最重要的服务之一。 电子邮件将邮件发送到收信人的邮箱(mail box)中, 收信人可随时读取邮件。 电子邮件有非常高的效率。
1 E-mail的工作原理
在Internet网上,一封电子邮件的实际传递过程如下: (1)由发送方计算机(客户机)的邮件管理程序将邮件进 行分拆,即把一个大的信息块分成一个个小的信息块,并把 些小的信息块封装成传输层协议(TCP层)下的一个或多个 TCP邮包(分组)。 (2)TCP邮包又按网际层协议(IP层)要求,拆分成IP邮 包(分组),并在上面附上目的计算机的地址(IP地址)。
2. E-mail的地址
完整的电子邮件地址由二部分组成,第一部分为计算机上 的邮箱,第二部分为计算机。一种广泛使用的格式是用 “@”隔开二部分,例如: lb@

linux下架设邮箱 配置篇一[sendmail]

linux下架设邮箱 配置篇一[sendmail]

A、sendmail.mc配置批注vi /etc/mail/sendmail.mcdivert(-1)dnl在生成配置文件时删除额外的输出。

dnl #dnl # This is the sendmail macro config file for m4. If you make changes todnl # /etc/mail/sendmail.mc, you will need to regenerate thednl # /etc/mail/sendmail.cf file by confirming that the sendmail-cf package isdnl # installed and then performing adnl #dnl # make -C /etc/maildnl #这是m4的sendmail宏观设置文件。

如果您做变动/etc/mail/sendmail.mc,您将需要通过认证安装的sendmail-cf包执行make -C /etc/mail命名生成/etc/mail/sendmail.cf文件。

include(`/usr/share/sendmail-cf/m4/cf.m4')dnl将sendmail所需的规则包含进来。

VERSIONID(`setup for linux')dnl指出配置文件是针对linuxOSTYPE(`linux')dnl必须设置为linux以获得sendmail所需文件的正确位置。

dnl #dnl # Do not advertize sendmail version.dnl #dnl define(`confSMTP_LOGIN_MSG', `$j Sendmail; $b')dnldnl #dnl # default logging level is 9, you might want to set it higher todnl # debug the configurationdnl #默认的日志记录级别为9,您可能希望将其设置较高级别,则调整这个配置dnl define(`confLOG_LEVEL', `9')dnldnl #dnl # Uncomment and edit the following line if your outgoing mail needs todnl # be sent out through an external mail server:dnl #如果你需要通过外部邮件服务器发送的邮件的,取消注释和编辑以下行。

linux下使用sendmail来发送邮件

linux下使用sendmail来发送邮件

1、准备email环境安装完后,mail的日志位置一般是:/var/log/maillog测试,有2种方法:(1)命令行测试:echo "This is test mail" | mail -s 'Test mail about something else.' Mchdba@(2)文件测试:mail -s "test" 1621861384@ < /home/email_content.txt日志调试参考:调整日志级别(详细程度):修改配置文件define(confLOG_LEVEL',16’)dnl 默认为9 ,或者调用命令时指定sendmail -O LogLevel=14,详细参考:/support/knowledgecenter/zh/ssw_aix_71/workcomm/sen dmail_debugflags.htm2、报错信息:My unqualified host name (ht_121_90) unknown分析:系统sendmail时会把以ht_121_90作为域名加到主机名后组成完整的长名ht_121_90. ht_121_90来访问,系统当然就会报“unable to qualify my own domain name (ht_121_90)”解决方法:(1)在vim /etc/mail/sendmail.cf 配置文件中查找Dj$w,并在此行下面增加这一行。

Dj$w.(2)在/etc/hosts 增加一行[root@ht_121_90 ~]# more /etc/hosts127.0.0.1 ht_121_90 ht_121_90. #注意后面有一个点.192.168.121.90 [root@ht_121_90 ~]#然后重启sendmail服务[root@ht_121_90 ~]# service sendmail restartShutting down sm-client: [ OK ]Shutting down sendmail: [ OK ]Starting sendmail: [ OK ]Starting sm-client: [ OK ][root@ht_121_90 ~]#再试发送email到qq邮箱,是OK,成功了[root@ht_121_90 ~]# mail -s "test" 1621861384@ < /home/zhanghaoxiang/data-integration/log/job_dw_main.logYou have new mail in /var/spool/mail/root[root@ht_121_90 ~]#查看后台也会显示发送成功了:Oct 9 14:14:03 localhost sendmail[8345]: u996E3pw008345: to=1621861384@, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=48078, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (u996E36P008346 Message accepted for delivery)Oct 9 14:14:04 localhost sendmail[8348]: STARTTLS=client, relay=., version=TLSv1/SSLv3, verify=FAIL, cipher=RC4-SHA, bits=128/128Oct 9 14:14:07 localhost sendmail[8348]: u996E36P008346: to=<1621861384@>, ctladdr=<root@ht_121_90> (0/0), delay=00:00:04, xdelay=00:00:04, mailer=esmtp, pri=138302, relay=. [183.57.48.35], dsn=2.0.0, stat=Sent (Ok: queued as )^C3、再报错误DSN: Service unavailable解决:这种一般是网络问题,网络不能访问139的邮件服务器导致,找网络工程师协调查看下服务器的网络配置。

linux系统SendMail详细配置

linux系统SendMail详细配置

1、安装相关服务DNSMailserver(sendmail、imap)2、启动相关服务Service named restartService sendmail restartService xinetd restartChkconfig ipop3 on3、配置DNS,添加MX纪录配置DNS略正/反向区间文件添加MX纪录IN MX 10(优先级) Mail IN A 192.168.1.1004、主配置文件/etc/mail/sendmail.cf搜索/smtpPort=smtp,Addr=192.168.1.100 5、接受域配置文件Vi /etc/mail/local-host-names添加192.168.1.1006、中继转发配置文件/etc/mail/access.db(不可访问)Vi /etc/mail/access添加192.168.1退出Makemap hash access.db < access 6、添加用户Useradd user01Passwd user01Useradd user02Passwd user027、重启服务Service sendmail restartService xinetd restart补:邮件用户别名,邮件域别名A)用户别名1、Vi /etc/aliases别名用户名A01 user01A02 user02退出2、NewaliasesB)邮件域别名1、配置相关DNS略2、添加域别名Vi /etc/mail/sendmail.cw退出3、接受域配置文件Vi /etc/mail/local-host-names192.168.1.1004、重启服务Service named restartService sendmail restartService xinetd restart补:启用smtp认证1、安装相关模块Rpm –qa | grep saslLinux盘中:RedHat—〉RPMS—>sasl*2、修改/etc/mail/sendmail.mc(sendmail.cf的源代码) Vi /etc/mail/sendmail.mc查询:43 TRUST_AUTH*:44:85 DAEMON_OPTION*:92 DAEMON*注:去掉dnl(注释)3、生成sendmail.cfM4 sendmail.mc >sendmail.cf4、删除部分中继,以免开后门5、客户机我的服务器要求身份验证经过以上步骤后,应该就可以用Outlook Express正常发送邮件了,但这时还不能用Outlook Express从服务器端收取邮件的,因为sendmail默认状态并不具备POP3功能,我们还得自己安装并启用它。

Linux网络配置-Sendmail

Linux网络配置-Sendmail

sendmail运行的主机需要具有完整的域名# service sendmail start# m4 sendmail.mc > sendmail.cf实例配置要求邮件服务器的IP地址为192.168.1.2,主机域名为邮件服务器将为“”域中的用户提供邮件服务邮件服务器具有SMTP用户认证功能域名设置:邮件服务器需要进行域名注册在区域文件中进行A记录和MX记录的设置@ IN MX5 .mail IN A 192.168.1.2设置local-host-names文件, local-host-names文件用于设置提供邮件服务的域名在local-host-names文件中增加“”域# vi /etc/mail/local-host-names//添加邮件服务器提供邮件服务的域名开启sendmail服务的网络接口在sendmail.mc文件中设置服务地址# vi sendmail.mcDAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl//修改为 DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl设置SMTP的用户认证, sendmail.mc文件中的配置# vi /etc/mail/sendmail.mcdnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnldnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl//去除行首的注释标记“dnl”,修改为TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnldefine(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl启动saslauthd服务程序# service saslauthd start邮件用户帐号,Sendmail服务器使用Linux系统中的用户帐号作为邮件帐号建立邮件用户组# groupadd mailuser建立邮件用户帐号# adduser -g mailuser -s /sbin/nologin mike初始化用户口令# passwd mike设置邮件别名和邮件群发功能邮件别名和邮件群发功能使用aliases机制实现,aliases和aliases.db文件/etc/aliases/etc/aliases.dbaliases文件的记录格式name: addr_1, addr_2, addr_3, . . .设置邮件别名admin:mike设置邮件群发testgroup:mike,john修改aliases文件后更新aliases.db文件# newaliases访问控制的设置,access.db数据库可实现基于主机地址的访问控制# cat /etc/mail/accesslocalhost.localdomain RELAYlocalhost RELAY127.0.0.1RELAY192.168.1 RELAY(加入允许网段)#makemap hash access.dbaccess.db数据库默认开启了对邮件服务器本机用户的邮件投递生成sendmail.cf文件# cd /etc/mail# m4 sendmail.mc> sendmail.cf重新启动sendmail服务器,当完成对sendmail服务器的配置后,需要重新启动服务程序# service sendmail restart验证服务程序启动# netstat -ntpl | grep 25tcp 00 0.0.0.0:250.0.0.0:*LISTEN6835/sendmail: acce安装dovecot 服务器(pop3服务)# system-config-packages开启dovecot 的pop3服务修改dovecot.conf文件# vi /etc/dovecot.conf//将以下配置行#protocols = imap imaps//修改为protocols = imap imaps pop3 pop3s使用脚本启动dovecot服务对dovecot.conf配置文件进行设置后,需要重新启动dovecot服务程序# service dovecot restart设置dovecot服务的启动状态设置dovecot的启动状态# chkconfig --level 35 dovecot on验证dovecot服务启动使用netstat命令查看dovecot已经监听110端口# netstat -ntpl | grep 110loris注:未经验证基本配置需要修改的配置文件:/etc/mail/sendmail.mc/etc/mail/local-host-names/etc/mail/access打开sendmail.mc,搜索”127.0.0.1″,找到如下代码;DAEMON_OPTIONS (`Port=smtp,Addr=127.0.0.1,Name=MTA’)修改为:DAEMON_OPTIONS (`Port=smtp,Addr=0.0.0.0,Name=MTA’)监听所有IP地址,搜索”MD5″,找到如下代码:dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN’)dnldnl define(`confAUTH_MECHANISMS’, `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN’)dnl,去掉这两行前面的”dnl”,后面的dnl保留.在shell下执行命令:m4 sendmail.mc > sendmail.cf在local-host-names 中添加邮件服务所使用的域名,比如有账户zbwz@,这里面就填,一个域名占一行,域名最后不用加”.”,域名要解析要sendmail 服务器的IP.最后就是access文件,这个文件只有跨服务器发送邮件时才会用到.比如现在的sendmail服务器S1的IP为”192.168.1.2″,另外一台sendmail服务器S2的IP为”192.168.2.2″,要用S1上的一个邮箱帐号向S2服务器上的邮箱帐号发送邮件.在S2上就需要修改access文件了,在access文件中添加如下内容:192.168.1.2RELAY中继来自192.168.1.2的邮件.保存一下,然后在shell中执行命令:makemap hash access.db最终sendmail程序要用到的还是access.db文件,所以这里要把access文件转换为access.db文件.access文件中其他的一些选项:192.168.1REJACK(拒绝)192.168.1.2OK(绝对允许,完全信任该IP)这里的IP可以使一个IP地址,也可以是一个网段.两台sendmail服务器之间发送邮件需要注意的一些问题:两台sendmail服务器的主机名不可为localhost.localdomain(默认的主机名).需要修改配置文件:/etc/sysconfig/network.或者直接在”网络”里修改,修改后重启网卡,打开/etc/hosts.里面的内容为不能包含新的主机名.telnet到Sendmail服务器的25端口,这里的主机名不为localhost.localdomain时,两台Sendmail就可以互发邮件了.DNS服务器里一定要做好相应的A记录和MX记录.以服务器S1为例:域名为在dns服务器中建立如下记录:@ IN A 192.168.1.2mail IN A 192.168.1.2@ IN MX 10 mail群发功能的实现:实现向team1发送邮件 People[1-3]都能收到打开/etc/aliases文件.添加如下内容:team1:People1,People2,People3team2:People4,People5,People6这里的team[1-2],People[1-6]都是真实用户.需要用useradd命令创建新建Sendmail用户时,如果不希望该用户登陆到系统,可以使用如下命令添加用户: useradd 用户名-s /sbin/nologin照这样配置好后,Sendmail服务器就可以进行最基本的收发邮件工作了Sendmail邮件配置(sendmail-8.13.8-2.el5.i386.rpm,sendmail-cf-8.13.8-2.el5.i386.rpm,m4-1.4.5 -3.el5.1.i386.rpm)由于sendmail的真正配置文件作者是用一种生僻的语言写的,号称天书,没几个人看得懂,所以我们配置的时候是配置的/etc/mail/sendmail.mc,这个比较好懂,每次修改后都要用m4 sendmail.mc > sendmail.cf将修改的内容写到天书里面去。

Linux下SendMail的安装与配置

Linux下SendMail的安装与配置

附2Linux下SendMail的安装与配置一、安装sendmail如果你在安装LINUX的时候,选择了E-MAIL服务,sendmail就已经安装在LINUX系统中了,并且已经作了一些最基本的设置。

如果你在安装时没有选择,或者你需要升级sendmail就可以使用以下方法进行。

1通过RPM包来安装或升级(仅用于RedHat LINUX):1) 首先在光盘上或Internet上找到下面几个RPM包:sendmail-8.9.3-10.i386.rpm sendmail可执行文件sendmail-cf-8.9.3-10.i386.rpm sendmail.cf生成器sendmail-doc-8.9.3-10.i386.rpm sendmail.cf文档2) 然后使用以下命令安装或升级:安装:rpm ?ivh sendmail-8.9.3-10.i386.rpm升级:rpm ?Uvh sendmail-8.9.3-10.i386.rpm2.用源代码编译关安装:1) 首先取得最新版本的源代码:/ftp:///pub/unix/mail/sendmail/2) 展开源代码:cd /hometar ?z xvf sendmail-8.9.3.tar.gz这样就会在/home目录下建立一个sendmail-8.9.3目录:/home/sendmail-8.9.3/README/home/sendmail-8.9.3/src/home/sendmail-8.9.3/cf/home/sendmail-8.9.3/doc3) 编译:由于sendmail自己带了一个编译程序Build,所以不用make命令:cd /home/sendmail-8.9.3/src./Buildinstall二、用sendmail构建一个E-Mail服务器当我们在系统中安装了sendmail后我们就可以使用这台机成为我们的电子邮局了。

因为sendmail的功能强大,配置繁琐。

Linux1 邮件服务器 Sendmail文件

Linux1 邮件服务器  Sendmail文件

Linux1 邮件服务器Sendmail文件Sendmail是配置Sendmail邮件服务器的关键,里面包括许多配置文件,且各个功能都有所不同。

主要包括以下几个:●/etc/mail/sendmail.cf sendmail的主配置文件。

●/etc/mail/access 文件继访问控制。

●/etc/mail/domaitable 域名映射。

●/etc/mail/local-host-name 本地计算机别名。

●/etc/mail/mailertable 为特定的域指定特殊的路由规则。

●/etc/mail/virtusertable 虚拟域配置。

其中,sendmail.cf文件是Sendmail最主要的配置文件,没有它Sendmail就无法运行。

Sendmail文件一向以其内容较长、费解、难以配置而著称。

如果查看里面的内容就会发现它和其它服务器的配置文件截然不同,没有任何的可读性,因此除非真的熟悉其语法原则,否则不建议用户直接对其进行编辑。

Sendmail提供一个宏处理器m4,用户可以先编辑一个相对简单的m4宏配置文件,然后用m4宏处理器把这个文件转换成为Sendmail的配置文件。

在Red Hat Enterprise Linux5.4的/etc/mail目录下,存放着默认的m4宏配置文件sendmail.mc,对于满足一般需求的邮件服务器来讲,用户只需在终端下输入“vi /etc/mail/sendmail.mc”命令,然后按【回车】键进入sendmail.mc文件的编辑界面,对文件进行简单的修改即可满足需求。

此文件的内容如图9-34所示。

图9-34 默认的m4宏文件内容下面来详细的讲解一下这个配置文件。

第1行divert(-1),代表这一行开始一直到divert(0)的部分将在m4进行处理时被忽略掉,不会出现在生成的配置文件中,一般会在这两行之间加入一些版本信息等内容。

文件中有的行是以字符串dnl开头,dnl的作用是注释从它开始到下一行开始的所有字符,即注释部分;还有的行是以dnl结尾,因为m4宏处理器是不识别行的,所以在一行的结尾处需要用dnl注释后面的空格和换行符,以免在生成配置文件中出现不必要的空行。

[转]Linuxsendmail详解

[转]Linuxsendmail详解

[转]Linuxsendmail详解Internet上最基本的服务,现在应该⼤部分⼈都有⾃⼰的邮箱吧,⽤的⼈多,但理解的⼈估计没多少,我⾃⼰以前也是常常⽤,但对其原理并不操⼼。

今天就来操⼼下,进⾏个⼩总结⼀.邮件服务的基本流程邮件服务器构成了电⼦邮件系统的核⼼。

每个收信⼈都有⼀个位于某个邮件服务器上的邮箱(mailbox)。

⾸先,当你将E-mail输⼊你的计算机开始发送时,计算机会根据SMTP协议和TCP/IP协议的要求将你的信件"打包",并加注信件头后送到你所属服务商的邮件服务器上,这就相当于我们平时将信件投⼊邮筒后,邮递员把信从邮筒中取出来并按照地区分类。

然后,邮件服务器根据你注明的收件⼈地址,通过路由器按照当前⽹上传输的情况,寻找⼀条最不拥挤的路径,将信件传到下⼀个邮件服务器。

接着,这个服务器也如法炮制,将信件往下传送。

参与传递信件的每⼀个服务器都会在信件头上注明⾃⼰的名称以及上⼀级邮件服务器的名称和有关的传输记录。

这⼀步相当于邮局之间的转信,即当邮件被分类以后,由始发地邮局运往⽬的地的省会邮局,然后由省会邮局转给下⼀级的地区邮局,这样层层向下传递,最终到达⽤户⼿中。

最后,E-mail被送到⽤户服务商的服务器上,保存在服务器上的⽤户E-mail信箱中。

⽤户个⼈终端电脑通过与服务器的连接从其信箱中读取⾃⼰的E-mail。

这⼀步相当于信件已经被传送到了你的个⼈信箱中,你⾃⼰拿钥匙打开信箱就可以读取信件了。

⽐如dl的邮箱⽤于管理和维护已经发送给他的邮件消息。

⼀个邮件消息的典型旅程是从发信⼈的⽤户代理开始,游经发信⼈的邮件服务器,中转到收信⼈的邮件服务器,然后投递到收信⼈的邮箱中。

基本过程就是如此。

⼆.相关名词解释1. MUA (message user agent)邮件⽤户代理; 由于通常我们 Client 端的计算机都⽆法直接寄信的,所以,需要透过 MUA 来帮我们传达信件,不论是送信还是收信,Client 端的⽤户都需要透过各个操作系统提供的 MUA(⽐如foxmail和outlook) 才能够使⽤邮件系统.从MTA取的信,或者通过POP,IMAP把信发到MTA上(将信息传送给邮件传输代理(MTA ))---后⾯会详细提及2.MTA (message transfer agent)邮件传输代理,MUA 是⽤在 Client 端上⾯的软件,那么这个 MTA 就是⽤在邮件主机上⾯的软件;监视MUA的请求,找出对⽅的MTA,把信传到对⽅MTA服务器,或者把信收到邮件队列(决定信息送⾄⽬的地的路由,然后根据情况决定是否还需要将信息交给中介邮件传输代理)其功能有以下⼏个:★收受外部主机寄来的信件:既然是邮件主机,那么接收邮件就是其主要功能, MTA 最主要的功能就是收受外部来的信件,只要这个信件⾥⾯有 MTA 内部的账号时,那么这封信就会被 MTA 收下来;★帮使⽤者寄出信件:只要使⽤者具有合法的使⽤MTA的权利,那么就可以利⽤这部MTA将信件传送出去,只不过MTA会将信件送给⽬的地的MTA⽽不是⽬的地的MUA,这个可千万别弄混了。

Linux下Sendmail邮件系统安装操作记录

Linux下Sendmail邮件系统安装操作记录

Linux下Sendmail邮件系统安装操作记录sendmail是linux系统中⼀个邮箱系统,如果我们在系统中配置好sendmail就可以直接使⽤它来发送邮箱。

sendmail的配置⽂件/etc/mail/sendmail.cf :Sendmail的主配置⽂件;/etc/mail/access :中继访问控制;/etc/mail/domaintable ;域名映射;/etc/mail/local-host-names ;本地主机别名;/etc/mail/mailertable :为特定的域指定特殊的路由规则;/etc/mail/virtusertable :虚拟域配置。

中继的配置是指⼀台服务器接受并传递源地址和⽬的地址都不是本服务器的邮件。

在两个⽂件中进⾏设置:/etc/mail/relay-domains/etc/mail/access。

废话不多说了,下⾯分享下sendmail在linux系统下的安装部署记录:⼀、安装软件[root@slave-node ~]# yum install -y sendmail[root@slave-node ~]# yum install -y sendmail-cf启动saslauthd服务进⾏SMTP验证(默认是安装的,如果没有,就⼿动安装)[root@slave-node ~]# service saslauthd startStarting saslauthd: [ OK ]⼆、邮件服务配置(iptables防⽕墙关闭)1)配置Senmail的SMTP认证将下⾯两⾏内容前⾯的dnl去掉。

在sendmail⽂件中,dnl表⽰该⾏为注释⾏,是⽆效的,因此通过去除⾏⾸的dnl字符串可以开启相应的设置⾏。

[root@slave-node ~]# vim /etc/mail/sendmail.mc......TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnldefine(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl2) 设置Sendmail服务的⽹络访问权限(如果是直接本机调⽤,可以不⽤操作,采⽤默认的127.0.0.1。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Sendmail 的編譯安裝1. 取得sendmail 原始碼source tarball :ftp:///pub/sendmail/ftp:///pub/sendmail/sendmail.8.11.1.tar.gz2. 解開原始碼與編譯:tar zxvf sendmail.8.11.1.tar.gzcd sendmail-8.11.1;sh ./Build ; make install3. 建立相關目錄:mkdir /etc/mailmkdir /var/spool/mqueuemkdir /var/spool/mailchown root.mail /var/spool/mqueuechown root.mail /var/spool/mail4. 建立sendmail.mc 檔案,用來產生sendmail.cf 主設定檔:include(`m4/cf.m4')define(`confDEF_USER_ID',``8:12'')OSTYPE(`linux')undefine(`UUCP_RELA Y')undefine(`BITNET_RELA Y')define(`confAUTO_REBUILD')define(`confTO_CONNECT', `1m')define(`confTRY_NULL_MX_LIST',true)define(`confDONT_PROBE_INTERFACES',true)define(`PROCMAIL_MAILER_PA TH',`/usr/bin/procmail') define('ALIAS_FILE','/etc/mail/aliases')FEA TURE(`smrsh',`/usr/sbin/smrsh')FEA TURE(`mailertable',`hash -o /etc/mail/mailertable')FEA TURE(`virtusertable',`hash -o /etc/mail/virtusertable') FEA TURE(`domaintable',`hash -o /etc/mail/domaintable') FEA TURE(`access_db', `hash -o /etc/mail/access')FEA TURE(redirect)FEA TURE(always_add_domain)FEA TURE(use_cw_file)FEA TURE(local_procmail)FEA TURE(`blacklist_recipients')dnl FEA TURE(`accept_unresolvable_domains')dnl FEA TURE(`relay_based_on_MX')MAILER(smtp)MAILER(procmail)5. 產生sendmail.cf 檔案m4 sendmail.mc > sendmail.cfmv sendmail.mc /etc/mailmv sendmail.cf /etc/mail6. 建立相關適當的檔案cd /etc/mailtouch accesstouch relay-domainstouch mailertabletouch domaintabletouch aliases7. /etc/mail/access 檔案內容:localhost RELAYlocalhost.localdomain RELAY127.0.0.1 RELAY8. /etc/mail/aliases 檔案內容:MAILER-DAEMON: postmasterpostmaster: rootbin: rootdaemon: rootnobody: rootuucp: rootoperator: rootantispam: rootabuse: root9. 產生sendmail 使用的相關設定檔案所使用的hash 檔案格式:makemap hash access < accessmakemap hash mailertable < mailertablemakemap hash domaintable < domaintablemakemap hash virtusertable < virtusertablemakemap hash aliases < aliases 或者是執行newaliases註: relay-domains 檔案不需要使用makemap 建立hash 檔案10. 啟動sendmail :手動啟動:/usr/sbin/sendmail –bd –q1h開機啟動:在/etc/rc.d/rc.local 檔案內加入:if [ -f /usr/sbin/sendmail && -x /usr/sbin/sendmail ]; thenecho “Starting Sendmail…”/usr/sbin/sendmail –bd –q1hfi啟動參數說明:-b : 指定sendmail以daemon形式啟動。

-d : 指定sendmail在背景執行,監聽port 25,等待信件。

-q : 指定sendmail等待多久之後將mail queue內的信件送出直接透過telnet 與MT A (sendmail) 交談寄信Linux:/>telnet 25Trying 192.168.1.113...Connected to .Escape character is '^]'.220 ESMTP Sendmail 8.9.3/8.9.3; Sun, 12 Nov 2000 helo expn kenduest250 kenduest <kenduest@>250 Hello [192.168.1.100],pleased to meet youmail from:kenduest@250 kenduest@... Sender okrcpt to:kenduest@250 kenduest@... Recipient okdata354 Enter mail, end with "." on a line by itselfSubject: this is a test mailhello....250 NAA16482 Message accepted for deliveryquit221 closing connectionConnection closed by foreign host.直接透過telnet 與POP3 交談抓信Linux:/>telnet localhost 110Trying 127.0.0.1...Connected to localhost.Escape character is '^]'.+OK POP3 localhost v7.64 server readyuser kenduest+OK User name accepted, password pleasepass mypassword+OK Mailbox open, 2 messagesstat+OK 2 80list+OK Mailbox scan listing follows1 502 30top 1 100………. Mail content (include mail head)dele 1+OK Message deletedquit+OK SayonaraConnection closed by foreign host.V acation 自動回信程式vacation 用途簡介:當我們在上班日子裡,放一個特別的假期時,電子郵件依然不斷的湧入。

等放完假回來的時候,發現信箱中一堆抱怨的信件:「前天信件中的問題,為什麼還沒有處理?...」、「昨天寄的信件到底有沒有看到?...」。

如果您有以上的問題,您就可以考慮安裝vacation 自動回信程式。

如果您沒有以上的問題,您也可以考慮安裝vacation 自動回信程式。

:)版本環境<< Slackware 7.0 >> :sendmail : 8.9.3vacation : 1.2.2vacation 取得:/projects/linuxvacation/download/vacation-1.2.2.tar.gz vacation 安裝:1. cd /usr/src2. tar zxf vacation-1.2.2.tar.gz ( 檔案名稱請自行加上路徑:)3. cd vacation4. make install<安裝完成>這麼快,這樣就裝好了?是的,就是這麼簡單。

但是還要修改設定喔:-) ( ps:如果安裝時遇到問題,請參考README 文件)vacation 設定:smrsh:因為sendmail 使用smrsh 限制shell 的使用,所以得先改smrsh 的部分。

參考小州兄在Linux 版上貼過的文章,要在/etc/smrsh 目錄內聯結欲執行的程式:ln -s /usr/bin/vacation 。

不同的distribution 可能會有不同的目錄。

我在Slackware 7.0 中man smrsh 得到的訊息是要在/usr/adm/sm.bin 的目錄內作聯結。

所以這個部分請自行參考系統內的man smrsh 吧。

.forward在使用者song 的家目錄中,新增檔案 .forward。

如:/home/song/.forward檔案的內容只要一行:\song, "|/usr/bin/vacation song"( 小州兄:這個檔案要chmod 600 .forward ,簡單說group、other 不可有write 權限。

).vacation.msg在使用者的家目錄中,新增檔案 .vacation.msg。

如:/home/song/.vacation.msg這個檔案就是自動回信的內容,其中可以使用寄入信件的標題及寄信人作為變數使用。

標題: $SUBJECT,寄信人:$FROM。

其餘欄位是否也可以使用?請自行測試:)範例檔:Subject: Re:$SUBJECTFrom: Song ( 由vacation 程式自動回信)$FROM 您好:我目前無法看到這封信。

相关文档
最新文档