Postfix+Dovecot+MySQL搭建邮件服务器

网上有很多使用Postfix搭建邮件服务器的文章,但目前貌似没有看到较为完整的一篇。本例将尝试在Ubuntu系统中使用Postfix+Dovecot+MySQL搭建邮件服务器。 说到邮件服务器,网上有许多不同解决方案。Window操作系统下常见的邮件服务器有hMailServer、MailEnable、EVOMailServer、Apache James(纯Java跨平台)等。 而在Linux/Unix系统中常用的邮件服务器也有不少选择,最经典也是最常见的莫过于Postfix。这篇文章将会讲述如何在Ubuntu系统之下,通过Postfix、Dovecot、MySQL整合实现普通意义上「邮件服务器」的大部分功能。 开始之前 配置邮件服务器并不是一项简单的工作,其过程不仅需要一定的技术能力,同时也需要大家具有一定的耐心,同时也需要大家非常细心。为了能够「看懂」并「最终实践」这篇文章,大家还需要了解或掌握以下知识: Postfix: 是一个标准的MTA「Mail Transfer Agent」服务器,它负责通过SMTP协议管理发送到本机的邮件以及由本机发向外界的邮件。在本例中,Postfix会把邮件的本地投递工作「接受到邮件之后将邮件存档到本地磁盘」交给Dovecot的LMTP服务「Local Mail Transfer Protocol service」处理。当然,当大家想通过服务器向外界发送邮件时,Postfix还将负责验证权限以确保服务器不被滥用。「很多邮件服务器根本没有对SMTP做用户验证,这将导致任何匿名用户都可以通过服务器向外界发送邮件,从而使得服务器变成垃圾中转站」 Dovecot: 是一个非常优秀的IMAP/POP服务器用以接收外界发送到本机的邮件。通常,Dovecot的工作内容包括:验证用户身份以确保邮件不会被泄露。在本例中,Dovecot将负责所有的「身份验证」工作,我们会配置Dovecot查询本地的MySQL数据库以确认用户身份 MySQL: 不必多说,它将存储所有的用户信息,其中包括:需要监听的域名信息、用户邮箱地址、登录密码、邮箱别名「alias」等 Ubuntu: 本例中的OS将选择Ubuntu14.10作为标准,其他Linux发行版的相关操作不在描述 工作原理 服务器接收邮件的过程 在开始讲述本例的内容之前,我们先来看看Postfix+Dovecot+MySQL是如何相互协作以实现邮件服务器的各项功能。我们假设 张三通过oschina.net的邮箱zhangsan@oschina.net发送一份邮件给 李四lisi@mydomain.com,则服务器接收邮件的过程大致如下图所示: zhangsan@oschina.net发送邮件到lisi@mydomain.com oschina.net服务器会通过DNS查询mydomain.com的MX记录并找到Postfix所在的服务器 邮件被发送给Postfix Postfix转向MySQL求助,以查询mydomain.com是不是需要处理的域名 MySQL返回确认信息给Postfix…

Continue ReadingPostfix+Dovecot+MySQL搭建邮件服务器

linux下创建具有root权限的帐号

linux下创建具有root权限的帐号 useradd -u 0   -o  -g root  -G root -d /home/user1 user1 usermod -u 0  -o  -g root  -G root user1 说明: -u 0:指将uid指定为0(零)与root相同,登录后的提示符为#而非$。 -o:指因为重复了uid(与root帐号的uid重复)必须指定这个参数。 -g root:初始化组的组名,当用户属于多个组时,(在-G参数中指定),登录时所在组。缺省该项时,系统新建一个与用户名同名的组,并且初始化时设为该组名。而不论-G指定为哪些组。 -G root:指定用户名所属的组列表,一个用户可以属于多个组,组名间用逗号分隔,组名必须已经存在。 -d…

Continue Readinglinux下创建具有root权限的帐号

sudo

sudo -s 是用 root 的权限执行默认的 shell nagaregawa 发表于 2011-01-12 18:30 这位仁兄的回答 豁然开朗! #sudo  -s  我只是从结果看 切换到了root ,我狐疑的是sudo -s 是否等于sudo su -  其实执行的动作是不一样的 做个试验来验证,我修改了我普通用户的$SHELL(改成csh,而root的还是默认的bash) # tail -n 2 /etc/passwd zhenqiang:20003:20003::/home/zhenqiang:/bin/csh 仔细看如下命令执行: [zhenqiang@www ~]$ id…

Continue Readingsudo