急!!!基于linux下,如何将所有的邮箱用户导出来?

急!!!基于linux下,如何将所有的邮箱用户导出来?,第1张

Linux下的邮箱用户都存在mysql数据库中,想要到处可以使用sql语句。

我自己使用的是postfix作为MTA,导出语句为:

mysql>select username from extmail.mailbox into outfile '/tmp/users.txt'

希望对你有帮助!

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

1 整个 extmail邮件系统,是由多个软件构成的:

软件名称 功能 (注意:没有列出反垃圾邮件软件与杀毒软件)

ExtMan Web帐户管理后台(含mailgraph_ext 图形日志分析)

ExtMail WebMail(perl 程序)

Apache Web服务器(MUA 通过浏览器收发邮件)

Postfix SMTP服务器,邮件传输代理(MTA)

Maildrop 邮件投递代理(MDA)

Courier-imap IMAP和POP3 服务器

Cyrus-sasl2 标准的SASL实现库,可以支持Courier Cyrus SMTP认证

Courier-authlib 负责courier-imap,maildrop的认证 Courier 数据认证库(mysql)

MySQL数据库,储存虚拟(域|用户|别名)等信息.

2 确定postfix 支持的smtp认证方式,与支持的查询表(必须包含mysql格式)

smtp 认证方式

postconf -a

cyrus (sasl库)

dovecot

支持的查询表

postconf -m

btree

cidr

environ

hash

ldap

mysql (包含mysql)

nis

pcre

proxy

regexp

static

tcp

unix

注意: redhat/centos 自带的postfix不支持mysql方式的查询表,所以你可能需要以源码的方式重新安装postfix 并且开启mysql支持!!!

3 extmail 发信,收信,(web登陆)认证逻辑图

+++++++++++++++++++++++++++++++++++++++++++++++++

+ smtp/25 + po3/110+ http/80+

+ postfix + courier-imap + apache +

+++++++++++++++++++++++++++++++++++++++++++++++++

+ cyrus-sasl2 +

+++++++++++++++++++++++++++++++++++++++++++++++++

+ courier-authlib +

+++++++++++++++++++++++++++++++++++++++++++++++++

+ mysql +

+++++++++++++++++++++++++++++++++++++++++++++++++

3.1 smtp认证流程

smtp/25

postfix

| <-- smtp 认证

cyrus-sasl2

| <-- smtpd.conf 配置文档(设置了authdaemond的Unix套接字的路径)

courier-authlib

| <-- authmysqlrc 配置文档(设置了mysql相关信息)

mysql

| -- I:储存虚拟(域|用户|别名)等信息.

3.2 smtp认证 相关的配置文档

postfix

10.0.100.88 [~]$ rpm -qf /usr/lib64/sasl2/smtpd.conf

postfix-2.6.2-5hzq

10.0.100.88 [~]$ cat /usr/lib64/sasl2/smtpd.conf

pwcheck_method: authdaemond

log_level: 3

mech_list: PLAIN LOGIN

authdaemond_path:/var/spool/authdaemon/socket

---------------------------------------------------------------

pwcheck_method SASL 库 auxprop(默认值)

(描述:空格分隔开的用来效验密码的机制列表,值可能是 sasl_checkpass,auxprop,

saslauthd,pwcheck,authdaemond【如果编译时添加了 --with-authdaemond 】

mech_list SASL 库 使用所有有效插件

(描述:空格分隔开的允许使用的机制的列表,比如:'plain otp'。用来在安装的插件

中限制出一个可用机制的子集。)

authdaemond_path SASL 库 /dev/null(默认值)

(描述:Courier-authlib 的 authdaemond 的 Unix 套接字的路径。仅当 pwcheck_method 设

置为 authdaemond 时可用。)

-------------------------------------------------------------------

courier-authlib

10.0.100.88 [~]$ rpm -qf /var/spool/authdaemon/socket

courier-authlib-0.62.4-2hzq

10.0.100.88 [~]$ cat /etc/authlib/authmysqlrc

MYSQL_SERVERlocalhost

MYSQL_USERNAME extmail

MYSQL_PASSWORD xmall.com

MYSQL_SOCKET/var/lib/mysql/mysql.sock

MYSQL_PORT 3306

...................................

4 了解 postfix 的查询表

postfix 有许多的重要参数(main.cf)都需要能够查询其对应关系,将所有的对应关系保存在另外一个文件 "查询表"

查询表格式:

查询表的原始数据来自简单的文本文件,文件的每一行定义一组 "key_value" 对应关系,key 与 value

以空白隔开,例如:

cat /etc/postfix/local_in_senders

tech@xmall.com local_in_only

it@xmall.comlocal_in_only

postmap命令创建查询表的数据库文件

postmap /etc/postfix/local_in_senders

file /etc/postfix/local_in_senders.db

/etc/postfix/local_in_senders.db: Berkeley DB (Hash, version 8, native byte-order)

postfix 默认的查询表数据格式为hash

postconf | grep 'default_database_type'

default_database_type = hash

当将查询表赋值给相关参数时,则必须指出查询表的数据库类型,例如:

postconf | grep 'hash:/'

alias_database = hash:/etc/aliases

alias_maps = hash:/etc/aliases, nis:mail.aliases

查询表的特例-别名文件

由于别名文件的格式不同于postfix 其它的postfix 查询表,所以不能使用postmap 创建别名的数据库文件,而应该使用postalias/newalias

别名文件位置:alias_maps = hash:/etc/aliases, nis:mail.aliases

别名文件格式:

grep -vE '(^$|^#)' /etc/aliases | head -n 3

mailer-daemon: postmaster

postmaster: root

bin:root

daemon: root

5 linux系统 用 32位 还是 64位?

如果邮件比较少,邮件 *** 作系统压力不大的话,32位或者64位都可以,只不过部署extmail(源码)时要区分一下,比如:

i386

/usr/lib/sasl2/smtpd.conf

/usr/lib/mysql/

x86_64

/usr/lib64/sasl2/smtpd.conf

/usr/lib64/mysql/

6 linux系统硬盘分区

建议 /var /home 单独分区,原因有两个

1 因为extman 与 extmail都是以 /home/domains作为基础目录

2 /var/log/maillog 邮件日志; /var/spool/postfix 邮件队列

10.0.100.88 [xmall.com]$ pwd

/home/domains/xmall.com

10.0.100.88 [xmall.com]$ du -sh *

120Kzm1

436Mzm2

10.0.100.88 [xmall.com]$ ll

total 8

drwx------ 3 vuser vgroup 4096 Dec 19 16:00 zm1

drwx------ 3 vuser vgroup 4096 Dec 19 16:00 zm2

7 安装依赖rpm包 (这里使用了本地cdrom源,如果你不是本地yum源,请直接yum install 后边的rpm包)

yum --disablerepo=\* --enablerepo=c5-media install httpd php php-mysql mysql mysql-server mysql-devel openssl-devel perl-DBD-MySQL tcl tcl-devel libart_lgpl libart_lgpl-devel libtool-ltdl libtool-ltdl-devel expect


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/7918826.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-11
下一篇2023-04-11

发表评论

登录后才能评论

评论列表(0条)

    保存