Linux1为centos,Linux1安装配置 postfix 和 dovecot,启用 imaps 和 smtps,禁止使用不安全的 smtp 和 imap 发送和接收邮件; 安装配置 postfixadmin; 创建虚拟域 chinaskills.cn 以及 99 个邮件用户 mailuser1~ mailuser99.虚拟用户映射至本地用户 vmail 和用户组 vmail,UID 和 GID 均为 2000; 使用 mailuser1@chinaskills.cn 的邮箱向 mailuser2@chinaskills.cn 的邮箱发送一封测试邮件,邮件标题为“just test mail from mailuser1”, 邮件内容为“hello , mailuser2”。 使用 mailuser2@chinaskills.cn 的邮箱向 mailuser1@chinaskills.cn 的邮箱发送一封测试邮件,邮件标题为“just test mail from mailuser2”, 邮件内容为“hello , mailuser1”; 添加广播邮箱地址 all@chinaskills.cn,当该邮箱收到邮件时, mailuser1 和 mailuser2 用户都能在自己的邮箱中查看;使用 mailuser1@chinaskills.cn 向 all@chinaskills.cn 发送测试邮件,邮件标题为“test all”,邮件内容为“hello ,test all”; 使用 https://mail.chinaskills.cn 网站测试邮件发送与接收
时间: 2024-02-01 12:12:21 浏览: 159
很抱歉,我是一个语言模型,无法为你提供实际操作的指导。但是,你可以参考以下步骤来完成这些任务:
1. 安装配置 postfix 和 dovecot
在 CentOS 中,使用以下命令安装 postfix 和 dovecot:
```
sudo yum install postfix dovecot
```
然后,编辑 `/etc/postfix/main.cf` 文件,使其包含以下内容:
```
# 禁止使用不安全的 smtp 发送邮件
smtpd_tls_security_level = may
smtpd_tls_protocols = TLSv1.2, TLSv1.3
smtpd_tls_ciphers = high
smtpd_tls_mandatory_protocols = TLSv1.2, TLSv1.3
smtpd_tls_mandatory_ciphers = high
# 启用 smtps
smtpd_use_tls=yes
smtpd_tls_auth_only = yes
smtp_tls_security_level = may
smtp_tls_protocols = TLSv1.2, TLSv1.3
smtp_tls_ciphers = high
smtp_tls_mandatory_protocols = TLSv1.2, TLSv1.3
smtp_tls_mandatory_ciphers = high
# 禁止使用不安全的 imap 接收邮件
imap_tls_security_level = may
imap_tls_protocols = TLSv1.2, TLSv1.3
imap_tls_ciphers = high
imap_tls_mandatory_protocols = TLSv1.2, TLSv1.3
imap_tls_mandatory_ciphers = high
# 启用 imaps
imaps_use_tls=yes
imaps_tls_auth_only = yes
```
接下来,编辑 `/etc/dovecot/conf.d/10-auth.conf` 文件,取消以下注释:
```
disable_plaintext_auth = yes
auth_mechanisms = plain login
```
最后,重启 postfix 和 dovecot:
```
sudo systemctl restart postfix
sudo systemctl restart dovecot
```
2. 安装配置 postfixadmin
在 CentOS 中,使用以下命令安装 postfixadmin:
```
sudo yum install postfixadmin
```
然后,编辑 `/etc/httpd/conf.d/postfixadmin.conf` 文件,使其包含以下内容:
```
Alias /postfixadmin /usr/share/postfixadmin
<Directory /usr/share/postfixadmin>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
```
接下来,编辑 `/etc/postfixadmin/config.local.php` 文件,使其包含以下内容:
```
<?php
$CONF['configured'] = true;
$CONF['database_type'] = 'mysqli';
$CONF['database_host'] = 'localhost';
$CONF['database_user'] = 'postfix';
$CONF['database_password'] = 'password';
$CONF['database_name'] = 'postfix';
$CONF['default_language'] = 'cn';
$CONF['admin_email'] = 'admin@chinaskills.cn';
$CONF['footer_text'] = 'Postfix Admin';
$CONF['encrypt'] = 'dovecot:SHA512-CRYPT';
$CONF['smtp_server'] = 'localhost';
$CONF['smtp_port'] = '25';
$CONF['smtp_secure'] = '';
$CONF['dovecotpw'] = '/usr/bin/doveadm pw -s SHA512-CRYPT';
$CONF['quota'] = 'YES';
$CONF['quota_multiplier'] = '1024000';
$CONF['used_quotas'] = 'YES';
?>
```
其中,`database_password` 和 `dovecotpw` 应该替换为实际的密码。
最后,重启 Apache:
```
sudo systemctl restart httpd
```
3. 创建虚拟域和用户
使用以下命令创建虚拟域和用户:
```
sudo postconf -e 'virtual_mailbox_domains = chinaskills.cn'
sudo postconf -e 'virtual_mailbox_base = /var/vmail'
sudo postconf -e 'virtual_mailbox_maps = hash:/etc/postfix/vmailbox'
sudo postconf -e 'virtual_alias_domains ='
sudo postconf -e 'virtual_alias_maps = hash:/etc/postfix/virtual'
sudo groupadd -g 2000 vmail
sudo useradd -g vmail -u 2000 vmail -d /var/vmail -m
sudo chown -R vmail:vmail /var/vmail
sudo touch /etc/postfix/virtual
sudo chmod 600 /etc/postfix/virtual
sudo postmap /etc/postfix/virtual
sudo touch /etc/postfix/vmailbox
sudo chmod 600 /etc/postfix/vmailbox
sudo postmap /etc/postfix/vmailbox
for i in {1..99}
do
username="mailuser$i"
password=$(openssl rand -base64 12)
encrypted_password=$(doveadm pw -s SHA512-CRYPT -p $password)
echo "$username@chinaskills.cn $username/" | sudo tee -a /etc/postfix/vmailbox
echo "$username@chinaskills.cn $username" | sudo tee -a /etc/postfix/virtual
sudo doveadm user -c /etc/dovecot/users "$username@chinaskills.cn" password "$password"
done
```
其中,`password` 应该替换为实际的密码。
4. 发送和接收邮件
使用以下命令发送和接收测试邮件:
```
echo "hello, mailuser2" | mail -s "just test mail from mailuser1" mailuser2@chinaskills.cn -aFrom:mailuser1@chinaskills.cn
echo "hello, mailuser1" | mail -s "just test mail from mailuser2" mailuser1@chinaskills.cn -aFrom:mailuser2@chinaskills.cn
sudo postconf -e 'virtual_alias_maps = hash:/etc/postfix/virtual,hash:/etc/postfix/all'
echo "hello, test all" | mail -s "test all" all@chinaskills.cn -aFrom:mailuser1@chinaskills.cn
```
其中,`From` 参数指定发件人。
5. 测试邮件发送与接收
使用 https://mail.chinaskills.cn 网站测试邮件发送与接收。
阅读全文