温馨提示×

centos message如何安装

小樊
39
2025-12-07 17:22:18
栏目: 智能运维

在 CentOS 上安装与配置消息相关组件

常见需求与对应方案

  • 若只是想在系统上用命令行发信,安装并使用 mailx 即可,配合本机或外部 SMTP 发信。
  • 若需要本机具备邮件收发能力(MTA + IMAP/POP3),安装 Postfix(发信/收信)与 Dovecot(IMAP/POP3 存取)。
  • 若要在应用间进行异步消息队列通信,安装 RabbitMQ(AMQP 消息队列)。

方案一 命令行发信 mailx 最简安装

  • 安装工具
    • CentOS 7:sudo yum install -y mailx
    • CentOS 8/Stream:sudo dnf install -y mailx
  • 可选:安装并启动本机 MTA(Postfix)以便“本机直接投递”
    • sudo yum install -y postfix && sudo systemctl enable --now postfix
  • 配置外部 SMTP(推荐,例如使用公司或公共邮箱的 SMTP)
    • 编辑 /etc/mail.rc,在末尾追加(按你的邮箱服务商填写):
      • set from=你的邮箱@域名.com
      • set smtp=smtp.域名.com:587
      • set smtp-auth-user=你的邮箱@域名.com
      • set smtp-auth-password=你的授权码或密码
      • set smtp-auth=login
      • set ssl-verify=ignore(如测试阶段证书报错可临时忽略)
  • 发送测试
    • echo “邮件正文” | mail -s “测试主题” 收件人@域名.com
  • 说明
    • 多数云厂商默认封禁 25 端口,发信请使用 587(Submission,STARTTLS)或 465(SMTPS)。如使用外部 SMTP,本机 MTA 仅作本地投递代理即可。

方案二 搭建本机邮件服务器 Postfix + Dovecot

  • 安装组件
    • sudo yum install -y postfix dovecot
  • 配置 Postfix(/etc/postfix/main.cf,按需修改)
    • myhostname = mail.你的域名
    • mydomain = 你的域名
    • myorigin = $mydomain
    • inet_interfaces = all
    • mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
    • mynetworks = 127.0.0.0/8
    • home_mailbox = Maildir/
  • 配置 Dovecot(/etc/dovecot/dovecot.conf 或 /etc/dovecot/conf.d/10-mail.conf)
    • protocols = imap pop3
    • mail_location = maildir:~/Maildir
  • 启动与开机自启
    • sudo systemctl enable --now postfix dovecot
  • 防火墙(如使用 firewalld)
    • 提交端口:sudo firewall-cmd --permanent --add-port=587/tcp
    • IMAP:sudo firewall-cmd --permanent --add-port=143/tcp
    • POP3:sudo firewall-cmd --permanent --add-port=110/tcp
    • 重载:sudo firewall-cmd --reload
  • 测试
    • 本机发信:echo “body” | mail -s “subject” 收件人@域名.com
    • 外部收信:使用邮件客户端通过 IMAP/POP3 连接服务器(端口 143/110)。

方案三 安装消息队列 RabbitMQ

  • 安装 Erlang 仓库(示例为 RabbitMQ 3.8 系列,适配 CentOS 7/8 x86_64)
    • sudo tee /etc/yum.repos.d/rabbitmq.repo <<EOF [rabbitmq-server] name=RabbitMQ repository for CentOS/$basearch baseurl=http://rpm.rabbitmq.com/yum/rabbitmq-server/v3.8/x86_64/ repo_gpgcheck=1 gpgcheck=1 enabled=1 gpgkey=https://www.rabbitmq.com/rabbitmq-release-signing-key.asc EOF
  • 安装与启动
    • sudo yum install -y rabbitmq-server
    • sudo systemctl enable --now rabbitmq-server
  • 防火墙
    • 业务端口:sudo firewall-cmd --permanent --add-port=5672/tcp
    • 管理界面:sudo firewall-cmd --permanent --add-port=15672/tcp
    • 重载:sudo firewall-cmd --reload
  • 访问管理界面
    • 浏览器打开:http://服务器IP:15672
    • 默认账号/密码:guest/guest(生产环境请立即修改或禁用默认账户)。

常见问题与排错要点

  • 端口与连通性
    • 云服务器常封 25 端口;发信优先 587/465;IMAP/POP3 用 143/110;RabbitMQ 用 5672/15672
  • 认证与加密
    • 使用外部 SMTP 时,密码通常为邮箱的“授权码”;启用 STARTTLS/SSL 以避免明文传输。
  • 本机 MTA 与外部 SMTP 的选择
    • 仅脚本告警建议直接走外部 SMTP;需要系统级邮件队列与本地投递再启用 Postfix
  • 日志排查
    • Postfix:/var/log/maillog;Dovecot:/var/log/dovecot;RabbitMQ:journalctl -u rabbitmq-server。

0