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:邮件别名

使用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 .

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:

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 ; Wed, 11 May 2016 10:24:25 +0800 (CST)

Subject:aaa

Message-Id:

Date: Wed, 11 May 2016 10:24:25 +0800 (CST)

From: [email protected]

aaaaaaa

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

extmail mysql数据库 重启_Extmail邮件服务器centos搭建(一)(示例代码)相关推荐

  1. extmail mysql数据库 重启_extmail数据库dspam表修复

    原因是mysql的dspam数据库中的dspam_token_data表有错误,需要使用myisamchk进行修复: # cd /var/lib/mysql/dspam # myisamchk dsp ...

  2. extmail mysql数据库 重启_基于POSTFIX的邮件服务器维护总结。

    前言: 这个就是使用EMOS(postfix+extmail+mysql or LDAP)这个系统的一个维护总结.也符合使用其他webmail的postfix系统的维护.一些奇怪的毛病可以从中找到答案 ...

  3. extmail mysql数据库 重启_部署Extmail邮件系统需注意几点

    部署开源邮件系统?推荐使用国产的Extmail邮件系统,ExtMail Project 是一个活跃的开源邮件系统项目,目前由ExtMail 团队维护,该项于2005年9月18日正式启动,最初以WebM ...

  4. extmail mysql数据库 重启_centos 5.8 x86_64下安装mysql+postfix+extmail+extman+courier-authlib+courier-imap...

    前面的apache+php或者nginx+php-fpm就不在介绍! 记得把mysql的lib放进ld.so.conf里面,以免在后面编译sasl的时候出现问题 本次使用的软件: 准备工作: 1.安装 ...

  5. python 数据库查询结果邮件提醒_Python实现的查询mysql数据库并通过邮件发送信息功能...

    本文实例讲述了Python实现的查询mysql数据库并通过邮件发送信息功能.分享给大家供大家参考,具体如下: 这里使用Python查询mysql数据库,并通过邮件发送宕机信息. Python代码如下: ...

  6. mysql数据库重启、登录mysql数据库、通过命令执行mysql的sql脚本等命令

    一.mysql数据库重启 如何重启mysql Debian / Ubuntu Linux 1.启动:/etc/init.d/mysql start 2.停止:/etc/init.d/mysql sto ...

  7. mysql自带的邮件发送功能_Python实现的查询mysql数据库并通过邮件发送信息功能...

    本文实例讲述了Python实现的查询mysql数据库并通过邮件发送信息功能.分享给大家供大家参考,具体如下: 这里使用Python查询mysql数据库,并通过邮件发送宕机信息. Python代码如下: ...

  8. mysql管理数据 并上传至云端_怎样将MySQL数据库上传到服务器

    首先,需要将本地的数据库导出来,作为一个数据文件,以备稍后上传到服务器用,在本地登陆phpmyadmin控制面板: 登陆成功后,在左侧选择需要操作的数据库: 选择后,页面会自动刷新,然后再在右边点击[ ...

  9. CentOS7.4中Postfix邮件服务器的搭建(一)-----环境配置及简单搭建

    CentOS7.4中Postfix邮件服务器的搭建(一)-----环境配置及简单搭建 实验内容: 1. 初始环境的优化 2. DNS服务器的搭建和postfix域名解析 3. Postfix服务器安装 ...

最新文章

  1. java两行两行读取问文件,正则提取两行之间所有行内容方法.
  2. mysql 查看当前连接数 和 最大连接数
  3. android组件启动,Android四大组件Service之StartService启动
  4. 过滤设置_深圳外置鱼池过滤器零售_杰蒙尼鱼池过滤器
  5. 超文本标记语言HTML
  6. linux .bashrc文件修改和生效
  7. JQuery选择和设置表单值
  8. ArcGIS 起伏度、坡度、交通便利度数据生成
  9. vs2017怎么安装python_vs2017怎么添加python
  10. MAC安装向日葵软件步骤
  11. 2013年上半年CSDN精华0分下载资源
  12. vs2015 linux开发 界面设计,Microsoft Office开发工具 Visual Studio 2015
  13. word 2019 深黑色背景如何改成白色(已解决)
  14. Java 使用redis 设计一个每天重新开始计数的计数器
  15. Dithering(Dithering pixel studio)
  16. r语言赋值为na_R语言中特殊值NaN、Inf 、NA、NULL
  17. google迈向IoT的开端——推出Android Things操作系统
  18. YOLO系列目标检测算法详解
  19. 百度移动生态升级一周年:背后的攻与守、破与立
  20. C语言学习《经典C语言程序100例》day 2

热门文章

  1. 华为华三思科路由器连接交换机的几种方法
  2. 2012年七月GBin1月刊
  3. UPS计算使用时间,电池容量计算,电池使用时间计算
  4. 报表中如何实现中国地图钻取到各省地图?
  5. JavaCV实现视频人脸检测
  6. System.InvalidOperationException HResult=0x80131509 Message=ExecuteNonQuery 要求已打开且可用的 Connection
  7. NVIDIA平台xavier/tx2板摄像头驱动开发(1)Camera系统 Fpdlink相机概述
  8. 亚信安全服务器深度安全防护系统怎么样,亚信安全服务器深度安全防护系统即服务(DSaaS)为云端用户筑起安全壁垒...
  9. 使用arpspoof欺骗断网
  10. 开源SWD脱机烧录器-第三章 基于QT的上位机