postfix邮件测试
linux环境下postfix+dovecot+webmail安装配置详解

构建postfix邮件服务器(一)1、编译安装Postfix[root@mail ~]# groupadd -g 1200 postdrop[root@mail ~]# groupadd -g 1000 postfix[root@mail ~]# useradd -M -s /sbin/nologin -u 1000 -g postfix -G postdrop postfix[root@mail ~]# tar zxf postfix-2.4.6.tar.gz[root@mail ~]# gunzip postfix-2.4.6-vda-ng.patch.gz[root@mail ~]# cd postfix-2.4.6[root@mail postfix-2.4.6]# patch -p1 < ../postfix-2.4.6-vda-ng.patchpatching file README_FILES/VDA_READMEpatching file src/global/mail_params.hpatching file src/util/file_limit.cpatching file src/virtual/mailbox.cpatching file src/virtual/maildir.cpatching file src/virtual/virtual.cpatching file src/virtual/virtual.h[root@mail postfix-2.4.6]#预配置编译参数[root@mail postfix-2.4.6]# make makefiles \'CCARGS=-DHAS_MYSQL -I/usr/local/mysql/include/mysql \-DUSE_SASL_AUTH \-DUSE_CYRUS_SASL -I/usr/include/sasl' \'AUXLIBS=-L/usr/local/mysql/lib/mysql -lmysqlclient -lz -lm \-L/usr/lib/sasl2 -lsasl2 ' && make && make install //编译并进行安装Postfix的配置文件(Postfix系统最主要的配置文件包括:/etc/postfix/main.cf 和/etc/postfix/master.cf.前者是postfix服务的配置文件,后者是master程序的配置文件)[root@mail postfix-2.4.6]# postconf –n //-n 将只列出不同于默认值的配置参数command_directory = /usr/sbinconfig_directory = /etc/postfixdaemon_directory = /usr/libexec/postfixdebug_peer_level = 2html_directory = nomail_owner = postfixmailq_path = /usr/bin/mailqmanpage_directory = /usr/local/mannewaliases_path = /usr/bin/newaliasesqueue_directory = /var/spool/postfixreadme_directory = nosample_directory = /etc/postfixsendmail_path = /usr/sbin/sendmailsetgid_group = postdropunknown_local_recipient_reject_code = 550[root@mail postfix-2.4.6]#[root@mail postfix-2.4.6]# cd /etc/postfix/[root@mail postfix]# postconf -n > main2.cf[root@mail postfix]# mv main.cf main.cf.bak[root@mail postfix]# mv main2.cf main.cfPostfix的启动控制[root@mail postfix]# postfix startpostfix/postfix-script: starting the Postfix mail system[root@mail postfix]# netstat -anpt | grep :25tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 1995/master[root@mail postfix]# postfix check //若配置无误,不会反馈任何信息[root@mail postfix]# postfix reload //重新载入配置信息,而不需要重启Postfix服务postfix/postfix-script: refreshing the Postfix mail system[root@mail postfix]# postfix stoppostfix/postfix-script: stopping the Postfix mail system[root@mail postfix]#配置基于Postfix构建简单电子邮件系统:1、编辑main.cf文件,调整运行Postfix的基本参数[root@mail postfix]#vi main.cfinet_interfaces=192.168.1.199, 127.0.0.1 //设置postfix服务监听的IP地址,缺省为allmyhostname= //设置postfix服务器使用的主机名mydomain= //设置postfix服务器使用的邮件域myorigin=$mydomain //设置外发邮件时发件人地址中的邮件域名mydestination=$mydomain,$myhostname //设置可接收的邮件地址中的域名home_mailbox=Maildir/ //设置邮件存储位置和格式2、添加邮件用户的帐号[root@mail postfix]# groupadd mailusers[root@mail postfix]# useradd -g mailusers -s /sbin/nologin xiaowu[root@mail postfix]# useradd -g mailusers -s /sbin/nologin juncai[root@mail postfix]# passwd xiaowuChanging password for user xiaowu.New UNIX password:BAD PASSWORD: it is based on a dictionary wordRetype new UNIX password:passwd: all authentication tokens updated successfully.[root@mail postfix]# passwd juncaiChanging password for user juncai.New UNIX password:BAD PASSWORD: it is based on a dictionary wordRetype new UNIX password:passwd: all authentication tokens updated successfully.[root@mail postfix]##echo 12345 | passwd --stdin xiaowu //或这样赋予密码Changing password for user xiaowu.passwd: all authentication tokens updated successfully.3、SMTP发送邮件测试[root@mail postfix]# telnet localhost 25Trying 127.0.0.1...Connected to localhost.localdomain (127.0.0.1).Escape character is '^]'.220 ESMTP Postfixehlo 250 250-PIPELINING250-SIZE 10240000250-VRFY250-ETRN250-ENHANCEDSTATUSCODES250-8BITMIME250 DSNmail from:xiaowu@250 2.1.0 Okrcpt to:juncai@250 2.1.5 Okdata354 End data with <CR><LF>.<CR><LF>subject: A TEST MAILHELLO!This is a test mail !!!.250 2.0.0 Ok: queued as 229784E100quit221 2.0.0 ByeConnection closed by foreign host.#grep 229784E100 /var/log/messages //查找发信状态[root@mail postfix]# cat ~juncai/Maildir/new/Return-Path: <xiaowu@>X-Original-To: juncai@Delivered-To: juncai@Received: from localhost (localhost.localdomain [127.0.0.1])by (Postfix) with SMTP id 229784E100for <juncai@>; Thu, 17 Mar 2011 03:02:45 +0800 (CST)subject: A TEST MAILMessage-Id: <20110316190254.229784E100@>Date: Thu, 17 Mar 2011 03:02:45 +0800 (CST)From: xiaowu@To: undisclosed-recipients:;HELLO!This is a test mail !!![root@mail postfix]#构建Dovecot服务器1、编译安装Dovecot软件包[root@mail ~]#useradd –M –s /sbin/nologin dovecot[root@mail ~]#tar zxvf dovecot-1.1.4.tar.gz[root@mail ~]#cd dovecot-1.1.4[root@mail dovecot-1.1.4]# ./configure --sysconfdir=/etc --with-mysql && make && make install2、配置Dovecot的运行参数(1)建立dovecot.conf配置文件并进行简单设置[root@mail dovecot-1.1.4]# cp /etc/dovecot-example.conf /etc/dovecot.conf[root@mail dovecot-1.1.4]#vi /etc/dovecot.confssl_disable = yesprotocols = imap pop3disable_plaintext_auth = nomail_location = maildir:~/Maildir(2)创建PAM认证文件[root@mail dovecot-1.1.4]# vi /etc/pam.d/dovecotauth required pam_nologin.soauth include system-authaccount include system-authsession include system-auth3、启动Dovecot服务[root@mail ~]# /usr/local/sbin/dovecot -c /etc/dovecot.conf[root@mail ~]# netstat -anpt | grep dovecottcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN 3713/dovecottcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 3713/dovecot[root@mail ~]#4、POP3接收邮件测试[root@mail ~]# telnet localhost 110Trying 127.0.0.1...Connected to localhost.localdomain (127.0.0.1).Escape character is '^]'.+OK Dovecot ready.user juncai+OKpass juncai+OK Logged in.list+OK 1 messages:1 511.retr 1+OK 511 octetsReturn-Path: <xiaowu@>X-Original-To: juncai@Delivered-To: juncai@Received: from localhost (localhost.localdomain [127.0.0.1])by (Postfix) with SMTP id 229784E100for <juncai@>; Thu, 17 Mar 2011 03:02:45 +0800 (CST) subject: A TEST MAILMessage-Id: <20110316190254.229784E100@>Date: Thu, 17 Mar 2011 03:02:45 +0800 (CST)From: xiaowu@To: undisclosed-recipients:;HELLO!This is a test mail !!!.quit+OK Logging out.Connection closed by foreign host.[root@mail ~]#WEBMAIL邮件界面SquirrelMail的工作流程1、依次安装squirrelmail程序包、中文语言包[root@mail ~]# tar jxvf squirrelmail-1.4.13.tar.bz2 -C /usr/local/apache2/htdocs /webmail[root@mail ~]# cd /usr/local/apache2/htdocs/webmail/[root@mail webmail]# tar jxvf ~/zh_CN-1.4.13-20071220.tar.bz22、创建及调整数据目录、附件目录[root@mail webmail]# mkdir -p attach data[root@mail webmail]# chown -R daemon:daemon attach/ data/ [root@mail webmail]# chmod 730 attach/3、建立config.php配置文件[root@mail webmail]# cp config/config_default.php config/config.php [root@mail webmail]# vi config/config.php$squirrelmail_default_language = 'zh_CN';'en_US' $default_charset = 'zh_CN.UTF-8'; 'iso-8859-1' $domain = '';$smtpServerAddress = 'localhost';$smtpPort = 25;$imapPort = 143;$imap_server_type = 'dovecot';$data_dir = '/usr/local/apache2/htdocs/webmail/data/'; $attachment_dir = '/usr/local/apache2/htdocs/webmail/attach/';4、重新启动httpd服务,并在浏览器中登录squirrelmail系统[root@mail webmail]# ../../bin/apachectl restart在该界面中可以完成发信、收信等电子邮件服务的基本操作。
spf

一、SPF 原理SPF全称为Sender Policy Framework,可以防止别人伪造你来发邮件,是一个反伪造性邮件的解决方案。
当你定义了你的domain name的SPF记录之后,接收邮件方会根据你的SPF记录来确定连接过来的IP地址是否被包含在记录里面,如果在,则认为是一封正确的邮件,否则则认为是一封伪造的邮件。
让别人验证自己:配置自己所在域的DNS,添加 TXT 记录,用于向支持SPF功能的邮件服务器提供验证信息.让自己验证别人:可以配置电子邮件系统(qmail, sendmail)支持SPF,对服务器上每封进入的邮件进行验证.SPF是国际知名的反垃圾标准看一下SPF原理和设置方法。
什么是SPF记录?这里的SPF是指Sender Policy Framework。
翻译过来就是发信者策略架构,比较拗口,通常都直接称为SPF。
在域名管理系统中对域名做一条以SPF格式为准的txt记录即为SPF记录。
SPF记录有什么用?SPF是为了防范垃圾邮件而提出来的一种DNS记录类型,它是一种TXT类型的记录,它用于登记某个域名拥有的用来外发邮件的所有IP地址。
例如: dig TXT . 27970 IN TXT “v=spf1 ip4:218.16.118.186 -all”按照SPF的格式在DNS记录中增加一条TXT类型的记录,将提高该域名的信誉度,同时可以防止垃圾邮件伪造该域的发件人发送垃圾邮件。
SPF是跟DNS相关的一项技术,它的内容写在DNS的txt类型的记录里面。
mx记录的作用是给寄信者指明某个域名的邮件服务器有哪些。
SPF的作用跟mx相反,它向收信者表明,哪些邮件服务器是经过某个域名认可会发送邮件的。
由定义可以看出,SPF的作用主要是反垃圾邮件,主要针对那些发信人伪造域名的垃圾邮件……如何查询SPF记录?当前市场上很多邮件系统和供应商都已经开始支持SPF,比如,那么该如何得到的SPF值呢?在CMD环境中,键入:nslookupset type=就会得到以下的结果: text =“v=spf1 ip4:220.181.12.0/22 ip4:202.108.9.128/25ip4:202.108.5.0/24 ~all” nameserver = nameserver = internet address = internet address = 220.181.28.3其中:“v=spf1 ip4:220.181.12.0/22ip4:202.108.9.128/25 ip4:202.108.5.0/24 ~all”就是的SPF值。
网络服务器搭建、配置与管理 项目11 配置与管理Postfix邮件服务器

(3)第三方中继。
由服务器提交的OPEN RELAY不是从客户端直接提交的。比如我的域是A,我通过服务器B(属于 B域)中转邮件到C域。这时在服务器B上看到的是连接请求来源于A域的服务器(不是客户),而邮 件既不是服务器B所在域用户提交的,也不是发B域的,这就属于第三方中继。这是垃圾邮件的根本。 如果用户通过直接连接你的服务器发送邮件,这是无法阻止的,比如群发软件。但如果关闭了OPEN RELAY,那么他只能发信到你的组织内用户,无法将邮件中继出组织。
MUA MTA MTA MTA MDA 邮箱
队列
队列
图11-2 电子邮件传输过程
队列
11.1.4 与电子邮件相关的协议
常用的与电子邮件相关的协议有SMTP、POP3和IMAP4。
8
1.SMTP
简单邮件传输协议(Simple Mail Transfer Protocol,SMTP)默认工作在TCP的25端口。SMTP属 于客户机/服务器模型,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转 方式。SMTP属于TCP/IP协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。通过 SMTP指定的服务器,就可以把电子邮件寄到收件人的服务器上了。SMTP服务器则是遵循SMTP的 发送邮件服务器,用来发送或中转发出的电子邮件。SMTP仅能用来传输基本的文本信息,不支持字 体、颜色、声音、图像等信息的传输。
邮件服务器安装和配置

邮件服务器安装和配置概述邮件服务器是一种用于发送、接收和存储电子邮件的软件系统。
在企业和个人日常沟通中,邮件服务器发挥着重要的作用。
本文将介绍如何安装和配置邮件服务器。
步骤一:选择邮件服务器软件在安装和配置邮件服务器之前,需要选择合适的邮件服务器软件。
常见的邮件服务器软件有以下几种:1.Postfix:一个流行的开源邮件服务器软件,易于安装和配置,具有良好的安全性和性能。
2.Sendmail:一种经典的邮件传输代理(MTA),可靠且功能强大,但配置复杂。
3.Exim:一个易于配置的邮件服务器软件,支持多种邮件协议和扩展。
4.Microsoft Exchange Server:适用于Windows环境的商业邮件服务器软件,具有广泛的功能和集成性。
在选择邮件服务器软件时,需要考虑操作系统兼容性、安全性、功能需求和配置复杂性等因素。
步骤二:安装邮件服务器软件在选择了合适的邮件服务器软件后,接下来需要安装它。
以下是一般的安装步骤:1.下载邮件服务器软件的安装包。
可以从官方网站或开源软件社区下载最新版的安装包。
2.解压安装包并进入解压后的目录。
3.执行安装命令,根据提示完成安装过程。
安装命令可能因不同的软件而有所不同,一般需要使用管理员权限来执行。
4.检查安装是否成功。
可以使用命令行工具或图形界面来验证安装是否成功。
步骤三:配置邮件服务器在成功安装邮件服务器软件后,需要进行相应的配置,以确保其正常运行。
以下是一般的配置步骤:1.打开配置文件。
不同的邮件服务器软件使用不同的配置文件,一般位于安装目录下的/etc或conf子目录中。
2.根据需求修改配置文件。
配置文件包含了各种配置选项,例如网络设置、域名配置、认证方式、存储路径等。
根据具体需求进行修改。
3.保存并关闭配置文件。
在修改完配置文件后,保存并关闭文件。
4.重启邮件服务器。
根据具体的邮件服务器软件,执行相应的命令来重启邮件服务器。
5.检查邮件服务器的运行状态。
实验2-1-DNS+postfix+雷鸟和roundcubemail

实验2-1-DNS+postfix+雷鸟和roundcubemail>>实验要求:1、搭建DNS服务器,了解DNS与邮件服务器之间的关系2、安装postfix服务3、安装雷鸟客户端4、搭建roundcubemail>>实验步骤:第一步:搭建DNS服务1、安装DNS组件2、启动DNS服务查看配置文件3、配置DNS的配置文件4、重启服务,找一个客户端测试第二步:安装postfix邮件服务1、开启postfix服务2、配置postfix服务Vim /etc/postfix/main.cf3、查看postfix各参数4、创建mail账户,并使用客户端的telnet吗,命令来验证邮件服务第三步:开始搭建雷鸟客户端1、先用另一台客户端来验证邮件服务2、将下载好的雷鸟安装包放到客户端上3、将下载好的雷鸟安装包解压到指定目录4、创建一个启动脚本5、使用脚本来启动雷鸟6、雷鸟的使用7、发送邮件第四步:搭建webmail1、将下载好的webmail下载到linux服务端上,并解压到指定目录tar –zxvf roundcubemail-0.3.1.tar.gz –C /var/www/html mv roundcubemail-0.3.1 webmail2、搭建mysql数据库及php环境Yum -y install mysql mysql-server php php-mysql3、启动数据库服务4、修改数据库的密码,并进入数据库5、创建数据库及权限给予6、设置Roundmail的数据库信息和配置文件Vim db.inc.phpVim naub.inc.php7、修改目录访问权限8、访问网站。
Linux系统下基于postfix垃圾邮件过滤方法

Linux系统下基于postfix垃圾邮件过滤方法
金京犬
【期刊名称】《新乡学院学报(自然科学版)》
【年(卷),期】2018(035)009
【摘要】针对垃圾电子邮件存在的安全隐患,对Linux系统下postfix垃圾邮件过滤方法进行深入研究,并在此基础上设计了结合smtp和ssl机制验证客户端发送邮件人的身份的方法.实验表明:该方法能够有效阻止垃圾邮件入侵用户邮箱,提高了邮件系统的安全性,实现了指定用户的邮件收发功能.
【总页数】4页(P45-48)
【作者】金京犬
【作者单位】安徽邮电职业技术学院计算机系,安徽合肥230031
【正文语种】中文
【中图分类】TP311.5
【相关文献】
1.基于Linux系统的Postfix邮件管理系统的开发 [J], 杨波
2.Linux系统下postfix邮件系统反垃圾技术解析 [J], 李志东
3.基于Postfix的垃圾邮件过滤技术的实现 [J], 马莉;柴乔林
4.基于集成学习的图像垃圾邮件过滤方法 [J], 赵俊生;候圣;王鑫宇;尹玉洁
5.Linux系统下基于postfix垃圾邮件过滤方法 [J], 金京犬
因版权原因,仅展示原文概要,查看原文内容请购买。
email格式测试用例

email格式测试用例Email格式测试用例可以从多个方面来考虑,包括合法的和非法的情况。
以下是一些可能的测试用例:1. 合法的Email格式:a. 正常的Email地址,例如,*******************.b. 包含点号的Email地址,例如,********************.c. 包含加号的Email地址,例如,jane+***************.d. 包含连字符的Email地址,例如,joe-*****************.e. 包含下划线的Email地址,例如,**********************.f. 包含数字的Email地址,例如,*****************.2. 非法的Email格式:a. 缺少@符号的Email地址,例如,.b. 缺少域名的Email地址,例如,example@。
c. 域名包含特殊字符的Email地址,例如,example@exam$.d. 域名包含多个@符号的Email地址,例如,example@*******************.e. 用户名包含特殊字符的Email地址,例如,exa$****************.f. 用户名包含空格的Email地址,例如,ex*****************.3. 边界条件的测试用例:a. 最短的合法Email地址,例如,*************.b. 最长的合法Email地址,例如,12345678901234567890123456789012345678901234567890123456789*****************.4. 特殊场景的测试用例:a. 包含国际化域名的Email地址,例如,用户@例子.测试。
b. 包含IP地址的Email地址,例如,user@[IPv6:2001:db8::1]在测试Email格式时,需要验证这些测试用例是否符合RFC 5322中对Email格式的规范要求。
postfix 详解

深入理解postfixpostfix 可以在内存有限的系统上执行,而不会影响其它服务的效能,这是因为postfix 提供的内存管理功能非常有弹性,可以依据各种需求加以调整。
每封邮件用量限制当postfix 处理邮件时,必须将邮件暂存于邮件队列中,其中maildrop 和incoming 队列使用硬盘,而active 和deferred 则使用内存,每封暂存在队列中的邮件耗用多少内存是由邮件数据结构来决定,幸运的是这个数据结构的字段大小是可以微调的,透过这些微调就能决定postfix 的最大内存用量了!line_length_limit = 2048 从客户端接收待寄邮件时,每行最多2 KBheader_size_limit = 102400 每封邮件的标头大小不得超过100 KBextract_recipient_limit = 10240 每封邮件的收信人字段不得超过10 KBmessage_size_limit = 10240000 每封邮件(包含信封)的大小,不得超过10 MBqueue_minfree = 当内存剩下多少Bytes 时,才可以处理下一封邮件,预设是没有限制。
bounce_size_limit = 50000 警告信的大小限制为50 KB。
假设通通使用默认值,也就是所有参数都不设置,那么处理一封邮件须耗用10.05 MB,再加上postfix 模块程序的大小,总共约20 MB,这也就是postfix 运行的最小需求了!邮件数量限制当前述用量限制设置完毕后,接着我们还可以针对邮件队列一次要处理多少邮件作出限制,把每封邮件内存用量乘上邮件数量,就可以算出所需的内存总量,当内存足够时,我们当然希望尽可能多处理几封邮件来增进postfix 的效能。
qmgr_message_recipient_limit = 1000 这个参数之前介绍过了,除了用来控制dead 清单的大小外,也控制着处理中的邮件收信人总量,两者的预设限制都是1000。
Linux邮件服务器

Service dovecot start
7、测试邮件的收发:
建立两个用户sutdent和teacher,在outlook中配置这两个帐号,并发送、接收邮件进行测试。
mynetworks = 192.168.1.0/24
使用:wq保存退出。
5、修改dovecot服务(POP3服务,用来收取邮件)的配置文件 dovecot.conf文件里的参数。
定位到dovecot.conf 的目录:cd /etc
编辑dovecot.conf配置文件: vi dovecot.conf
mydestination = $myhostname, localhost.$mydomain, localhost,$mydomain
注意,在以后一行,添加如下参数:
myhostname =
mydomain =
大概在第15行加入protocols = pop3
在第23行修改为pop3_listen = [192.168.1.1]
这里的192.168.1.1是邮件服务器地址,请根据你的实际使用地址配置。
6、启动postfix和dovecot服务:
Service postfix start
cp main.cf.default main.cf
3、然后在mian.cf配置文件中修改相关参数,执行如下命令:
vi main.cf(打开main.cf配置文件)
在169行mydestination = $myhostname, localhost.$mydomain, localhost后添加逗号“,”,再添加一个参数$mydomain。修改完毕后如下所示:
在红旗Linux中打开一个系统终端,使用纯文本方式配置邮件服务器:
postfix+dovecot+openwebmail企业邮件系统

添加下面的数据
[openwebmail]
## Thomas Chung
## 2008.05.29
name=Openwebmail for Fedora or Enterprise Linux
shell> tar zxvf dovecot-1.1.4.tar.gz
shell> cd dovecot-1.1.4
shell> ./configure --sysconfdir=/etc
shell> make
shell> make install
2、调整dovecot.conf配置文件
Service httpd start
12、测试登陆openwebmail
在IE里输入mail.***.com/cgi-bin/openwebmail/openwebmail.pl, 这个地址是不是很长,那么我们来点短点的
在 httpd的 配置文件中添加 下面 内容:
ScriptAlias /mail /var/www/cgi-bin/openwebmail/openwebmail.pl
这样在IE 中直接输入
13、修改openwebmail的中文支持
Vi /var/www/cgi-bin/openwebmail/etc/openwebmail.conf
Domainnames
Default_language zh_CM.GB2312
5款主流邮件服务器软件测试比较

5种主流邮件服务器软件测试的比较1. Magic Winmail邮件服务器测试版本:4.8(内部版本0811)关键字:易于上手,功能齐全,界面漂亮,但需要注册,未注册的版本可以使用30天,并且支持20个用户的5个域名。
该软件的主要功能是:Winmail Mail Server是一种安全,易于使用且功能齐全的邮件服务器软件。
它不仅支持SMTP / ESMTP / POP3 / IMAP / Webmail / LDAP(公用地址簿)/多域/邮件身份验证/反垃圾邮件/邮件过滤/邮件组/标准邮件功能(例如公用邮件文件夹)以及提供RBL / SPF / SpamAssassin /邮件签名验证/邮件防病毒/邮件监视/支持IIS,Apache /网络硬盘和共享/ SMS提醒/邮件备份/ SSL(TLS)安全传输协议/邮件网关/动态域名支持/远程管理/ Web管理/独立域管理员/在线注册/二次开发界面功能。
它可以用作Internet邮件服务器,局域网邮件服务器以及用于ADSL宽带,FTTB,电缆调制解调器和其他访问方法的邮件服务器和邮件网关。
主要特征·支持通用的邮件客户端软件Outlook,Outlook Express,Windows Mail,Live Mail,Foxmail,Thunderbird等,以发送和接收邮件。
·Web版界面模仿163个邮箱,界面精美,界面友好·支持邮件杀毒功能·支持公共通讯录,Outlook,Outlook Express,Webmail等可以查看,方便企业共享用户信息。
·提供网络磁盘功能,可以通过Webmail或常规的FTP客户端软件进行访问。
·提供Web日历和Web记事本服务。
·支持短信提醒,当收到新邮件时,您可以在手机上收到通知。
·用户可以同时接收公司内部邮件和通过Internet发送的邮件。
postfix+dovecot+roundcube webmail+postfixadmin搭建邮件系统

2.配置postfix
[root@mail ~]# vim /etc/postfix/main.cf
#基本配置
myhostname =
mydomain =
myorigin = $mydomain
inet_interfaces = all
mynetworks_style = host
virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql_virtual_mailbox_limit_maps.cf
virtual_mailbox_limiபைடு நூலகம்_override = yes
virtual_maildir_limit_message = Sorry, this user has exceeded their disk space quota, please try again later.
virtual_uid_maps = static:2000
EMOS邮件系统外网连接调试

自己遇到的问题能够发出邮件,但是却收不到更改了以下项目,测试成功mynetworks = 10.10.119.0/24 127.0.0.0/8改为mynetworks = 111.11.115.185/24 127.0.0.0/8111.11.115.185是我公司的外网地址另外在使用OUTLOOK 时,在配置时注意下面的一点邮件地址、接收和发送的邮件服务器地址一定要写正确,接收和发送的邮件服务器的域名要解析成功。
在域名管理的网站上添加接收和发送邮件服务器的A记录,添加MX记录.如下图所示,必须启用验证。
emos 邮件系统的搭建后常见问题基于emos 邮件系统的搭建以及常见问题实施步骤1 、解析、拓扑图邮件服务器,首先需要有解析的哦,最好先搭建dns,否则做到后便你都不知道你是怎么挂掉的哦。
我这里已经用万网的解析了。
不再谈dns 的搭建了(*^__^*) 嘻嘻……。
准备软硬件Emos 1.4 安装系统下载地址为:[url=/iso/emos/EMOS_1.2.iso]/iso/em os/EMOS_1.2.iso[/url]Postfix 、mysql(都包含在系统里边,直接用了(*^__^*) 嘻嘻……)<!--[if !supportLists]-->2 <!--[endif]--> 安装系统安装过程详细地址参考:[url=/emos_install_howto]/emos_install_howto[/url]我这里就不过多叙述了,太多的图片了。
3 启动服务1、/etc/init.d/postfix start 启动邮件系统2、/etc/init.d/mysqld start 启动数据库3、/etc/init.d/courier-imap start 启动imap服务(相当于邮箱的pop3服务)4、更改平配置文件主要为:postfix 的主文件main.cf更改的地方为:smtpd_recipient_restrictions =permit_mynetworks,permit_sasl_authenticated,reject_non_fqdn_hostname,reject_non_fqdn_sender,reject_non_fqdn_recipient,reject_unauth_destination,reject_unauth_pipelining,reject_invalid_hostname,# check_policy_service inet:127.0.0.1:10030 此处为注释掉,邮件规则太多header_checks = regexp:/etc/postfix/dspam_header_checks重新启动服务和3列表一样,不再叙述六:测试测试账号:账号密码[url=mailto:******************]******************[/url]test最后访问[url=/extmail/]/extmail/[/url],如无意外,将看到webmail的登陆页,不过此时还没有加正式的用户,所以不能登陆,包括[url=mailto:**********************]**********************[/url]也不行。
使用OpenLDAP搭建Postfix邮件系统

使用OpenLDAP搭建Postfix邮件系统一、系统环境及本文用到相关软件及下载地址1、系统环境Linux 系统版本:CentOS release 5.2 (Final)内核版本:2.6.18-92.el5二、.卸载sendmail#killall sendmail#rpm -e --nodeps sendmail三、定义yum的非官方库#vi /etc/yum.repos.d/dag.repo[dag]name=Dag RPM Repository for Red Hat Enterprise Linuxbaseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/daggpgcheck=1enabled=1gpgkey=/rpm/packages/RPM-GPG-KEY.dag.txt四、开始安装1、增加系统相关用户:#groupadd postfix# useradd -g postfix -M -s /bin/false postfix#groupadd postdrop#groupadd vmail -g 1000# useradd -u 1000 -g 1000 -M -s /sbin/nologin -d /dev/null vmail2、安装Apache、PHP(如果在安装系统的时候已经安装过了,可以不用做此步骤)#yum -y install httpd php php-mysql php-gd php-imap php-mbstring php-ldap3、安装相关依赖关系包#yum -y install perl-Unix-Syslog perl-GD \perl-Digest-SHA1 perl-Digest-HMAC perl-Net-IP \perl-Net-DNS perl-Time-HiRes perl-HTML-Tagset \perl-HTML-Parser perl-libwww-perl perl-IO-stringy \perl-IO-Multiplex perl-Net-SSLeay-1.30 perl-IO-Socket-SSL \perl-Net-Server perl-TimeDate perl-MailTools \perl-MIME-Base64 perl-Convert-BinHex perl-MIME-tools \perl-Convert-TNEF perl-Convert-UUlib \perl-Compress-Zlib perl-Archive-Zip perl-IO-Zlib \perl-Archive-Tar arc-5.21o zoo-2.10 unarj4、增加LDAP服务器记录:这两台记录其实是LDAP客户端查询LDAP服务器的记录,在客户端的设置文件中(ldap.conf)会用到这些记录,当然,你可以更改成其它任何的名称,如果所有的软件都是安装在同一台服务器上的话,IP地址可以设成127.0.0.1,我这里设置的是实际的地址.#echo "192.168.254.162 " >> /etc/hosts#echo "192.168.254.162 " >> /etc/hosts5、安装OpneLDAP:你可以通过两种方式来安装,第一种是在安装系统是自已就安装了,你如果认为它的版本太低了,可以通过YUM的方式升级一下,也可以通过源代码的方式安装,我这里是通过YUM的方式升级了一下,如果通过源代码安装的话,那后面的一些组件的安装时就需要注意一下路径了.#yum install openldap*6、配置OpenLDAP:配置LDAP需要用到extman中的schema文件,所以要先复制extman中的对于LDAP 支持的schema文件到相应的地方.具体的操作如下:# tar zxf extman-1.1.tar.gz# cd extman-1.1/docs#cp ./extmail.schema /etc/openldap/schema/#vi /etc/openldap/slapd.conf更改以下内容:include /etc/openldap/schema/extmail.schemasuffix "dc="rootdn "cn=Manager,dc="rootpw {MD5}7tjNxADf1OyF3/cKFwBmtw== #注:这里用名文秘密的时候在初始化的时候可能会出错,建议用加密的密码。
postfix认证不通过解决办法

Postfix + SASL2 + Authdaemon认证死活不过的解决办法受论坛的一位朋友之托,帮其检查他的postfix系统。
系统基本情况如下:Postfix 2.2.5sasl2courier-authlib用户名称是:foo@密码是:XXX系统中,pop3等认证已经是没问题的。
但是postfix 通过sasl2 ,要向authlib认证用户,就死活也认证不过。
我反复多次实验确实是通过不了。
于是看了看日志,发现其pop3是可以的,但pop3登陆的用户名是foo而不是foo@,于是我换成foo,也不行。
根据该朋友反映,日志中显示:Sep 29 14:01:25 ptc-mail authdaemond: received auth request, service=smtp,authtype=loginSep 29 14:01:25 ptc-mail authdaemond: authmysql: trying this module Sep 29 14:01:25 ptc-mail authdaemond: SQL query: SELECT login_name, "", clear_password, uid, gid, homedir, maildir, quota, "", "" FROM mailbox WHERElogin_name = "foo@" AND (status=1)Sep 29 14:01:25 ptc-mail authdaemond: zero rows returned Sep 29 14:01:25 ptc-mail authdaemond: no password available to compare Sep 29 14:01:25 ptc-mail authdaemond: authmysql: REJECT - try next module Sep 29 14:01:25 ptc-mail authdaemond: FAIL, all modules rejectedSep 29 14:01:25 ptc-mail postfix/smtpd[3676]: warning: unknown[192.40.5.181]: SASLLOGIN authentication failed很明显,没有这样的sql记录。
MailArchiva开源邮件保存与审核管理

系统维护与管理C o m m e n tS y s t e m M a n a g e m e n t ■ 顾武雄MailArchiva 是一套相当棒的跨平台邮件保存审核系统,它不仅支持了各类信息平台,如Postfix、Sendmail、Exchange、Lotus Domino 等等,在各种保存审核系统的管理功能上,如保存规则制定、保留原则设置、信息与文件审核探索、状态报表、实时流量图表、角色管理、集成LDAP 与Active Directory 验证机制等等皆相当完整。
MailArchiva开源邮件保存与审核管理系统维护与管理责任编辑:季莹 投稿信箱:netadmin@System Management在许多年以前企业IT 对于邮件保存的管理需求早已相当普及,直到这几年个资法的推行,更是让它成为企业在信息安全控管上的必要需求,也因为如此,目前IT 市场上已有许多商用的解决方案,从拉至云端的控管方案、企业网关端的监控方案、结合产品代理程序(Agent)的控管机制,一直到信息平台本身所内置的控管功能(如Microsoft Exchange、IBM Lotus Domino)等等,这么多类型的解决方案,让IT 人员看得眼花撩乱。
无论各家厂商所出品的邮件保存审核解决方案有何优越的功能,基本上都会提供一项必要功能,那就是让IT 部门可以根据企业的信息政策,来自定义邮件信息的保存规则,这包含了仅内部之间的邮件传递、由内对外的邮件传递、由外对内的邮件传递。
举例来说,根据笔者的经验,目前有多的公司不仅会保存与审核对外流通的邮件,还会进一步制定特别的原则,来监视、保存以及审核某一些部门来往间的所有信息,例如人力资源部、财务部以及研发设计部。
邮件保存与审核MailArchiva 简介接下来笔者要介绍一款相当不错的开源邮件保存审核解决方案,那就是由Stimulus Software这家软件公司所发行的MailArchiva。
postfix配置

Postfix配置测试环境:操作系统:centos5软件:postfix-2.3.3-2.el5.centos.mysql_pgsql.i386.rpmcyrus-sasl-lib-2.1.22-4cyrus-sasl-devel-2.1.22-4cyrus-sasl-sql-2.1.22-4cyrus-sasl-plain-2.1.22-4cyrus-sasl-2.1.22-4cyrus-sasl-md5-2.1.22-4cyrus-sasl-ntlm-2.1.22-4cyrus-sasl-gssapi-2.1.22-4mysql-server-5.0.22-2.1courier-authlib-mysql-0.57-1hzqmysql-bench-5.0.22-2.1libdbi-dbd-mysql-0.8.1a-1.2.2postfix-2.3.3-2.el5.centos.mysql_pgsqlmysql-devel-5.0.22-2.1mysql-test-5.0.22-2.1mysql-5.0.22-2.1mysql-connector-odbc-3.51.12-2.2libtool-libs-1.5.6-4.EL4.1.c4.3courier-authlib-mysql-0.57-1hzqcourier-authlib-devel-0.57-1hzqcourier-authlib-0.57-1hzqmaildrop-2.0.1-1hzqmaildrop-man-2.0.1-1hzqmod_perl-2.0.2-6.1perl-5.8.8-10perl-URI-1.35-3perl-Convert-ASN1-0.20-1.1perl-HTML-Parser-3.55-1.fc6perl-Net-IP-1.25-2.fc6perl-XML-LibXML-Common-0.13-8.2.2perl-BSD-Resource-1.28-1.fc6.1perl-DBD-MySQL-3.0007-1.fc6perl-LDAP-0.33-3.fc6perl-SGMLSpm-1.03ii-16.2.1perl-XML-Grove-0.46alpha-29.1.1perl-Time-HiRes-1.72-1hzqperl-Net-Server-0.93-1hzqperl-BerkeleyDB-0.31-1.el5.rfperl-Convert-TNEF-0.17-1hzqperl-Compress-Zlib-1.42-1.fc6perl-DBI-1.52-1.fc6perl-XML-NamespaceSupport-1.09-1.2.1 perl-IO-Zlib-1.04-4.2.1perl-Digest-SHA1-2.11-1.2.1perl-HTML-Tagset-3.10-2.1.1perl-libwww-perl-5.805-1.1.1perl-libxml-perl-0.08-1.2.1perl-Net-SSLeay-1.30-4.fc6perl-Socket6-0.19-3.fc6perl-Archive-Tar-1.30-1.fc6perl-Bit-Vector-6.4-2.2.2.1perl-Crypt-SSLeay-0.51-11.el5perl-DateManip-5.44-1.2.1perl-DBD-Pg-1.49-1.fc6perl-IO-String-1.08-1.1.1perl-Net-DNS-0.59-1.fc6perl-NKF-2.07-1.1.fc6perl-String-CRC32-1.4-2.fc6perl-XML-Dumper-0.81-2.fc6perl-XML-LibXML-1.58-5perl-XML-Twig-3.26-1.fc6perl-IO-Multiplex-1.08-1hzqperl-Unix-Syslog-0.100-1hzqperl-MailTools-1.67-1hzqperl-Convert-BinHex-1.119-1hzqperl-MIME-Base64-3.05-1hzqperl-Convert-UUlib-1.051-1hzqperl-Carp-Clan-5.3-1.2.1perl-XML-SAX-0.14-5perl-Digest-HMAC-1.01-15perl-XML-Parser-2.34-6.1.2.2.1perl-IO-Socket-SSL-1.01-1.fc6perl-Archive-Zip-1.16-1.2.1perl-Date-Calc-5.4-1.2.2.1perl-IO-Socket-INET6-2.51-2.fc6perl-Net-Telnet-3.03-5perl-suidperl-5.8.8-10perl-XML-Simple-2.14-4.fc6perl-IO-stringy-2.110-1hzqperl-TimeDate-1.16-1hzqperl-MIME-tools-5.418-1hzqclamav-db-0.91.2-1.el5.rfclamd-0.91.2-1.el5.rfclamav-0.91.2-1.el5.rf以上都是用RPM安装php-5.2.4.tar.bz2courier-imap-4.2.1.tar.bz2postfixadmin.tar.gzhttpd-2.2.4.tar.gzsquirrelmail-1.4.11.tar.gzslockd-0.083 #源码安装安装:首先要安装DNS。
postfix postmap 用法

postfix postmap 用法Postfix是一款流行的邮件传输代理(MTA),而Postmap是Postfix的配置工具之一,用于将域名系统(DNS)名称映射到邮件地址。
在Postfix中,Postmap 通过解析域名系统数据库并更新本地映射数据库来完成此操作。
本文将向您展示如何使用Postfix和Postmap进行配置和操作。
一、安装和配置Postfix1.确保您已经正确安装了Postfix,并且已经配置了基本的邮件传输设置。
2.打开Postfix的主要配置文件`/etc/postfix/main.cf`,进行以下更改:*将`smtpd_tls_security=none`更改为`smtpd_tls_security=yes`,以启用TLS加密。
*添加以下行以启用DNS解析和映射功能:`relayhost=[dns_server]:53`。
这将使Postfix使用DNS服务器进行解析。
3.保存配置文件并退出。
二、安装和配置DNS服务器确保您已经安装并配置了适当的DNS服务器,如BIND (BerkeleyInternetNameDomain)。
您需要为域设置反向DNS(PTR)记录和正向DNS邮件别名(CNAME)。
三、使用Postmap更新映射数据库1.运行以下命令以更新本地映射数据库:`postmap-u/etc/postfix/maps`。
这将使用Postfix配置的映射文件和DNS服务器进行更新。
2.检查数据库文件是否成功更新:`ls-l/etc/postfix/maps`。
您应该看到新的映射文件。
四、使用Postfix发送邮件1.启动Postfix服务:`systemctlstartpostfix`。
2.发送测试邮件:使用SMTP客户端(如Outlook、Thunderbird等)连接到Postfix配置的SMTP服务器,并发送一封测试邮件到您的电子邮件地址。
确保您的电子邮件地址已添加到Postfix的映射数据库中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
RHEL5安装Postfix+CyrusSASL+dovecot默认方式安装RHEL5,不选中任何类型服务器(如WEB服务器,开发服务器,虚拟服务器等)一、安装postfix[root@rhel5 ~]# service sendmail stop关闭sm-client:[确定]关闭sendmail:[确定][root@rhel5 ~]# chkconfig sendmail off[root@rhel5 Server]# rpm -ivh postfix-2.3.3-2.i386.rpm[root@rhel5 Server]# vi /etc/postfix/main.cfmyhostname = #设置运行postfix服务的邮件主机的主机名、域名mydomain =myorigin = $mydomain #设置由本机寄出的邮件所使用的域名或主机名称inet_interfaces = all #设置postfix服务监听的网络接口mydestination = $myhostname, $mydomain #设置可接收邮件的主机名称或域名mynetworks = 192.168.0.0/24 #设置可转发哪些网络的邮件relay_domains = $mydestination #设置可转发哪些网域的邮件保存文件。
检查postfix的配置:[root@rhel5 Server]# postconf –n[root@rhel5 ~]# chkconfig postfix on二、添加邮件用户的帐号[root@mail ~]# groupadd mail[root@mail ~]# useradd –g mail -s /sbin/nologin zpp001[root@mail ~]# useradd -g mail -s /sbin/nologin zpp002[root@mail ~]# passwd zpp001[root@mail ~]# passwd zpp002將postfix加入到root的组:# usermod -G root postfix三、SMTP认证的配置安装cyrus-sasl1、确认cyrus-sasl是否安装了[root@rhel5 Server]# rpm -qa|grep cyruscyrus-sasl-plain-2.1.22-4cyrus-sasl-lib-2.1.22-4cyrus-sasl-2.1.22-42、Cyrus-SASL V2的密码验证机制[root@rhel5 ~]# saslauthd -vsaslauthd 2.1.22authentication mechanisms: getpwent kerberos5 pam rimap shadow ldap我们准备用的是shadow的密码验证机制。
vi /etc/sysconfig/saslauthdMECH=shadow3、启动sasl的daemon并测试:# service saslauthd start# /usr/sbin/testsaslauthd -u 帐号-p '密码'0: OK "Success." =>帐号验证成功了[root@rhel5 ~]# chkconfig saslauthd on4、设置postfix启用SMTP认证[root@rhel5 Server]# vi /etc/postfix/main.cfsmtpd_sasl_auth_enable = yessmtpd_sasl_local_domain= ''smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destinationbroken_sasl_auth_clients = yessmtpd_client_restrictions = permit_sasl_authenticatedsmtpd_sasl_security_options = noanonymouswq!保存此外,由于当postfix要使用SMTP认证时,会读取/usr/lib/sasl2/smtpd.conf文件的内容以确定所采用的认证方式,所以必须保证/usr/lib/sasl2/smtpd.conf文件的内容是:pwcheck_method: saslauthd5、测试SMTP发送邮件[root@mail ~]# telnet localhost 25Trying 127.0.0.1...Connected to localhost.localdomain (127.0.0.1).Escape character is '^]'.220 ESMTP Postfixhelo localhost //宣告客户端地址250 mail from:zpp001@//告知服务器发件人地址250 2.1.0 Okrcpt to:zpp002@//告知服务器收件人地址250 2.1.5 Okdata//告知服务器要传送数据了354 End data with <CR><LF>.<CR><LF>subject:I Love You! //主题hello!You are my super star! he he he ! //邮件内容以点结束. //邮件结束250 2.0.0 Ok: queued as 27ECCE01EDQuit //退出221 2.0.0 ByeConnection closed by foreign host.现在我们到邮件用户zpp002的宿主目录下进行查看,可以看到刚刚接收到的邮件保存在Maildir子目录中。
[root@mail~]# cat /home/zpp002/Maildir/new/ Return-Path: <zpp001@> //退信地址X-Original-To: zpp002@ //来源地址Delivered-To: zpp002@ //目标地址Received: from localhost (localhost.localdomain [127.0.0.1])by (Postfix) with SMTP id 27ECCE01ED //经过的MTAfor <zpp002@>; Thu, 28 Jan 2021 03:57:40 +0800 (CST) subject:I Love You!Message-Id: <20100127195752.27ECCE01ED@>Date: Thu, 02 Tuesday 2010 03:57:40 +0800 (CST) //时间From: zpp001@ //发件人地址To: undisclosed-recipients:;hello!You are my super star! he he he !现在Postfix服务器已经搭建好了,下面我们来看一下dovecot服务器是如何搭建的。
四、安装设定dovecot(imap、pop3):1、确认dovecot是否有安装:[root@rhel5 ~]# rpm -qa|grep dovecotdovecot-1.0-1.2.rc15.el52、设定用pop3来收取信件:#vi /etc/dovecot.confprotocols = pop3 # imap imaps pop3 pop3s 支持的功能3、启动并测试:service dovecot starttelnet localhost 110Trying 127.0.0.1...Connected to localhost.Escape character is '^]'.+OK dovecot ready.user zpp002//使用邮件用户“zpp002”登录+OKpass //键入密码+OK Logged in.List //查看邮件列表+OK 1 messages:1 485.retr 1 //收取并查看第一封邮件内容+OK 485 octetsReturn-Path: <zpp001@>X-Original-To: zpp002@Delivered-To: zpp002@Received: from localhost (localhost.localdomain [127.0.0.1])by (Postfix) with SMTP id 27ECCE01EDfor <zpp002@>; Thu, 28 Jan 2021 03:57:40 +0800 (CST) subject:I Love You!Message-Id: <20210127195752.27ECCE01ED@>Date: Thu, 28 Jan 2021 03:57:40 +0800 (CST)From: zpp001@To: undisclosed-recipients:;hello!You are my super star! he he he !.quit+OK Logging out.Connection closed by foreign host.777777777777777777[root@rhel5 ~]# chkconfig dovecot on到这里postfix、Cyrus SASL、dovecot就可以正常工作了。
五、WINDOWS 环境OUTLOOK 测试4>.验证邮件服务器的发信、收信功能下图是我截取的一幅zpp001用户的发件箱,可以看到邮件是可发成功发送的。
下图是用户zpp002的收件箱,我们可以看到邮件成功的发送了过来。
我们已经看到了Postfix邮件的基本应用,由此可以解决企事业内部的邮件收发,如果要使用户能和Internet上的用户通邮,DNS中的反向记录及MX记录是少不了的。
OK!由于篇幅有限,本次就说到这里吧!下次大家会看到当下较为流行的SquirrelMail与Postfix、Dovecot服务共同协作的应用。