`

Postfix 快速指南 (转)

阅读更多

介绍

Postfix 是一种 Mail Transfer Agent 邮件传送代理 (MTA) 是 Ubuntu 缺省的邮件代理程序. 它在 Ubuntu 的 main 仓库, 意味着它将接收到安全方面的升级。 这个指南说明了如何安装和配置 postfix 和设置为一个使用安全连接的 SMTP 服务器。

 

安装

为了安装 Postfix 、 SMTP-AUTH 和 TLS 执行下列步骤:

apt-get install postfix libsasl2-2 sasl2-bin libsasl2-modules procmail

 

配置

 运行:

dpkg-reconfigure postfix
 

在被询问时,插入如下的内容 (如果你有一个域名的话,使用你的域名替换掉 server1.example.com ):

  • Internet Site
  • NONE
  • server1.example.com
  • server1.example.com, localhost.example.com, localhost
  • No
  • 127.0.0.0/8
  • Yes
  • 0
  • +
  • all

然后运行下面的命令:

postconf -e 'smtpd_sasl_local_domain ='
postconf -e 'smtpd_sasl_auth_enable = yes'
postconf -e 'smtpd_sasl_security_options = noanonymous'
postconf -e 'broken_sasl_auth_clients = yes'
postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination'
postconf -e 'inet_interfaces = all'
echo 'pwcheck_method: saslauthd' >> /etc/postfix/sasl/smtpd.conf
echo 'mech_list: plain login' >> /etc/postfix/sasl/smtpd.conf

mkdir /etc/postfix/ssl
cd /etc/postfix/ssl/
openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024
chmod 600 smtpd.key
openssl req -new -key smtpd.key -out smtpd.csr
openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crt
openssl rsa -in smtpd.key -out smtpd.key.unencrypted
mv -f smtpd.key.unencrypted smtpd.key
openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650

postconf -e 'smtpd_tls_auth_only = no'
postconf -e 'smtp_use_tls = yes'
postconf -e 'smtpd_use_tls = yes'
postconf -e 'smtp_tls_note_starttls_offer = yes'
postconf -e 'smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key'
postconf -e 'smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt'
postconf -e 'smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem'
postconf -e 'smtpd_tls_loglevel = 1'
postconf -e 'smtpd_tls_received_header = yes'
postconf -e 'smtpd_tls_session_cache_timeout = 3600s'
postconf -e 'tls_random_source = dev:/dev/urandom'
postconf -e 'myhostname = server1.example.com'

 文件 /etc/postfix/main.cf 现在看起来如下:

# See /usr/share/postfix/main.cf.dist for a commented, more complete version

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

myhostname = server1.example.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = server1.example.com, localhost.example.com, localhost
relayhost =
mynetworks = 127.0.0.0/8
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
smtpd_sasl_local_domain =
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject _unauth_destination
smtpd_tls_auth_only = no
smtp_use_tls = yes
smtpd_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key
smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt
smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom

 重启 postfix 服务:

/etc/init.d/postfix restart
 

验证

验证通过 saslauthd 完成。

我们不得不调整一些东西使它工作的更好。 因为 Postfix 运行 chrooted 在 /var/spool/postfix 我们修改一些相对路径使其在一个假想的 root 下运行。 (例如. /var/run/saslauthd 变成 /var/spool/postfix/var/run/saslauthd ):

首先我们编辑 /etc/default/saslauthd 为了激活 saslauthd. 删除 # 于 START=yes 行的前面并且正在 PWDIR, PARAMS, 和 PIDFILE 行:

# This needs to be uncommented before saslauthd will be run automatically
START=yes

PWDIR="/var/spool/postfix/var/run/saslauthd"
PARAMS="-m ${PWDIR}"
PIDFILE="${PWDIR}/saslauthd.pid"

# You must specify the authentication mechanisms you wish to use.
# This defaults to "pam" for PAM support, but may also include
# "shadow" or "sasldb", like this:
# MECHANISMS="pam shadow"

MECHANISMS="pam"
 

笔记 : 如果你喜欢, 你可以使用 "shadow" 代替 "pam". 它将使用 MD5 来传输密码,这是一种更安全的做法。 用户名和密码的验证需要使用你服务器上的用户。

下一步, 我们更新 dpkg "状态" 于 /var/spool/portfix/var/run/saslauthd. saslauthd 初始化脚本来建立缺少的目录并拥有适当的权限:

dpkg-statoverride --force --update --add root sasl 755 /var/spool/postfix/var/run/saslauthd
 
dpkg-statoverride --force --update --add root sasl 755 /var/spool/postfix/var/run/saslauthd

 

最后,运行 saslauthd:

/etc/init.d/saslauthd start
 

测试

为了查看 SMTP-AUTH 和 TLS 是否正确运行,现在运行如下命令:

telnet localhost 25

当你连接到你的 postfix 邮件服务器后,输入

ehlo localhost

如果你看到如下行

250-STARTTLS
250-AUTH
 
250-STARTTLS
250-AUTH

在其它的中间, 所有的事情都在正常运行.

输入 quit 返回到系统终端.

 

一/测试SMTP发送邮件
[root@mail ~]# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 mail.zpp.com ESMTP Postfix
helo localhost   //宣告客户端地址
250 mail.zpp.com
mail from:zpp001@zpp.com   //告知服务器发件人地址
250 2.1.0 Ok
rcpt to:zpp002@zpp.com     //告知服务器收件人地址
250 2.1.5 Ok
Data    //告知服务器要传送数据了
354 End data with <CR><LF>.<CR><LF>
subject:I Love You!    //主题
hello!
You are my super star! he he he !    //邮件内容以点结束
.
250 2.0.0 Ok: queued as 27ECCE01ED
Quit     //退出
221 2.0.0 Bye
Connection closed by foreign host.


二/测试POP3接收邮件
[root@mail ~]# telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
+OK Dovecot ready.
user zpp002  //使用邮件用户“zpp002”登录
+OK
pass 123.com  //键入密码123.com
+OK Logged in.
List    //查看邮件列表
+OK 1 messages:
1 485
.
retr 1   //收取并查看第一封邮件内容
+OK 485 octets
Return-Path: <zpp001@zpp.com>
X-Original-To: zpp002@zpp.com
Delivered-To: zpp002@zpp.com
Received: from localhost (localhost.localdomain [127.0.0.1])
        by mail.zpp.com (Postfix) with SMTP id 27ECCE01ED
        for <zpp002@zpp.com>; Thu, 28 Jan 2021 03:57:40 +0800 (CST)
subject:I Love You!
Message-Id: <20210127195752.27ECCE01ED@mail.zpp.com>
Date: Thu, 28 Jan 2021 03:57:40 +0800 (CST)
From: zpp001@zpp.com
To: undisclosed-recipients:;
hello!
You are my super star! he he he !
.
quit
+OK Logging out.
Connection closed by foreign host.
 

其它 Postfix 指南

这些指南将教会你如何使用 Postfix 邮件服务器从基本的到高级设置。

Postfix 基础设置

Postfix 基本设置指南 将教会你 Posfix 的概念和如果做 Postfix 的基本设置和运行. 如果你是 Postfix 新手,推荐首先阅读这个指南.

Postfix 虚拟邮箱和病毒过滤

Postfix 虚拟邮箱和病毒过滤指南 将教会你如何设置一个虚拟邮箱使用 non-linux 帐号,每个用户将使用他们的 e-mail 地址和 POP3/IMAP 服务来验证 和 ClamSMTP 防毒软件过滤所有发进发出邮件已知的病毒.

Postfix 完整的问答

Postfix 完整虚拟邮件系统指南 将帮助你,如果你作为一个 ISP 管理一个大的虚拟域名,或者在一个大公司里面需要管理多个邮件域名,这个手册是适合的,你将看到如下的方法:

  • 基于 Web 的系统管理
  • 不限制数量的域名
  • 不需要系统帐号的虚拟邮件用户
  • 特定域名的用户帐号
  • 邮箱空间大小限制
  • Web 访问邮件帐号
  • Web 界面的修改用户帐号
  • IMAP 和 POP3 支持
  • Auto 回复
  • SMTP 验证
  • SSL 传输安全
  • 强大的 SPAM 过滤
  • Anti-Virus 过滤
  • 日志分析
分享到:
评论

相关推荐

    Postfix 快速指南

    Postfix 快速指南 Postfix 是一个广泛使用的开源邮件传输代理(MTA),在Ubuntu系统中被默认采用。作为Ubuntu主软件库的一部分,Postfix 可以方便地获取安全更新,确保系统的安全性。本指南将指导您如何安装、配置...

    POSTFIX权威指南

    1. 高性能:POSTFIX以其快速的处理速度著称,能够处理大量的邮件流量,尤其适合大型企业或高流量服务器环境。 2. 安全性:POSTFIX在设计时充分考虑了安全因素,如严格的权限控制、防止缓冲区溢出的防护机制、支持...

    postfix中文技术手册

    - **培训课程**:一些第三方机构提供的Postfix培训课程可以帮助管理员快速掌握必要的技能。 #### 七、结论 Postfix作为一款成熟且功能强大的邮件服务器软件,其设计理念和技术特点使其成为众多组织和个人首选的...

    Postfix搭建与安装包

    本指南将详细讲解Postfix的搭建和安装过程,以及如何利用提供的安装包进行配置。 一、Postfix的简介 Postfix是由Wietse Venema开发的一款邮件服务器,它的设计目标是高效、安全且易于管理。Postfix支持多种操作系统...

    postfix-2.5.2.tar.gz

    - Postfix设计目标是安全、快速和易于管理,它在性能和安全性方面都有良好的口碑。 2. **Postfix的组成部分**: - 主控进程(Master):管理Postfix的各个子进程。 - SMTP服务器(smtpd):接收来自其他邮件...

    ansible-postfix:在没有提示的情况下使用ANSIBLE安装Postfix

    Ansible Playbook,可在没有提示的情况下在您的Ubuntu / Debian服务器上快速安装POSTFIX。 Postfix是一种免费的开源邮件传输代理(MTA),可以路由和传递电子邮件,目的是替代广泛使用的Sendmail MTA。 要求 预先...

    邮件服务安装包

    "Readme-说明.htm"文件可能包含了关于Postfix的详细安装指南、注意事项以及常见问题解答,建议在安装过程中仔细阅读,以获取更全面的信息。 总之,Postfix是一个强大的邮件服务器解决方案,它的安装和配置需要一定...

    EMOS快速入门指南 电子书

    ### EMOS快速入门指南知识点详解 #### 一、EMOS简介 **EMOS**全称为**Enterprise Mail Server Operating System**,即企业级邮件服务器操作系统。它是一款专为满足企业级邮件服务需求而设计的系统,提供了高效、...

    IntelliJ IDEA 中文指南.pdf

    指南还包括了如何管理项目中的各类文件类型以及IntelliJ IDEA快速搜索的原因——索引机制的解释。此外,对于Java开发,文档详细介绍了文件编译方式和项目相关概念,例如Maven项目结构搭建、Spring框架和Mybatis整合...

    基于FreeBSD和Postfix的反垃圾邮件系统5.1(PowerUP补充版V2.0).doc

    Postfix是一个开源的邮件传输代理,设计目标是快速、安全和易于管理。它支持多域名服务,并且具有强大的过滤机制,这使得它成为构建反垃圾邮件系统的关键组件。 **系统架构** 系统的主要组件包括: 1. **Cyrus-sasl...

    ELKstack 中文指南

    并详细介绍了各种日志数据的场景应用,如nginx访问日志、nginx错误日志、postfix日志、ossec日志、windows系统日志、Java日志、MySQL慢查询日志等。 Kibana是ELK Stack中的数据可视化工具,它提供了强大的数据展示...

    邮件服务器架设

    Postfix的设计理念是“快速、安全、易用”,这使得它成为许多企业和组织的首选邮件服务器。Postfix的核心组件包括SMTP接收器、本地投递代理和邮件队列管理器。安装和配置postfix涉及到设置主配置文件、网络参数、...

    IDEA的使用指南

    代码模板和Emmet是加快编码速度的工具,分别在“实时代码模板讲解”和“Emmet讲解”中详细讲解,Postfix Completion则介绍了在代码编辑时,通过键入特定后缀从而快速完成代码编写的方法。 对于希望将已有Eclipse...

    elk中文指南1

    - **实时性**:通过segment、buffer和translog机制实现快速索引和搜索。 - **弹性**:通过routing和replica策略保证数据可靠性,shard的allocate控制实现动态平衡。 - **高性能**:segment merge过程对写入性能有...

    qmail使用技术指南

    随着邮件服务器软件的发展,出现了许多qmail的替代品,如Exim、Postfix和Sendmail。这些软件各有特点,了解它们的优缺点有助于选择最适合自己的邮件解决方案。 总结,《qmail使用技术指南》是学习和管理qmail的必备...

    ASSP安装包

    3. **Win32-quickstart-guide.txt**:针对Windows 32位系统的快速启动指南,可能包含特定于Windows平台的安装和配置细节,因为Postfix和其他Linux原生软件在Windows上的部署可能会有所不同。 4. **MacOSX-launchd....

Global site tag (gtag.js) - Google Analytics