Extmail邮件服务器centos搭建(一)

原文地址:https://www.aolens.cn/?p=1018


1,Extmail概述

ExtMail Solution 是一个基于优秀开源软件的电子邮件系统解决方案,核心部件包括了Postfix、Amavisd-new、ClamAV、ExtMail、ExtMan、Courier系列软件。是一个功能相对比较齐全的免费电子邮件系统。

而其中Extmail 是一个以perl语言编写,面向大容量/ISP级应用,免费的高性能Webmail软件,主要包括ExtMail、Extman两个部分的程序套件。ExtMail套件用于提供从浏览器中登录、使用邮件系统的Web操作界面,而Extman套件用于提供从浏览器中管理邮件系统的Web操作界面。

2,Extmail工作原理

Extmail的核心部分是postfix,是一种web页面,可以创建账号,可以收发邮件。extman可以账号注册。账号存放在mysql里面。postfix发信件,dovecot收信件。利用outlook收信件(docecot)和发信件(postfix)都要通过mysql查询。发信件(postfix)要提取mysql账号信息要通过courier-authlib。是基于虚拟帐号的邮件系统。

配置准备:

修改主机名为mail.aolens.cn

在DNS上解析mail.aolens.cn

  • @ MX mail.aolens.cn
  • mail A ip地址

3,Extmail搭建

3.1 安装依赖

[[email protected] ~]# yum install httpd mysql mysql-server mysql-devel openssl-devel dovecot perl-DBD-MySQL tcl tcl-devel libart_lgpl libart_lgpl-devel libtool-ltdl libtool-ltdl-devel expect
 
[[email protected] ~]# yum groupinstall "Development Libraries” “Development Tools"
 
[email protected] ~]# service httpd start
 
正在启动 httpd:httpd: Could not reliably determine the server‘s fully qualified domain name, using node2.aolens.cn for ServerName
 
[确定]
 
[[email protected] ~]# service mysqld start
 
初始化 MySQL 数据库: Installing MySQL system tables...
 
[确定]
正在启动 mysqld:                                          [确定]
 
[[email protected] ~]# mysqladmin password aolens    #为数据库设置密码
3.2 安装postfix
 
[[email protected] ~]# rpm -qa postfix
 
postfix-2.6.6-2.2.el6_1.x86_64
 
[[email protected] ~]# rpm -e postfix --nodeps
 
[[email protected] ~]# id postfix
uid=89(postfix) gid=89(postfix) 组=89(postfix),12(mail)
 
[[email protected] ~]# userdel postfix
 
[[email protected] ~]# groupdel postfix
 
[[email protected] ~]# grep postfix /etc/passwd
 
[[email protected] ~]# rm -rf /var/spool/postfix
 
[[email protected] ~]# groupadd -g 2525 postfix
 
[[email protected] ~]# useradd -g postfix -u 2525 -s /sbin/nologin -M postfix
 
[[email protected] ~]# groupdel postdrop
 
[[email protected] ~]# groupadd -g 2526 postdrop
[[email protected] ~]# useradd -g postdrop -u 2526 -s /sbin/nologin -M postdrop
 
[[email protected] ~]# grep post* /etc/passwd
 
postfix:x:2525:2525::/home/postfix:/sbin/nologin
 
postdrop:x:2526:2526::/home/postdrop:/sbin/nologin

postfix版本:postfix-3.2-20160327

[[email protected] ~]# wget ftp://ftp.cuhk.edu.hk/pub/packages/mail-server/postfix/experimental/postfix-3.2-20160327.tar.gz
 
[[email protected] ~/postfix-3.2-20160327]# yum install cyrus-sasl*
 
SASL:Simple Authintication Secure Layer简单认证安全层,用来认证邮箱账号的
 
[[email protected] ~/postfix-3.2-20160327]# make makefiles ‘CCARGS=-DHAS_MYSQL -I/usr/include/mysql -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl -DUSE_TLS ‘ ‘AUXLIBS=-L/usr/lib64/mysql -lmysqlclient -lz -lm -L/usr/lib64/sasl2 -lsasl2 -lssl -lcrypto’
 
[[email protected] ~/postfix-3.2-20160327]# make && make install && echo ok
 
按照以下提示输入相关路径,省略表示采用默认值
 
install_root: [/] /
tempdir: [/root/postfix-3.2-20160327] /tmp
config_directory: [/etc/postfix] /etc/postfix
command_directory: [/usr/sbin] /usr/sbin
daemon_directory: [/usr/libexec/postfix]
data_directory: [/var/lib/postfix]
html_directory: [no] /var/www/postfix_html
mail_owner: [postfix]
mailq_path: [/usr/bin/mailq]
manpage_directory: [/usr/local/man]
queue_directory: [/var/spool/postfix]
readme_directory: [no]
sendmail_path: [/usr/sbin/sendmail]
setgid_group: [postdrop]
shlib_directory: [no]
meta_directory: [/etc/postfix]
[[email protected] ~/postfix-3.2-20160327]# newaliases
 
newaliases: warning: smtputf8_enable is true, but EAI support is not compiled in
 
postalias: warning: smtputf8_enable is true, but EAI support is not compiled in
 
[[email protected] /media]# mkdir postfix2.6
 
[[email protected] /media]# cd postfix2.6/
 
[[email protected] /media/postfix2.6]# wget http://mirrors.sohu.com/centos/6.7/os/x86_64/Packages/postfix-2.6.6-6.el6_5.x86_64.rpm
 
[[email protected] /media/postfix2.6]# rpm2cpio postfix-2.6.6-6.el6_5.x86_64.rpm |cpio -id
 
19862 块
 
[[email protected] /media/postfix2.6]# ls *
 
postfix-2.6.6-6.el6_5.x86_64.rpm
 
etc:
 
pam.d  postfix  rc.d  sasl2
 
usr:
 
bin  lib  libexec  sbin  share
 
var:
 
lib  spool

#创建sysv脚本

[[email protected] /media/postfix2.6/etc/rc.d/init.d]# cp -p postfix /etc/init.d/
 
[[email protected] ~]# chown -R postfix /var/lib/postfix
 
[[email protected] ~]# service postfix start
 
启动 postfix:                                             [确定]
 
[[email protected] ~]# ss -tnlp|grep 25
LISTEN     0      100                       *:25                       *:*      users:(("master",55347,13))
 
[[email protected] ~]# chkconfig --add postfix
 
[[email protected] ~]# chkconfig postfix on
 
[[email protected] ~]# vim /etc/postfix/main.cf
 
#添加下列参数
 
myhostname = mail.aolens.cn
 
mydomain = aolens.cn
myorigin = aolens.cn    #邮件地址伪装伪装mail.aolens.cn为aolens.cn
 
inet_interfaces = all
 
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain       #所有目标邮件为以上的就是本机,不用中继了
 
mynetworks = 192.168.1.0/24,127.0.0.0/8

##这里注意一下,我192.168.1.0/24开始的时候写成192.168.1.129/24 导致rcpt to:.. 一直453错误。

使用以下命令验正postfix是否支持cyrus风格的sasl认证,如果您的输出为以下结果,则是支持的:

[[email protected] ~]# service saslauthd start
 
正在启动 saslauthd:                                       [确定]
 
[[email protected] ~]# postconf -a
 
cyrus
 
dovecot

postconf命令:配置postfix

  • -d:显示默认的配置
  • -n:显示修改的配置
  • -m:显示所有所支持的查找表类型
  • -a:显示支持的SASL客户端插件类型
  • -e:PARMATER=VALUE:更改某参数配置信息,并保存至main.cf文件中

smtp状态码:

  • 1XX:
  • 2XX:正确信息
  • 3XX:当前信息没有结束
  • 4XX:暂时性错误
  • 5XX:永久性错误

smtp:协议命令

  • helo (smtp协议)
  • ehlo (esmtp协议)
  • mail from:    邮件发送人
  • rcpt to: 邮件接收人
  • date 邮件内容
  • Subject: 邮件标题
  • . 邮件结束符

alias:邮件别名

[email protected]:[email protected]   法网abc的其实会发到efg

使用newaliases来生成/etc/aliases.db

验证postfix是否安装OK

[[email protected] ~]# useradd test
 
[[email protected] ~]# telnet localhost 25
 
Trying ::1...
 
telnet: connect to address ::1: Connection refused
 
Trying 127.0.0.1...
 
Connected to localhost.
 
Escape character is ‘^]‘.
 
220 Welcome to our mail.aolens.cn ESMTP,Warning: Version not Available!
 
helo
 
501 Syntax: HELO hostname
 
helo localhost
 
250 mail.aolens.cn
 
mail from:[email protected]
 
250 2.1.0 Ok
 
rcpt to:test
 
250 2.1.5 Ok
 
data
 
354 End data with <CR><LF>.<CR><LF>
 
Subject:aaa
 
aaaaaaa
 
.
 
250 2.0.0 Ok: queued as 2B78580CCB
 
quit
 
221 2.0.0 Bye
 
Connection closed by foreign host.
 
[[email protected] ~]# vim /var/spool/mail/test
 
From [email protected]  Wed May 11 10:24:45 2016
 
Return-Path: <[email protected]>
 
X-Original-To: test
 
Delivered-To: [email protected]
 
Received: from localhost (localhost [127.0.0.1])
 
by mail.aolens.cn (Postfix) with SMTP id 2B78580CCB
 
for <test>; Wed, 11 May 2016 10:24:25 +0800 (CST)
 
Subject:aaa
 
Message-Id: <[email protected]>
 
Date: Wed, 11 May 2016 10:24:25 +0800 (CST)
 
From: [email protected]
 
aaaaaaa

我们发现在邮件投递目录里对应的用户中有我们发送过来的邮件。这就说明发送成功了

时间: 2024-10-13 07:57:45

Extmail邮件服务器centos搭建(一)的相关文章

Extmail邮件服务器centos搭建(二)

接上一篇Extmail博文继续 https://www.aolens.cn/?p=1018 3.3 postfix开启基于cyrus-sasl的认证 查看sasl有关的安装包 [[email protected]mail ~]# rpm -qa |grep sasl cyrus-sasl-md5-2.1.23-15.el6_6.2.x86_64 cyrus-sasl-2.1.23-15.el6_6.2.x86_64 cyrus-sasl-plain-2.1.23-15.el6_6.2.x86_6

linux邮件服务器的搭建和安全

邮件系统的特点:快捷,安全,多样性 实现方式: Windows: 电子邮件服务 03 08  exchange Linux: sendmail  [无身份验证 无加密 无防范垃圾邮件,病毒] POSTFIX [模块化,快] Qmail MAA:邮件访问代理  tcp 110 (pop3)  tcp 109 (pop2)  tcp 143 (imp4) MUA: 邮件用户代理 MDA: 邮件的传递/分检代理 实现系统:redhat5系列 打开一台redhat机器 [[email protected

阿里云CentOS Linux服务器上搭建邮件服务器遇到的问题

参考文章: 阿里云CentOS Linux服务器上用postfix搭建邮件服务器 Linux系统下邮件服务器的搭建(Postfix+Dovecot) 本来想自己搭建邮件服务器,但是看到一篇资料表示阿里云为了禁止垃圾邮件,禁用了25端口. 可以使用阿里云的邮件推送服务. SMTP之PHP调用示例 email.class.php下载

postfix 邮件服务器搭建详解

常见的邮件服务器: Sendmail .Qmail .postfix .Zmaile Exchange  . Notes/Domino Coremail  .U-mail zmailer: 新出的邮件服务器.整合前面的邮件 COREMAIL:最早网易使用的工具 Nores/Domino IBM 必须试用 IBM的硬件设备 U-mail : 收费的软件 postfix: 6版以后是默认安装 红帽中免费开源的邮件服务器 邮件系统角色: MUA(邮件用户代理) MTA (邮件传输代理) MDA (邮件

Apache James搭建内网邮件服务器

Apache James搭建内网邮件服务器 极客521 | 极客521 2014-08-21 148 阅读 java 大概之前两个礼拜的日子,讨论会介绍了关于了.net内网邮件服务器的搭建.所以自己也很有必要来尝试一把邮件服务器的搭建,这里选取的是james这个工具. 为什么要使用内网邮件服务器? a.安全这里仅限个人观点.对于任何一个企业来说,必要安全保密是非常重要的. b.不受internet的限制虽然说现在到处都是wifi,但是有一个能够自己来控制和使用的邮件服务器肯定是不错的选择. 什么

James搭建邮件服务器

来源:http://chenfengcn.iteye.com/blog/356874 1 关于James与Javamail Apache James(Java Apache Mail Enterprise Server)是Apache组织的子项目之一,完全采用纯Java技术开发,实现了SMTP.POP3与NNTP等多种邮件相关协议.James是一个邮件应用平台,可以通过Mailet扩充其功能,如Mail2SMS.Mail2Fax等.James提供了比较完善的配置方案,尤其是关于邮件内容存储和用户

烂泥:Postfix邮件服务器搭建之准备工作

说实话,Postfix邮件服务器的搭建是一件很麻烦的事情,需要各种软件之间的配置和调试.在写这篇文章之前,我也是搭建测试了不下于10次才算把整个流程给走通,今天刚好有时间把整个搭建过程记录下来. 在正式安装postfix之前,我们先来介绍在搭建之前所需要做的准备工作. 一.域名解析 因为邮件服务器牵涉到域名的问题比较多,所以在此我们先来介绍有关域名解析的相关配置. 我们需要在域名解析控制台添加MX.TXT和相关的A记录,在平时的域名解析过程中,使用最多的是DNSPod以及万网,下面分别一一介绍下

烂泥:Postfix邮件服务器搭建之软件安装与配置

本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb Postfix邮件服务器的搭建需要使用到几个软件,分别是cyrus-sasl.postfix.dovecot.postfixadmin.roundcubemail,只有这几个软件相互配合才能搭建一套完整的邮件服务器. PS:本次实验在centos6.5 64bit上进行. 一.软件功能介绍 cyrus-sasl.postfix.dovecot.postfixadmin.roundcub

CentOS6.4下邮件服务器搭建

CentOS6.4下邮件服务器搭建 linux下邮件服务器的搭建大致分为三个步骤 准备工作(真实的生产环境下需要) 发送服务器安装及配置 (Postfix) 接收服务器安装及配置(dovecot) 一. 准备工作 1. 为邮件服务器添加DNS解析 虽然不加DNS解析也能把邮件发出去,但会被大多数邮件服务器当作垃圾邮件.根据我们的实际经验,需要添加三条DNS解析记录:A记录.MX记录.TXT记录 2. 准备存放邮件的硬盘空间 如果用的是阿里云入门级Linux服务器,有一块20G的数据盘未挂载,需要