如何在 CentOS 6 上安装 Postfix如何在 CentOS 6 上安装 Postfix如何在 CentOS 6 上安装 Postfix如何在 CentOS 6 上安装 Postfix
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 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 并运行了电子邮件。您已准备好使用您的虚拟专用服务器发送电子邮件。

©2015-2025 艾丽卡 support@alaica.com