admin';?>

首页 / 电子邮件系统

Postfix + Dovecot + Mysql 搭建自己的电子邮件系统

By admin  •  2022-01-01 13:15:44  •  733次点击
永久外链: https://i.otherhill.com/static/df4575916ac111ec87ea2089845721cb.html

3.  Mysql 安装与配置

为方便管理Mysql, 建议装个phpMyAdmin, 运行phpMyAdmin就需要安装Nginx以及Php.
phpMyAdmin 效果界面如图:



可以用命令行,也可以通过phpMyAdmin,创建数据库ts_mail:
mysql> CREATE DATABASE ts_mail;
mysql> use ts_mail;
mysql> GRANT SELECT, INSERT, UPDATE, DELETE ON mail.* TO ts_mail@localhost 
mysql> FLUSH PRIVILEGES;

CREATE TABLE `virtual_domains` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

INSERT INTO ts_mail.virtual_domains (name) VALUES ('otherhill.com');

你想加几个域名,就加几个域名.
INSERT INTO `ts_mail`.`virtual_domains`
(`id` ,`name`)
VALUES
('1', 'unusebamboo.vip'),
('2', 'mail.unusebamboo.vip');

接下来是用户表:
CREATE TABLE `virtual_users` (
  `id` int(11) NOT NULL auto_increment,
  `domain_id` int(11) NOT NULL,
  `password` varchar(106) NOT NULL,
  `email` varchar(100) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `email` (`email`),
  FOREIGN KEY (domain_id) REFERENCES virtual_domains(id) ON DELETE CASCADE
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
数据表中密码不要用明文.我们使用sha512编码.
[root@localhost opt]# doveadm pw -s SHA512-CRYPT -p "abcdefg" -r 5000
{SHA512-CRYPT}$6$cbus.94.MiabC2Rd$MmITsuAz0nzqjrAhfKUubFDupDKE.rTocy1ECrNxQ/lAmz8l8XhGt3/6kF7XvxWQ8Nb7WQoSvirIn9aNdp.CN/
使用dovecot自带的工具doveadm,生成sha512编码.上面就是密码abcdefg的sha512编码.
INSERT INTO ts_mail.virtual_users (domain_id, password , email) VALUES ('1', '$6$cbus.94.MiabC2Rd$MmITsuAz0nzqjrAhfKUubFDupDKE.rTocy1ECrNxQ/lAmz8l8XhGt3/6kF7XvxWQ8Nb7WQoSvirIn9aNdp.CN/', 'i@otherhill.com');

或者用这个,效果也一样:
INSERT INTO `ts_mail`.`virtual_users`
(`domain_id`, `password` , `email`)
VALUES
('1', ENCRYPT('abcdefg', CONCAT('$6$', SUBSTRING(SHA(RAND()), -16))), 'i@otherhill.com')


CREATE TABLE `virtual_aliases` (
  `id` int(11) NOT NULL auto_increment,
  `domain_id` int(11) NOT NULL,
  `source` varchar(100) NOT NULL,
  `destination` varchar(100) NOT NULL,
  PRIMARY KEY (`id`),
  FOREIGN KEY (domain_id) REFERENCES virtual_domains(id) ON DELETE CASCADE
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
INSERT INTO ts_mail.virtual_aliases (domain_id, source, destination) VALUES ('1', 'i@otherhill.com', 'root@otherhill.com');
别名, 就是只有一个邮箱,但是对外它有多个名称.


上一篇:   Postfix 安装与配置

   

下一篇:   Dovecot




0 回复 | 直到2022-05-27 23:34添加回复

回复

最近更新

私信给我
生成图片 生成二维码 生成密码
清空