恭喜您成功部署了邮件系统!以下是使用指南,帮助您配置邮件客户端并开始使用邮件服务。
- 域名: mail.example.com
- 管理员邮箱: service@mail.example.com
- 管理员密码: Passw0rd
您可以使用任何支持IMAP/POP3协议的邮件客户端(如Thunderbird、Outlook、Foxmail等)来配置您的邮箱。以下是通用配置参数:
- 服务器地址: mail.example.com
- 端口: 993
- 加密方式: SSL/TLS
- 认证方式: 密码
- 用户名: service (或完整邮箱地址 service@mail.example.com)
- 密码: Passw0rd
- 服务器地址: mail.example.com
- 端口: 995
- 加密方式: SSL/TLS
- 认证方式: 密码
- 用户名: service (或完整邮箱地址 service@mail.example.com)
- 密码: Passw0rd
- 服务器地址: mail.example.com
- 端口: 587
- 加密方式: STARTTLS
- 认证方式: 密码
- 用户名: service (或完整邮箱地址 service@mail.example.com)
- 密码: Passw0rd
如果您不想配置桌面客户端,可以安装Webmail客户端(如Roundcube或SquirrelMail)。以下是安装Roundcube的简单步骤:
# 安装Apache和PHP
sudo apt install -y apache2 php libapache2-mod-php php-mysql php-curl php-gd php-intl php-json php-mbstring php-xml php-zip
# 安装Roundcube
sudo apt install -y roundcube roundcube-core roundcube-mysql roundcube-plugins
# 配置Apache
sudo ln -s /etc/roundcube/apache.conf /etc/apache2/conf-available/roundcube.conf
sudo a2enconf roundcube
sudo systemctl restart apache2安装完成后,您可以通过 http://mail.example.com/roundcube 访问Webmail界面。
您可以使用命令行发送测试邮件,验证系统是否正常工作:
echo "这是一封测试邮件的内容" | mail -s "测试邮件主题" recipient@example.com要添加新用户到邮件服务器,请使用--add-user和--user-password参数:
./deploy_mail_server.sh --add-user <username> --user-password <password>例如,添加用户john并设置密码SecurePass123:
./deploy_mail_server.sh --add-user john --user-password SecurePass123此命令将创建指定的用户账户,设置密码,创建Maildir目录并配置适当的权限。
配置完成后,您可以使用以下命令添加新用户:
./deploy_mail_server.sh --add-user 新用户邮箱 --user-password 用户密码参数说明:
--add-user: 指定新用户的邮箱地址(格式: username@domain.com)--user-password: 指定新用户的密码
示例:
./deploy_mail_server.sh --add-user john@example.com --user-password SecurePass123!执行成功后,系统会:
- 创建用户(如果不存在)
- 设置用户密码
- 创建并配置Maildir目录
- 授予适当的文件权限
如果用户已存在,脚本将仅更新密码而不修改其他设置。
# 修改密码
echo "username:newpassword" | chpasswd-
无法发送邮件?
- 检查SMTP服务器配置是否正确
- 确保端口587未被防火墙阻止
- 验证用户名和密码是否正确
- 手动重启服务:
sudo service postfix restart && sudo service dovecot restart
-
无法接收邮件?
- 检查IMAP/POP3服务器配置是否正确
- 确保端口993/995未被防火墙阻止
- 验证用户名和密码是否正确
- 检查服务状态:
sudo service postfix status && sudo service dovecot status
-
测试邮件未收到?
- 检查垃圾邮件文件夹
- 确认邮件系统日志,查找可能的错误:
sudo tail -f /var/log/mail.log ```
默认情况下,可能需要开放以下端口以允许邮件服务通信:
# 开放SMTP端口
sudo ufw allow 25/tcp
# 开放SMTP提交端口
sudo ufw allow 587/tcp
# 开放IMAP端口
sudo ufw allow 993/tcp
# 开放POP3端口
sudo ufw allow 995/tcp
# 重新加载防火墙规则
sudo ufw reload如果您遇到Dovecot服务启动失败(LMTP相关错误),请使用更新后的脚本重新部署以安装缺失的组件:
./deploy_mail_server.sh --domain mail.example.com --email service@mail.example.com --password Passw0rd部署完成后,检查服务是否正常运行:
# 检查Postfix状态
service postfix status
# 检查Dovecot状态
service dovecot status
# 检查防火墙规则
sudo ufw status如果您遇到其他问题,请查看系统日志或联系管理员。
如果部署过程中出现"SSL证书主题与域名不匹配"错误,请执行以下步骤:
-
确认部署命令中的域名参数正确:
./deploy_mail_server.sh --domain mail.example.com --email service@mail.example.com --password Passw0rd
-
手动检查生成的证书主题:
openssl x509 -in /etc/ssl/certs/mail-mail.example.com-cert.pem -noout -subject
-
预期输出应包含
CN=mail.example.com(允许等号周围有空格)。如果不匹配,请删除旧证书并重新部署:sudo rm -f /etc/ssl/certs/mail-mail.example.com-cert.pem /etc/ssl/private/mail-mail.example.com-key.pem ./deploy_mail_server.sh --domain mail.example.com --email service@mail.example.com --password Passw0rd
邮件服务器使用域名特定的SSL证书,路径如下:
- 证书文件:
/etc/ssl/certs/mail-mail.example.com-cert.pem - 密钥文件:
/etc/ssl/private/mail-mail.example.com-key.pem
- 脚本会自动检查证书是否存在,如已存在则跳过生成
- 如证书不存在,将使用OpenSSL生成自签名证书
- 证书主题会验证是否包含正确的域名
要验证证书是否正确生成,可以使用以下命令:
openssl x509 -in /etc/ssl/certs/mail-mail.example.com-cert.pem -noout -subject -nameopt RFC2253预期输出应包含 CN=mail.example.com。如果不匹配,请删除证书文件后重新部署:
sudo rm -f /etc/ssl/certs/mail-mail.example.com-cert.pem /etc/ssl/private/mail-mail.example.com-key.pem
./deploy_mail_server.sh --domain mail.example.com --email service@mail.example.com --password Passw0rd