如何在CentOS6上安装Postfix
状态: 已弃用
本文介绍了不再受支持的 CentOS 版本。 如果您目前正在运行运行 CentOS 6 的服务器,我们强烈建议您升级或迁移到受支持的 CentOS 版本。
原因: CentOS 6 已于 2020 年 11 月 30 日结束生命周期 (EOL) and no longer receives security patches or updates. For this reason, this guide is no longer maintained.
请参阅:
本指南可能仍可用作参考,但可能不适用于其他 CentOS 版本。 如果可用,我们强烈建议使用为您使用的 CentOS 版本编写的指南。
关于后缀
Postfix 是免费的开源邮件传输代理,用于路由和传递电子邮件。 Cyrus 是一个帮助组织邮件本身的服务器。
第一步——安装 Postfix 和 Cyrus
首先要做的是在您的虚拟专用服务器上安装 postfix 和 Cyrus,最简单的方法是通过 yum 安装程序。
sudo yum install postfix
sudo yum install cyrus-sasl sudo yum install cyrus-imapd
每次询问时对提示说是。 下载所有组件后,您将安装 postfix 和 cyrus。
第二步——配置 Postfix
我们将分别配置这两个程序。
首先,打开 Postfix 的主配置文件。
sudo vi /etc/postfix/main.cf
postfix 配置文件非常方便和详细,提供了在您的 VPS 上启动和运行程序所需的几乎所有信息。 不幸的是,这也会导致文件很长。
在大多数情况下,以下建议的代码只是文件中已有内容的缩短且正确未注释的版本。 要进行快速设置,为您提供设置 postfix 所需的所有配置,请将以下信息复制并粘贴到 Postfix 的当前配置上。 请注意更正 myhostname 和 my domain 下的域名。
将 myhostname 行中的 example.com 替换为 DNS 批准的域名。 确保该短语仍然是 mail.yourdomainnamehere
将 mydomain 行中的 example.com 替换为正确的域名。
soft_bounce = no queue_directory = /var/spool/postfix command_directory = /usr/sbin daemon_directory = /usr/libexec/postfix mail_owner = postfix # The default_privs parameter specifies the default rights used by # the local delivery agent for delivery to external file or command. # These rights are used in the absence of a recipient user context. # DO NOT SPECIFY A PRIVILEGED USER OR THE POSTFIX OWNER. # #default_privs = nobody myhostname = mail.example.com mydomain = example.com mydestination = $myhostname, localhost unknown_local_recipient_reject_code = 550 mynetworks_style = host mailbox_transport = lmtp:unix:/var/lib/imap/socket/lmtp local_destination_recipient_limit = 300 local_destination_concurrency_limit = 5 recipient_delimiter=+ virtual_alias_maps = hash:/etc/postfix/virtual header_checks = regexp:/etc/postfix/header_checks mime_header_checks = pcre:/etc/postfix/body_checks smtpd_banner = $myhostname debug_peer_level = 2 debugger_command = PATH=/bin:/usr/bin:/usr/bin:/usr/X11R6/bin xxgdb $daemon_directory/$process_name $process_id & sleep 5 sendmail_path = /usr/sbin/sendmail.postfix newaliases_path = /usr/bin/newaliases.postfix mailq_path = /usr/bin/mailq.postfix setgid_group = postdrop html_directory = no manpage_directory = /usr/share/man sample_directory = /usr/share/doc/postfix-2.3.3/samples readme_directory = /usr/share/doc/postfix-2.3.3/README_FILES smtpd_sasl_auth_enable = yes smtpd_sasl_application_name = smtpd smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination, reject_invalid_hostname, reject_non_fqdn_hostname, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_unauth_pipelining, reject_rbl_client zen.spamhaus.org, reject_rbl_client bl.spamcop.net, reject_rbl_client dnsbl.njabl.org, reject_rbl_client dnsbl.sorbs.net, permit smtpd_sasl_security_options = noanonymous smtpd_sasl_local_domain = broken_sasl_auth_clients = yes smtpd_helo_required = yes
第三步——完成 Postfix
粘贴正确的配置后,我们几乎完成了在虚拟服务器上设置后缀。
为了防止任何错误,我们需要再执行两个步骤
在配置中,我们在行中包含了虚拟别名, virtual_alias_maps = hash:/etc/postfix/virtual; 现在我们必须建立那个数据库。
打开那个文件:
sudo vi /etc/postfix/virtual
删除文件中的所有文本,然后添加以下单行,将实际用户名替换为 user,以及正确的域,例如 example.com:
user@example.com user\@example.com
保存并退出。
通过在终端中输入此内容进行跟进
postmap /etc/postfix/virtual
这会将虚拟文件转换为查找表,创建 postfix 工作所需的数据库。
最后使用这个命令结束,它将在发送任何东西之前创建 postfix 期望的新文件。
touch /etc/postfix/body_checks
完成所有这些后,我们可以通过配置 Cyrus 来完成。
第四步——配置 Cyrus
第一步是将定义 Postfix/SASL 身份验证的 smtpd.conf 文件添加到 SASL 目录:
sudo vi /etc/sasl2/smtpd.conf
继续复制并粘贴以下文本:
pwcheck_method: auxprop auxprop_plugin: sasldb mech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5
保存并退出。
接下来,我们需要配置 Cyrus 文件:
sudo vi /etc/imapd.conf
删除当前文件中的内容,并将以下配置粘贴到文件中,更改默认域和服务器名称以匹配您的个人域名。
virtdomains: userid defaultdomain: example.com servername: example.com configdirectory: /var/lib/imap partition-default: /var/spool/imap admins: cyrus sievedir: /var/lib/imap/sieve sendmail: /usr/sbin/sendmail.postfix hashimapspool: true allowanonymouslogin: no allowplaintext: yes sasl_pwcheck_method: auxprop sasl_mech_list: CRAM-MD5 DIGEST-MD5 PLAIN tls_cert_file: /etc/pki/cyrus-imapd/cyrus-imapd.pem tls_key_file: /etc/pki/cyrus-imapd/cyrus-imapd.pem tls_ca_file: /etc/pki/tls/certs/ca-bundle.crt autocreatequota: -1 createonpost: yes autocreateinboxfolders: spam autosubscribeinboxfolders: spam
保存并退出。
第五步——安装邮件客户端
成功! 你已经在你的 VPS 上安装了 Postfix 和 Cyrus。 但是,这两个程序都与处理电子邮件有关,而不是发送电子邮件。 我们可以快速安装一个从命令行发送消息的方法。
我们可以使用多种客户端——在这里我们将连接 MailX
yum install mailx
在您同意提示后,mailx 将完成安装。
然后,要发送电子邮件,请在终端中键入此命令,替换您要发送消息的电子邮件。
mail user@example.org
终端将要求提供主题行。 输入一个,然后按回车键。 在随后的行中,您可以键入您的消息。 它只会在您按下回车键并输入句点时发送。
你的信看起来像这样:
[root@demoserver ~]# mail user@example.org Subject: Hello This is a test message. Regards, . EOT
恭喜——现在你已经安装了 postfix 并且正在运行电子邮件。 您已准备好使用您的虚拟专用服务器发送电子邮件。