如何在 CentOS 6 上安装 Postfix
状态:已弃用
本文涵盖不再受支持的 CentOS 版本。如果您当前正在运行运行 CentOS 6 的服务器,我们强烈建议您升级或迁移到受支持的 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
粘贴正确的配置后,我们几乎完成了在我们的虚拟服务器上设置 postfix。
为了防止任何错误,我们需要再执行两个步骤
在配置中,我们在行中包含了虚拟别名,virtual_alias_maps=hash:/etc/postfix/virtual;现在我们必须建立那个数据库。
打开那个文件:
sudo vi /etc/postfix/virtual
删除文件中的所有文本,然后添加以下单行,将用户替换为实际用户名,将 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 并运行了电子邮件。您已准备好使用您的虚拟专用服务器发送电子邮件。