当前位置:首页 » 操作系统 » linux邮件系统

linux邮件系统

发布时间: 2022-05-23 05:47:00

linux下最好的电子邮件软件是什么

Linux 下面的传统的电子邮件传输软件可以使用 sendmail,但是现在可以使用 POSTFIX 来代替 sendmail,它的配置比 sendmail 稍微简单一些。

❷ linux下安装什么邮件服务器比较好

强烈建议你使用postfix,目前大多数linux教程书上都会提到postfix的安装方法,可想而知postfix是主留。postfix的主要特点有:
1. postfix是免费的:
postfix想要作用的范围是广大的Internet用户,试图影响大多数的Internet上的电子邮件系统,因此它是免费的。
2. 更快:
postfix在性能上大约比sendmail快三倍。一部运行postfix的台式PC每天可以收发上百万封邮件。
3. 兼容性好:
postfix是sendmail兼容的,从而使sendmail用户可以很方便地迁移到postfix。Postfix支持/var[/spool]/mail、/etc/aliases、 NIS、和 ~/.forward 文件。
4. 更健壮:
postfix被设计成在重负荷之下仍然可以正常工作。当系统运行超出了可用的内存或磁盘空间时,postfix会自动减少运行进程的数目。当处理的邮件数目增长时,postfix运行的进程不会跟着增加。
5. 更灵活:
postfix是由超过一打的小程序组成的,每个程序完成特定的功能。你可以通过配置文件设置每个程序的运行参数。
6. 安全性
postfix具有多层防御结构,可以有效地抵御恶意入侵者。如大多数的postfix程序可以运行在较低的权限之下,不可以通过网络访问安全性相关的本地投递程序等等。

❸ linux下如何安装邮件系统postfixlinux下如何对邮件系统postfix设置

postfix的安装过程
3.1原始码包的安装
1. 获取postfix的原始码包
从postfix官方站点www.postfix.org取得postfix的原始码包postfix-19991231-pl08.tar.gz。将其拷贝到/tmp
2.解开原始码包,将生成/tmp/ postfix-19991231-pl08目录。
tar xvzf postfix-19991231-pl08.tar.gz
3.编译原始码包
cd /tmp/ postfix-19991231-pl08
make
4.建立一个新用户“postfix”,该用户必须具有唯一的用户id和组id号,同时应该让该用户不能登录到系统,也即不为该用户指定可执行的登录外壳程式和可用的用户宿主目录。我们能先用adser postfix 添加用户再编辑/etc/passwd文件中的相关条目如下所示:
postfix:*:12345:12345:postfix:/no/where:/no/shell
5.确定/etc/aliases文件中包含如下的条目:
postfix: root
6. 以root用户登录,在/tmp/ postfix-19991231-pl08目录下执行命令:
./install.sh
7. 启动postfix
# postfix start
8.关于maildrop目录权限的说明:
postfix能使用一个所有用户都可写的(也即目录权限为1773)的maildrop
目录来让本地用户提交邮件。这种方法避免了使用set-uid 或 set-gid 软件,并且在邮件系统不可用时,用户仍然能提交邮件。其他用户没有访问该目录中的队列文件的权限。接收来自网络的邮件时postfix不使用maildrop目录。不过,由于该目录的权限是733,其他用户能建立一个硬连接到该目录中的文件从而导致该邮件被投递多次或无法删除,也就是说这将导致安全性问题。如果你想要使用这种方式来让用户提交邮件,就要在install.sh 脚本问你是否需要set-gid 时回答no。
如果你的系统有多个用户的话,最佳取消以上的方式而采用利用set-gid 用
户权限提交邮件的方式。这时,我们首先需要建立一个组id唯一的组"maildrop" 并且确定该组中没有用户成员。然后在install.sh 问你是否需要set-gid 时指定"maildrop"。
提示:在安装postfix之前,请删除已安装的sendmail。

3.2 rpm包的安装
1. 获取postfix的rpm软件包。
我们能从http://www.alltrading.es/postfix/rpms/i386/ 获得postfix的rpm软件包。当前的最新版本是postfix-20000531-2.i386.rpm。
2. 备份你的/etc/aliases和/etc/aliases.db,因为postfix要使用该别名数据库
3. 用以下命令查看系统是否安装了sendmail:
[root@mail /root]# rpm -qa |grep sendmail
sendmail-doc-8.9.3-15
sendmail-8.9.3-15
sendmail-cf-8.9.3-15
4. 用以下命令强行卸载sendmail:
[root@mail /root]# rpm -e sendmail sendmail-cf sendmail-doc --nodeps
5. 用以下命令杀死运行中的sendmail进程:
[root@mail /root]# killall sendmail
6. 安装postfix:

7. 启动postfix
[root@mail /root]# /etc/rc.d/init.d/postfix start

3.3 设置系统每次启动时自动启动postfix
1.如果你安装的是postfix的原始码包,能在/etc/rc.d/rc.local文件中加入如下的语句让系统每次启动时自动启动postfix:
if [ -f /usr/libexec/postfix ]; then
/usr/libexec/postfix start
fi
2.如果你安装的是postfix的rpm包,能通过setup命令来设置在系统启动时启动postfix。
四、 postfix的设置详解
4.1 postfix的设置文件结构
postfix的设置文件位于/etc/postfix下,安装完postfix以后,我们能通过ls命令查看postfix的设置文件:
[root@mail postfix]# ls
install.cf main.cf master.cf postfix-script

这四个文件就是postfix最基本的设置文件,他们的差别在于:
mail.cf:是postfix主要的设置文件。
install.cf:包含安装过程中安装程式产生的postfix初始化设置。
master.cf:是postfix的master进程的设置文件,该文件中的每一行都是用来设置postfix的组件进程的运行方式。
postfix-script:包装了一些postfix命令,以便我们在linux环境中安全地执行这些postfix命令。

4.2 postfix的基本设置
postfix大约有100个设置参数,这些参数都能通过main.cf 指定。设置的格式是这样的,用等号连接参数和参数的值。如:
myhostname = mail.mydomain.com
等号的左边是参数的名称,等号的右边是参数的值; 当然,我们也能在参数的前面加上$来引用该参数,如:
myorigin = $myhostname
虽然postfix有100个左右的参数,不过postfix为大多数的参数都设置了缺省值,所以在让postfix正常为你服务之前,你只需要设置为数不多的几个参数。下面我们一起来看一看这些基本的postfix参数。需要注意的是,一旦你更改了main.cf文件的内容,则必须运行postfix reload命令使其生效。

1. myorigin
myorigin参数指明发件人所在的域名。如果你的用户的邮件地址为[email protected],则该参数指定@后面的域名。缺省地,postfix使用本地主机名作为myorigin,不过建议你最佳使用你的域名,因为这样更具有可读性。比如:安装postfix的主机为mail.domain.com则我们能这样指定myorigin:
myorigin = domain.com
当然我们也能引用其他参数,如:
myorigin = $mydomain

2. mydestination
mydestination参数指定postfix接收邮件时收件人的域名,换句话说,也就
是你的postfix系统要接收什么样的邮件。比如:你的用户的邮件地址为[email protected], 也就是你的域为domain.com, 则你就需要接收所有收件人为[email protected]的邮件。和myorigin相同,缺省地,postfix使用本地主机名作为mydestination。
3. notify_classes
在postfix系统中,必须指定一个postfix系统管理员的别名指向一个用户,
只有这样,在用户遇见问题时才有报告的对象,postfix也才能将系统的问题报告给管理员。notify_classes参数就是用来指定向postfix管理员报告错误时的信息级别。共有以下几种级别:

bounce:将不能投递的邮件的拷贝发送给postfix管理员。出于个人隐私的缘故,该邮件的拷贝不包含信头。

2bounce:将两次不可投递的邮件拷贝发送给postfix管理员。

delay:将邮件的投递延迟信息发送给管理员,仅仅包含信头。

policy:将由于uce规则限制而被拒绝的用户请求发送给postfix管理员,包含整个smtp会话的内容。

protocol:将协议的错误信息或用户企图执行不支持的命令的记录发送给postfix管理员。同样包含整个smtp会话的内容。

resource:将由于资源错误而不可投递的错误信息发送给postfix管理员,比如:队列文件写错误等等。

software:将由于软件错误而导致不可投递的错误信息发送给postfix管理员。

缺省值为:
notify_classes = resource, software

4.myhostname
myhostname 参数指定运行postfix邮件系统的主机的主机名。缺省地,该值被设定为本地机器名。你也能指定该值,需要注意的是,要指定完整的主机名。如:
myhostname = mail.domain.com

5.mydomain
mydomain参数指定你的域名,缺省地,postfix将myhostname的第一部分删除而作为mydomain的值。你也能自己指定该值,
6.mynetworks
mynetworks 参数指定你所在的网络的网络地址,postfix系统根据其值来差别用户是远程的还是本地的,如果是本地网络用户则允许其访问。你能用标准的a、b、c类网络地址,也能用cidr(无类域间路由)地址来表示,
7.inet_interfaces
inet_interfaces 参数指定postfix系统监听的网络接口。缺省地,postfix监听
所有的网络接口。如果你的postfix运行在一个虚拟的ip地址上,则必须指定其监听的地址。
4.3 postfix的uce(unsolicited commercial email)控制
所谓uce控制就是指控制postfix接收或转发来自于什么地方的邮件。

缺省地,postfix转发符合以下条件的邮件:
* 来自客户端ip地址符合$mynetworks的邮件。
* 来自客户端主机名符合$relay_domains及其子域的邮件。
* 目的地为$relay_domains及其子域的邮件。

缺省地,postfix接受符合以下条件的邮件:
* 目的地为$inet_interfaces的邮件。
* 目的地为$mydestination的邮件。
* 目的地为$virtual_maps的邮件。
不过我们也能通过下面的规则来实现更强大的控制功能。

1. 信头过滤
通过header_checks参数限制接收邮件的信头的格式,如果符合指定的格式,则拒绝接收该邮件。能指定一个或多个查询列表,如果新邮件的信头符合列表中的某一项则拒绝该接收邮件。
2.客户端主机名/地址限制
通过smtpd_client_restrictions参数限制能向postfix发起smtp 连接的客户端的主机名或ip地址。能指定一个或多个参数值,中间用逗号隔开。限制规则是按照查询的顺序进行的,第一条符合条件的规则被执行。
3. 是否请求helo命令
能通过smtpd_helo_required参数指定客户端在smtp会话的开始是否发
送一个helo命令。你能指定该参数的值为yes或no。
4. helo主机名限制
能通过smtpd_helo_restrictions参数指定客户端在执行helo命令时发送
给postfix的主机名。缺省地,postfix接收客户端发送的任意形式的主机名。能指定一个或多个参数值,中间用逗号隔开。限制规则是按照查询的顺序进行的,第一条符合条件的规则被执行。
5. rfc 821信头限制
rfc 821对邮件的信头做了严格的规定,不过广泛使用的sendmail并不支
持该规定,所以对于该参数我们只能说不,
6. 通过发件人地址进行限制
能用smtpd_sender_restrictions参数通过发件人在执行mail from命令时提供的地址进行限制。能指定一个或多个参数值,中间用逗号隔开。限制规则是按照查询的顺序进行的,第一条符合条件的规则被执行。
reject_unknown_sender_domain:如果mail from命令提供的主机名在dns中没有相应的a 或 mx 记录则拒绝该客户端的连接请求。能用unknown_address_reject_code参数指定返回给客户机的错误代码(缺省为450)。

check_sender_access maptype:mapname:根据mail from命令提供的主机名、父域搜索access数据库。如果搜索的结果为reject 或 "[45]xx text" 则拒绝该客户端的连接请求;如果搜索的结果为ok、relay 或数字则接受该客户端的连接请求。能用access_map_reject_code参数指定返回给客户机的错误代码(缺省为554)。能通过该参数过滤来自某些不受欢迎的发件人的邮件。

reject_non_fqdn_sender:如果mail from命令提供的主机名不是rfc规定的完整的域名则拒绝客户端的连接请求。能用non_fqdn_reject_code 参数指定返回给客户机的错误代码(缺省为504)。
缺省地,postfix接受来自所有发件人的邮件。

7. 通过收件人地址进行过滤
能用smtpd_recipient_restrictions参数通过发件人在执行rcpt to命令
时提供的地址进行限制。缺省值为:
smtpd_recipient_restrictions = permit_mynetworks, check_relay_domains
能指定一个或多个参数值,中间用逗号隔开。限制规则是按照查询的顺序
进行的,第一条符合条件的规则被执行。可用的规则有:

check_relay_domains:如果符合以下的条件,则接受smtp连接请求,否则拒绝该连接,能用relay_domains_reject_code 参数指定返回给客户机的错误代码(缺省为504)。
* 客户端主机名符合$relay_domains及其子域
* 目的地为$inet_interfaces、$mydestination或$virtual_maps

permit_auth_destination:不管客户端的主机名,只要符合以下的条件,就
接受smtp连接请求:
* 解析后的目标地址符合$relay_domains及其子域
* 解析后的目标地址符合$inet_interfaces、$mydestination或$virtual_maps

reject_unauth_destination:不管客户端的主机名,只要符合以下的条件,
就拒绝该客户端smtp连接请求:
* 解析后的目标地址符合$relay_domains及其子域
* 解析后的目标地址符合$inet_interfaces、$mydestination或$virtual_maps

check_recipient_access:根据解析后的目标地址、父域搜索access数据库。如果搜索的结果为reject 或 "[45]xx text" 则拒绝该客户端的连接请求;如果搜索的结果为ok、relay 或数字则接受该客户端的连接请求。能用access_map_reject_code参数指定返回给客户机的错误代码(缺省为554)。

reject_unknown_recipient_domain:如果收件人的邮件地址在dns中没有相应的a 或 mx 记录则拒绝该客户端的连接请求。能用unknown_address_reject_code参数指定返回给客户机的错误代码(缺省为450)。

reject_non_fqdn_recipient:如果发件人在执行rcpt to命令时提供的地址
不是完整的域名则拒绝其smtp连接请求。能用the non_fqdn_reject_code参数指定返回给客户机的错误代码(缺省为504)。

❹ linux邮件服务器常用哪些软件

开源的邮件系统常用的有postfix,sendmail,不过搭建的话需要自己懂技术,操作会比较麻烦一点
付费的有U-Mail,coremail。U-Mail有一体安装盘,安装方便,简单。也可以直接找技术帮忙安装 ,可以下载试用

❺ Linux系统下的邮件系统开发的前景如何

Linux会是未来社会的主流,如果微软的产品还是很贵的话,所以说开发LINUX是很有前途的
支持多传输域:sendmai支持在Internet, DECnet, X.400及UUCP之间转发消息。 Postfix则灵活的设计为无须虚拟域(vistual domai)或别名来实现这种转发。但是在早期的发布里仅仅支持STMP和有限度地支持UUCP,但对于我国用户来说,多传输域的支持没有什么意义。

虚拟域:在大多数通用情况下,增加对一个虚拟域的支持仅仅需要改变一个Postfix查找信息表。其他的邮件服务器则通常需要多个级别的别名或重定向来获得这样的效果。

UCE控制(UCE,unsolicited commercial email): Postfix能限制哪个主机允许通过自身转发邮件,并且支持限定什么邮件允许接进。Postfix实现通常的控制功能:黑名单列表、RBL查找、HELO/发送者DNS核实。基于内容过滤当前没有实现。

表查看: Postfix没有实现地址重写语言,而是使用了一种扩展的表查看来实现地址重写功能。表可以是本地 dbm或 db文件等格式。

Postfix体系结构及与Sendmail的比较

Postfix是基于半驻留,互操作的进程的体系结构,每个进程完成特定的任务,没有任何特定的进程衍生关系(父子关系)。而且,独立的进程来完成不同的功能相对于“单块”程序具有更好的隔离性。此外,这种实现方式具有这样的优点:每个服务如地址重写等都能被任何一个Postfix部件所使用,无须进程创建等开销,而仅仅需要重写一个地址,当然并不是只有postfix采用这种方式。

Postfix是按照这种方式实现的:一个驻留主服务器根据命令运行Postfix守护进程,守护进程完成发送或接收网络邮件消息,在本地递交邮件等等功能。守护进程的数目由配置参数来决定的,并且根据配置决定守护进程运行的次数(re-used times),当空闲时间到达配置参数指定的限度时,自动消亡。这种方法明显地降低了进程创建开销,但是单个进程之间仍然保持了良好的隔离性。

Postfix的设计目标就是成为Sendmail的替代者。由于这个原因,Postfix系统的很多部分,如本地投递程序等,可以很容易地通过编辑修改类似inetd的配置文件来替代。

Postfix的核心是由十多个半驻留程序实现的。为了保证机密性的原因,这些Postfix进程之间通过Unix的socket或受保护的目录之下的FIFO进行通信。即使使用这种方法来保证机密性,Postfix进程并不盲目信任其通过这种方式接收到的数据。

Postfix进程之间传递的数据量是有限制的。在很多情况下,Postfix进程之间交换的数据信息只有队列文件名和接收者列表,或某些状态信息。一旦一个邮件消息被保存进入文件,其将在其中保存到被一个邮件投递程序读出。

Postfix采用一些通常的措施来避免丢失信息:在收到确认以前通过调用flush和fsync()保存所有的数据到磁盘中。检查所有的系统调用的返回结果来避免错误状况。

大多数构建邮件服务器者都会选择sendmail,公平的来讲sendmail是一个不错的MTA(Mail Transfer Agent),最初开发时Eric Allman的设计考虑主要放在了邮件传递的成功性。不幸的是,Sendmai开发时没有太多的考虑Internet环境下可能遇到的安全性问题。Sendmail在大多数系统上只能以根用户身份运行,这就意味着任何漏洞都可能导致非常严重的后果,除了这些问题之外,在高负载的情况Sendmail运行情况不是很好。当然,Sendmail具有一些缺点,其特色功能过多而导致配置文件的复杂性。当然,通过使用m4宏使配置文件的生成变的容易很多。但是,要掌握所有的配置选项是一个很不容易的事情。Sendmail在过去的版本中出现过很多安全漏洞,所以使管理员不得不赶快升级版本。而且Sendmail的流行性也使其成为攻击的目标,这有好处也有坏处:这意味着安全漏洞可以很快地被发现,但是同样使Sendmail更加稳定和安全。另外一个问题是Sendmail一般缺省配置都是具有最小的安全特性,从而使Sendmail往往容易被攻击。如果使用Sendmail,应该确保明白每个打开的选项的含义和影响。一旦你理解了Sendmail的工作原理,就Sendmail的安装和维护就变的非常容易了。通过Sendmail的配置文件,用户实现完成一切可以想象得到的需求。

Qmail是一个选择,其在设计实现中特别考虑了安全问题。如果你需要一个快速的解决方案如,一个安全的邮件网关,则Qmail是一个很好的选择。Qmail和Sendmail的配置文件完全不同。而对于Qmail,其有自己的配置文件,配置目录中包含了5-30个不同的文件,各个文件实现对不同部分的配置(如虚拟域或虚拟主机等)。这些配置说明都在man中有很好的文档,但是Qmail的代码结构不是很好。

Qmail要比Sendmail小很多,其缺乏一些现今邮件服务器所具有的特色功能。如不象Sendmail,qmail不对邮件信封的发送者的域名进行验证,以确保域名的正确性。自身不提供对RBL的支持,而需要add-on来实现。,而Sendmail支持RBL。同样Qmail不能拒绝接收目的接收人不存在信件,而是先将邮件接收下来,然后返回查无此用户的的邮件。Qmail最大的问题就出在发送邮件给多个接收者的处理上。若发送一个很大的邮件给同一个域中的多个用户,Sendmail将只向目的邮件服务器发送一个邮件拷贝。而Qmail将并行地连接多次,每次都发送一个拷贝给一个用户。若用户日常要发送大邮件给多个用户,使用Qmail将浪费很多带宽。可以这么认为:Sendmail优化节省带宽资源,Qmail优化节省时间。若用户系统有很好的带宽,Qmail将具有更好的性能,而如果用户系统的带宽资源有限,并且要发送很多邮件列表信息,则Sendmail效率更高一些。Qmail不支持.forward(.forward在很多情况下对用户很有用处);不使用/var/spool/mail,而是将邮件存放在用户home目录。下面是一些使用Qmail不容易完成的工作,要使用Qmail完成这些工作,可能需要用户自己动手实现或者使用第三方提供的不够可靠的模块。

Qmail的源代码相对于Sendmail来说要更加容易理解,这对于希望深入到内部了解MTA机制的人员来说是一个优点。Qmail在安全性方面也要稳定一些。Qmail有很好的技术支持,但是没有象Sendmail那样被广泛地应用和大量的管理员用户群。Qmail的安装不象Sendmail那样自动化,需要手工步骤。而且Qmail的文档不如Sendmail那样完整和丰富。

Qmail的add-ons比Sendmail要少一些。一般来说对于经验稍微少一些的管理员,选择Qmail相对要好一些。Qmail要简单一些,而且其特色功能能满足一般用户的需求。Sendmail类似于Office套件,80%的功能往往都不被使用。这就使Qmail在一些场合可能被更受欢迎一些,其具有一些Sendmail所没有的更流行和实用的特色功能,如mail具有内置的pop3支持。Qmail同样支持如主机或用户的伪装、虚拟域等等。Qmail的简单性也使配置相对容易一些。

❻ Linux系统如何发送邮件

mail -s "Hello from linuxde.net by shell" [email protected]
hello,this is the content of mail.
welcome to www.linuxde.net

第一行是输入的命令,-s表示邮件的主题,后面的[email protected]则是邮件的接收人,输入完这行命令后回车,会进入邮件正文的编写,我们可以输入任何文字,比如上面的两行。当邮件正文输入完成后,需要按CTRL+D结束输入,此时会提示你输入Cc地址,即邮件抄送地址,没有直接回车就完成了邮件的发送。

❼ linux下有什么好用的邮件客户端

深受Linux用户喜爱的十大邮件客户端

使用电子邮件客户端能让你更方便的管理你的电子邮件。在Linux操作系统下,有一些非常不错的开源的邮件客户端,以下是我们总结的最受用户欢迎的十个邮件客户端。

使用电子邮件客户端能让你更方便的管理你的电子邮件。在Linux操作系统下,有一些非常不错的开源的邮件客户端,以下是我们总结的最受用户欢迎的十个邮件客户端。
1. Claws Mail
这是一个基于GTK+的电子邮件客户端,它拥有优雅精致的界面,配置简单,操作直观,健壮、稳定、可快速响应,并拥有可扩展性。

2. Thunderbird
Mozilla Thunderbird是由Mozilla浏览器的邮件功能部件所改造的邮件工具。Thunderbird 支持 IMAP 、POP 邮件协议以及 HTML 邮件格式。支持垃圾邮件过滤、反“钓鱼”欺诈、高级安全等,可进行个性化配置。

3. KMail
KMail 是一个电子邮件客户端 。它的设计目标是希望成为一个企业级 MUA。支持文件夹、邮件过滤、浏览HTML电子邮件和国际字符集。KMail支持OpenPGP标准,可以自动加密、解密、凭证和验证电子邮件的凭证及其经由内嵌或OpenPGP/MIME方法加密的附件。

4. Balsa
Balsa 是一个GNOME环境下优秀的邮件程序。Balsa 稳定,可配置,能与GNOME环境很好地融合。

5. Sylpheed
Sylpheed是一款简洁的、易操作的、启动快速的、高定制性的轻量级邮件客户端。Sylpheed支持多个平台Linux,BSD,Mac OS X,Windows。Sylpheed使用GTK做图形界面,支持POP3/IMAP4协议,支持GnuPG,SSL/TLSv1 安全性加密,支持HTTP代理,支持反垃圾邮件等。

6. Alpine
Alpine是一个非常易用的邮件客户端,它同时适用于经验不足的电子邮件用户和最苛刻的用户。Alpine基于Pine? 消息系统,并拥有可高度定制的用户体验。
7. Cone
Cone是一个面向屏幕的E-mail/News读写工具。当你在Cone阅读一个文档,你实际上是在阅读一个电子邮件文件夹格式的简化的html文件。其中每一个在线教程显示为一个单独的消息,你可以使用 PgUp 或 PgDn键切换章节,用N和P键移动到下一个/上一个章节。
8. Pine
Pine是由华盛顿大学开发的,虽然最初是为没有经验的电子邮件用户而设计,现在Pine已经支持许多先进的功能,比如根据个人喜好自定义配置等。Pine可用于Unix,以及运行微软操作系统的个人电脑。
9. Mutt
Mutt 是一个很小型但功能强大的,使用文本界面的 MIME 邮件客户端,Mutt 具有高可配置的特性,适合高级邮件用户使用。Mutt基于Unix操作系统开发。

10. SquirrelMail
SquirrelMail 是一个用php开发的Web邮件系统。SquirrelMail对系统要求非常低,安装和配置都非常容易。 SquirrelMail 具备一个客户端邮件程序所应拥有的一切功能,包括支持增强型的MIME、地址薄、文件夹操作等等功能。

❽ 在LINUX中么 怎么配置一个内部的邮件系统,提供P0P3和SMTP收发方式,请把详细的的步骤告诉我 ,非常感谢!

主要步骤:
1. 用以下命令查看系统是否安装了sendmail:
[root@mail /root]# rpm –qa |grep sendmail
sendmail-8.11.0-8
2. 卸载sendmail:
[root@mail /root]# rpm -e sendmail –nodeps
3. 用以下命令杀死运行中的sendmail进程:
[root@mail /root]# killall sendmail
如果系统提示:
sendmail: no process killed
则说明当前系统中没有sendmail进程。
4. 安装postfix:
[root@mail /root]# rpm -ivh postfix-20010228release-2.i386.rpm
若已经安装,则此步可以省略。(注:安装时最好用rpm包,会自动创建postfix用户和postfix组)
5. 安装imap
rpm –ivh /mnt/cdrom/RedHat/RPMS/ imap-4.7c2-12.rpm
imap使pop3有效,即打开110端口。(注:安装时最好用rpm包)
若已经安装,则此步可以省略。
6. 检查系统中是否安装了cyrus-sasl
执行以下命令查看系统中是否安装了cyrus-sasl:
rpm –qa |grep cyurs
如果您看到以下提示,则说明已经安装了cyrus-sasl
[root@test bye2000]# rpm -qa |grep sasl
cyrus-sasl-devel-1.5.24-17
cyrus-sasl-1.5.24-17
否则,请用rpm –ivh 命令先安装所需sasl-cyrus包。
7.修改postfix用户
同时应该让该用户不能登录到系统,也即不为该用户指定可执行的登录外壳程序和可用
的用户宿主目录。
编辑/etc/passwd文件中的相关条目如下所示:
postfix:x:89:89::/no/where:/no/shell [编辑后,只修改蓝色部分就可以了]
即:修改用户的Home directory和Shell 参照 /etc/passwd文件

8.编辑postfix的主要配置文件/etc/postfix/main.cf,根据需求只需修改以下几个参数:
1)mydomain
指明你的域名,在这里我们指定:
mydomain = xx.com
2)myorigin
myorigin参数指明发件人所在的域名。如果你的用户的邮件地址为[email protected],则该参数指定@后面的域名。在这里我们指定:
myorigin = $mydomain
3)inet_interfaces
inet_interfaces = all 监听所有端口
4)mydestination
mydestination参数指定postfix接收邮件时收件人的域名,换句话说,也就是你的postfix
系统要接收什么样的邮件。通常与myorigin一样:
mydestination = $mydomain
5)mynetworks_style
设置网络类型,我们指定:
mynetworks_style = subnet
6)ynetworks
定义可以使用的此smtp服务器发信的客户ip地址,因为公司的ip范围已知,所以我们
指定:
mynetworks = 192.168.1.0/24
注:此项可根据情况而定,主要是指定ip范围,假如公司的ip划分是按照网段来的,例如:10.10.1.0~10.10.1.9,10.10.3.0~10.10.3.9等等更细。根据需要,该项可以不设置。
7)SMTP的配置
为了告诉postfix采用sasl来进行SMTP的用户认证,我们必须在/etc/postfix/main.cf文件的最后添加以下几行:
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_sasl_authenticated
permit_auth_destination reject
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous
说明如下:
smtpd_sasl_auth_enable:告诉SMTP客户,该SMTP服务器需要进行用户认证。

smtpd_recipient_restrictions = permit_sasl_authenticated
permit_auth_destination reject
仅仅中继通过SMTP认证的客户端邮件,以及接收本postfix为最后一站的邮件。
broken_sasl_auth_clients = yes
有一些Microsoft 的SMTP客户端,比如Outlook Express 4.X采用的是非标准的SMTP认证协议,将该选项设置为yes可以解决这类不兼容问题。
smtpd_sasl_security_options = noanonymous
控制本地SMTP认证所采用的机制,这里是允许任何非匿名认证方法。
9.配置SASL
进入/usr/lib/sasl/目录,用touch新建这样一个文件:
[root@test sasl]# touch smtpd.conf
在该文件中加入以下内容:
[root@test sasl]# more smtpd.conf
pwcheck_method:pam
也就是指定通过PAM来进行用户认证。
10.配置PAM
进入/etc/pam.d/目录,用touch新建这样一个文件:
[root@test pam.d]# touch smtp
在该文件中加入如下内容:
[root@test pam.d]# more smtp
#%PAM-1.0
auth required /lib/security/pam_stack.so service=system-auth
account required /lib/security/pam_stack.so service=system-auth
也即和/etc/pam.d/pop文件的内容是一致的。
11.修改/etc/shadow文件权限
因为PAM最终要去读取/etc/shadow文件的内容来进行用户认证,但是/etc/shadow文件
权限是设置为只有root用户可以读写,而我们的postfix是运行在postfix用户权限之下,所以我们要合理的设置/etc/shadow文件权限,以便让pam可以读取其内容。
执行以下命令,让root组也可以读取shadow:
[root@test /etc]# chmod 640 /etc/shadow
然后再将postfix用户加入root组,采用以下命令:
[root@test /etc]# usermod -G root postfix

12.编辑postfix的主要配置文件/etc/postfix/master.cf
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
smtp inet n - n - - smtpd
这里开始
#smtps inet n - n - - smtpd
# -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes
#submission inet n - n - - smtpd
# -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes
这里结束
#628 inet n - n - - qmqpd
把我标的注释部分去掉即可。
13.配置pop3
RedHat7.0已经使用xinetd代替了以前的inetd,为了使pop3服务启动,我们编辑
/etc/xinetd.d/ipop3文件,将其中的disable = yes改为disable = no 以便启动pop3
服务。
为了使改动生效,执行以下命令:
/etc/rc.d/init.d/xinetd reload
14.启动postfix
执行以下命令启动postfix:
/etc/rc.d/init.d/postfix start
这样,一个支持SMTP认证的postfix邮件服务器就配好了。

❾ linux mail服务器怎么用

一、概述:

在配置邮件服务器之前,先解释几个概念。

通常使用Email都很容易,但是Internet的邮件系统是通过几个复杂的部分连接而成的,对于最终用户而言,我们熟悉的Outlook,Foxmail等都是用来收信和发信的,称之为MUA:Mail User Agent,邮件用户代理。

MUA并非直接将邮件发送至收件人手中,而是通过MTA:Mail Transfer Agent,邮件传输代理代为传递,Sendmail和Postfix就是扮演MTA的角色。

一封邮件从MUA发出后,可能通过一个或多个MTA传递,最终到达MDA:Mail Delivery Agent,邮件投递代理,邮件到达MDA后,就存放在某个文件或特殊的数据库里,我们将这个长期保存邮件的地方称之为邮箱。

一旦邮件到达邮箱,就原地不动了,等用户再通过MUA将其取走,就是用Outlook,Foxmail等软件收信的过程。

所以一封邮件的流程是:

发件人:MUA --发送--> MTA -> 若干个MTA... -> MTA -> MDA <--收取-- MUA:收件人

MUA到MTA,以及MTA到MTA之间使用的协议就是SMTP协议,而收邮件时,MUA到MDA之间使用的协议最常用的是POP3或IMAP。

需要注意的是,专业邮件服务商都有大量的机器来为用户服务,所以通常MTA和MDA并不是同一台服务器,因此,在Outlook等软件里,我们需要分别填写SMTP发送服务器的地址和POP3接收服务器的地址。

Linux系统下邮件服务器的搭建(Postfix+Dovecot)

对于网站来说,发送各种例如注册通知的邮件是很基本的一个需求,之前我一直用的是腾讯的企业邮箱,感觉挺方便的,直接可以绑定QQ邮箱接收邮件,网站配置一下SMTP也就可以发出邮件。

但是在前几天由于有重要信息需要立即通知用户,所以选择了群发邮件的方式。在当我以为一切都是辣么完美的时候,陆续有用户过来问我什么情况,我都会跟他们说请查收邮件,但是有好几个人说并没有任何

邮件,于是我试着再发一次,结果返回了错误提示。在网上找了下原因,后来看到这个:各大免费邮箱邮件群发账户SMTP服务器配置及SMTP发送量限制情况,才知道是因为发信数量限制了。

所以只好另寻出路了,然后我在知乎上面找到了很多个提供邮件发送的服务商,大概有这些:SendGrid、MailChimp、Amazon SES、SendCloud、Mailgun等等,在看了不少人的建议之后,我选择了Mailgun。

Mailgun注册和配置都挺简单,很快我就成功的发出了第一封邮件,怀着这封欣喜,我又发送了几封邮件,可是悲剧发生在第三封邮件,Mailgun后台有详细的发送记录,这个非常不错,在后台我看到我的邮件被拒收了,原因大概是该服务器IP的发信频率超过腾讯邮箱限制。所以这里就涉及到IP的问题,目前第三方的邮件发送服务普遍都是共享IP(后面还试过SendCloud、),而共享IP并不能确定是否已经达到接收方的数量限制,一旦达到了就无法再发送。这就是说还需要使用独立IP才能保证邮件有较高的到达率,接着就看了各家的独立IP价格,一般都是二十几甚至四十几美刀一个月,这对于我们这种小站长邮件需求不高的来说确实有点贵,买台VPS都不用这个价吧。

经过上面这些折腾,也算明白了如果要想顺畅的发出邮件的话,除了花钱,就只有自己搭建一个邮件服务器了。

好了,下面开始进入正题,教你搭建一个简单的邮件服务器。

用于搭建的服务器信息

阿里云 Centos 6.5 32位

Postfix-2.8.12.tar.gz Postfix MTA(邮件传输代理)
Dovecot-2.1.8.tar.gz IMAP 和 POP3 邮件服务器
Postfixadmin-2.3.5.tar.gz 采用PHP编写的开源WEB邮箱及域名账号管理工具
Roundcubemail-0.8.1.tar.gz 采用php编写的开源IMAP邮件WEB客户端

安装过程

1.安装Postfix

yum -y install postfix

安装完成还需要替换系统自带的sendmail:

rpm -e sendmail
或者
yum remove sendmail

修改MTA(默认邮件传输代理)

alternatives --config mta

然后直接回车即可。

检查一下是不是已经设置成功了。

alternatives --display mta

第一行可以看到mta的状态。 例如:mat - status is manual.

2.安装Dovecot

yum -y install dovecot

3.配置Postfix

编辑/etc/postfix/main.cf,可以下载下来修改,也可以使用vi进行编辑:

vi /etc/postfix/main.cf

修改如下:

# 75行: 取消注释,设置hostname
myhostname = mail.lomu.me
# 83行: 取消注释,设置域名
mydomain = lomu.me
# 99行: 取消注释
myorigin = $mydomain
# 116行: 修改
inet_interfaces = all
# 119行: 推荐ipv4,如果支持ipv6,则可以为all
inet_protocols = ipv4
# 164行: 添加
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
# 264行: 取消注释,指定内网和本地的IP地址范围
mynetworks = 127.0.0.0/8, 10.0.0.0/24
# 419行: 取消注释,邮件保存目录
home_mailbox = Maildir/
# 571行: 添加
smtpd_banner = $myhostname ESMTP

# 添加到最后
# 规定邮件最大尺寸为10M
message_size_limit = 10485760
# 规定收件箱最大容量为1G
mailbox_size_limit = 1073741824
# SMTP认证
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject

修改好了之后使用/etc/rc.d/init.d/postfix start开启postfix,使用chkconfig postfix on将postfix开机启动。

4.配置Dovecot

修改如下:

[root@mail ~]# vi /etc/dovecot/dovecot.conf
# 26行: 如果不使用IPv6,请修改为*
listen = *

[root@mail ~]# vi /etc/dovecot/conf.d/10-auth.conf
# 9行: 取消注释并修改
disable_plaintext_auth = no
# 97行: 添加
auth_mechanisms = plain login

[root@mail ~]# vi /etc/dovecot/conf.d/10-mail.conf
# 30行: 取消注释并添加
mail_location = maildir:~/Maildir

[root@mail ~]# vi /etc/dovecot/conf.d/10-master.conf
# 88-90行: 取消注释并添加
# Postfix smtp验证
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}

[root@mail ~]# /etc/rc.d/init.d/dovecot start
Starting Dovecot Imap: [ OK ]

[root@mail ~]# chkconfig dovecot on

到这里,我们的邮件服务器就已经搭建成功了。

5.域名解析

最后别忘了还需要进行域名解析工作。

添加一个子域名mail,A记录解析到服务器IP。

再添加一个MX记录,主机记录为空,记录值为上面解析的二级域名mail.lomu.me,优先级10。

注意:解析生效可能需要一段时间。


6.防火墙设置


/sbin/iptables -A INPUT -p tcp --dport 25 -j ACCEPT

/sbin/iptables -A INPUT -p tcp --dport 110 -j ACCEPT

/sbin/iptables -A INPUT -p tcp --dport 143 -j ACCEPT

突破封锁25口的转发

/sbin/iptables -t nat -A PREROUTING -p tcp -m tcp --dport 10025 -j REDIRECT --to-ports 25

7.邮箱使用

一切都弄好以后,就可以使用Foxmail等第三方软件来收发邮件了。在这里需要说一下,系统用户就是邮件的用户,例如root,就是一个邮箱用户,邮箱是[email protected],密码就是root的密码,所以需要创建用户,只要使用useradd创建用户,再使用passwd设置密码

好了,假如我们创建一个admin的用户:

# 创建用户
useradd admin
#设置密码,会要求输入两次密码
passwd admin

接下来登录Foxmail,如图:


点击创建,进入:

这里需要注意,邮件账号是admin,并不是邮箱,另外我们没有配置SSL,所以也不要勾选。 接下来点击创建,如果一切正常的话,你已经成功了。



❿ 如何用linux制作邮件系统发件箱界面设计及代码

Red Hat上sendmail服务一般是自动启动的。可以通过下面的命令查看sendmail服务的状态:
service sendmail status
如果sendmail服务未启动可以使用如下命令启动:
service sendmail start
【注意】每次修改网络配置后(如修改IP,主机名等),都要重新启动sendmail服务,否则发送邮件会失败。
使用mail命令发送Internet邮件的最简单的语法形式为:
mail username@address
下面是一个发送邮件的简单示例:
Subjiect:是邮件的主题
下面是邮件的正文
【注意】这里的Cc:是按Ctrl+D键后的现实结果,不属于邮件内容
检查邮件是否发送成功可以使用下面的命令:
sendmail–bp
若显示“/var/spool/mqueueisempty”的信息,表示邮件发送成功。打开子自己的邮箱就可以看见邮件发送成功状态。
若显示其他错误信息,邮件肯定发送失败了。一般情况下需要重启sendmail服务。
这也是为什么提sendmail服务的原因。
如果想把一个文本文件的内容当做电子邮件的内容,则可以使用下面的命令:
mail-s“subject”username@address

catfilename|mail-s“subject”username@address
参数-s表示邮件的主题
例如:
mail-s“Atestmailfile”[email protected]
mail命令不能发送附件,如果要发送附件,推荐安装mutt邮件客户端的RPM软件包。
使用-a参数指定附件,其他参数与mail命令类似:
例如:
mutt-s“testmutt”-a/root/[email protected]
mutt是一个非常强大的软件。

热点内容
湛江移动服务器ip 发布:2024-10-26 13:12:17 浏览:633
找回dns服务器地址 发布:2024-10-26 12:48:23 浏览:239
王者皮肤系统脚本 发布:2024-10-26 12:46:44 浏览:507
电脑配置8g怎么查看 发布:2024-10-26 12:40:58 浏览:810
布朗编程 发布:2024-10-26 12:35:27 浏览:305
php平滑重启 发布:2024-10-26 12:25:33 浏览:945
竹压缩板材 发布:2024-10-26 12:21:32 浏览:754
重大校园网服务器地址 发布:2024-10-26 12:06:10 浏览:876
js引入php 发布:2024-10-26 12:05:48 浏览:469
编程扩大条件 发布:2024-10-26 11:58:06 浏览:341