`
ryan.liu
  • 浏览: 136351 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Postfix安装脚本

阅读更多

以下脚本在CentOS 5 上通过

 

#!/bin/bash

# 切换到root开始安装
su -
mkdir /data/Downloads/
chmod -R 777 /data/Downloads/
cd /data/Downloads/


wget http://postfix.it-austria.net/releases/official/postfix-2.7.1.tar.gz
wget ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-2.1.23.tar.gz
wget ftp://ftp.andrew.cmu.edu/pub/cyrus/cyrus-imapd-2.3.16.tar.gz
wget http://www.openssl.org/source/openssl-1.0.0a.tar.gz



#创建用户
useradd -M -s /bin/false -p* postfix
groupadd postdrop


# 安装
tar xzf openssl-1.0.0a.tar.gz
cd openssl-1.0.0a
./config --prefix=/usr/local/openssl-1.0.0a  shared threads  # -fPIC for 64 bit OS
make
make install
ln -s /usr/local/openssl-1.0.0a /usr/local/openssl


tar xzf cyrus-sasl-2.1.23.tar.gz
cd cyrus-sasl-2.1.23
./configure --prefix=/usr/local/postfix/cyrus-sasl-2.1.23 \
        --enable-login --enable-ntlm
make && make install
cd ..


tar xzf cyrus-imapd-2.3.16.tar.gz
cd cyrus-imapd-2.3.16
./configure --prefix=/usr/local/postfix/cyrus-imapd-2.3.16 --with-lock=fcntl \
        --with-sasl=/usr/local/postfix/cyrus-sasl-2.1.23 \
        --with-openssl=/usr/local/openssl
make && make install
cd ..


tar xzf postfix-2.7.1.tar.gz
cd postfix-2.7.1
make makefiles --always-make CCARGS='-I/usr/local/postfix/cyrus-sasl-2.1.23/include/sasl -I/usr/local/openssl/include -DDEF_CONFIG_DIR=\"/usr/local/postfix/etc\" -DFD_SETSIZE=2048 -DUSE_CYRUS_SASL -DUSE_TLS' \
        AUXLIBS='-L/usr/local/postfix/cyrus-sasl-2.1.23/lib/sasl2 -L/usr/local/openssl/lib -L/usr/local/openssl/lib64 -lsasl2 -lssl -lcrypto'
make
make install
#安装过程中需要回答问题,下面三个问题,请使用右边的回答,其他直接按回车用默认值
#  [/usr/bin/mailq]   /usr/bin/mailq.postfix
#  [/usr/bin/newaliases]   /usr/bin/newaliases.postfix
#  [/usr/sbin/sendmail]   /usr/sbin/sendmail.postfix
cd ..



# 添加以下内容到main.cf echo [BELOW TEXT] >> /usr/local/postfix/etc/main.cf
local_recipient_maps =
#请将所有的mail.example.com和example.com替换为您的MX域名
###############postfix#################################
myhostname = mail.example.com
myorigin = example.com
mydomain = example.com
append_dot_mydomain = no
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#mynetworks = 192.168.1.0/24, 10.0.0.0/24, 127.0.0.0/8
mynetworks = 127.0.0.1  #只接收本机的本地邮件
#body_checks = regexp:/usr/local/postfix/etc/body_checks  #用于从邮件中提取信息记录到postfix日志

############################CYRUS-SASL############################
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_invalid_hostname,reject_non_fqdn_hostname,reject_unknown_sender_domain,reject_non_fqdn_sender,reject_non_fqdn_recipient,reject_unknown_recipient_domain,reject_unauth_pipelining,reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_security_options = noanonymous
smtpd_sasl_application_name = smtpd
smtpd_banner = Welcome to our $myhostname ESMTP,Warning: Version not Available!


# echo [BELOW TEXT] > /usr/local/postfix/etc/smtpd.conf
echo "pwcheck_method: saslauthd" >> /usr/local/postfix/etc/smtpd.conf
echo "mech_list: PLAIN LOGIN" >> /usr/local/postfix/etc/smtpd.conf

# echo [BELOW TEXT] >> /usr/local/postfix/etc/body_checks
/\/account\/([a-z_]+)\/veri/  WARN "$1"
/verify=3D([0-9a-f]+)/  WARN "$1"




# 设置
rm -f /usr/sbin/sendmail
ln -s /usr/sbin/sendmail.postfix /usr/sbin/sendmail
rm -f /etc/alternatives/mta
ln -s /usr/sbin/sendmail.postfix /etc/alternatives/mta

rm -f /usr/sbin/saslauthd
ln -s /usr/local/postfix/cyrus-sasl-2.1.23/sbin/saslauthd /usr/sbin/saslauthd
rm -rf /etc/postfix
ln -s /usr/local/postfix/etc /etc/postfix

# 启动
/etc/rc.d/init.d/sendmail stop
chkconfig sendmail off
chkconfig --list sendmail
chkconfig saslauthd on
chkconfig --list saslauthd
/etc/rc.d/init.d/saslauthd start
postfix start

# 测试,收件人为who@where.com
telnet localhost 25
EHLO mail.example.com
MAIL FROM:admin@example.com
RCPT TO:who@where.com NOTIFY=success,failure
DATA
subject:Mail test!
This is just a mail test!!!
.


#从日志中统计退回、拒收、超时失败的邮件
#grep "status=bounced" /var/log/maillog | gawk 'match($0,/to=<(.*)>/){print substr($0,RSTART+4,RLENGTH-5)}'
#grep "status=deferred" /var/log/maillog | gawk 'match($0,/to=<(.*)>/){print substr($0,RSTART+4,RLENGTH-5)}'
#grep "status=expired" /var/log/maillog | gawk 'match($0,/to=<(.*)>/){print substr($0,RSTART+4,RLENGTH-5)}'


 
分享到:
评论
1 楼 ryan.liu 2014-09-24  
Postfix 2.11 Under CentOS 6

yum install -y db4-devel cyrus-sasl-devel cyrus-imapd-devel
make makefiles --always-make CCARGS='-DDEF_CONFIG_DIR=\"/etc/postfix\" -DFD_SETSIZE=2048 -DUSE_CYRUS_SASL -DUSE_TLS' AUXLIBS='-lsasl2 -lssl -lcrypto'
make install

相关推荐

    postfix日志腳本

    通过编写脚本自动化处理Postfix日志,不仅可以提高系统监控效率,还能快速定位问题,为邮件服务的优化提供数据支持。下面将深入解析给定脚本中的知识点,包括统计收件人域、发件人域、邮件发送总量以及日志中涉及的...

    Postfix安装

    Postfix 安装 - MySQL 安装和配置 Postfix 是一个基于 Unix 的电子邮件服务器,它可以作为邮件服务器来发送和接收邮件。为了安装 Postfix,我们需要首先安装 MySQL 数据库,因为 Postfix 需要使用 MySQL 来存储邮件...

    centos postfix2.8 安装

    此外,还需要创建Postfix所需的数据库表结构,通常可以使用MySQL提供的SQL脚本来完成。 ### 总结 通过源码编译安装Postfix 2.8并配置其使用MySQL数据库,可以为企业级邮件系统带来更高的灵活性和安全性。虽然这一...

    postfix邮件服务器的部署

    9. **extmail和extman安装**:可能为邮件系统提供额外功能,如自动化脚本处理。 **四、联合配置与调试** 完成上述组件的安装后,需要将它们整合并调试,确保所有服务协同工作。配置postfix以支持SMTP认证,验证...

    postfix邮件安装配置文档

    - 解压并安装Postfix源码包。 - 配置Postfix主配置文件(`main.cf`)和虚拟域配置文件(如`virtual_alias_maps`等)。 - 设置Postfix服务启动脚本。 6. **安装Courier Authlib** - 解压并安装Courier Authlib...

    树莓派安装postfix邮件服务1

    在本文中,我们将深入探讨如何在树莓派上安装和配置Postfix邮件服务,以及它与Dovecot、Squirrelmail、SpamAssassin和Sieve的结合使用,以建立一个功能齐全的家庭电子邮件服务器。树莓派因其小巧的体积和低功耗,...

    postfix权威指南 中文版

    postfix权威指南,O’Reilly系列丛书,POSTFIX权威指南中文版,文字版... 已经安装了sendmail的人不必失望,因为Postfix也兼容于sendmail。在换成Postfix之后,原本针对sendmail而写的应用程序或脚本同样可继续使用。

    Postfix搭建与安装包

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

    postfix-2.2.11.tar.gz

    3. 执行配置脚本,例如 `./configure --prefix=/usr/local/postfix`,指定安装路径。 4. 编译源代码,使用 `make` 命令。 5. 最后,执行 `make install` 安装 Postfix 到指定位置。 配置 Postfix 是关键环节,涉及...

    Centos52+postfix+extmail安装文档

    本安装文档将带你逐步了解如何在CentOS 5.2上配置和安装Postfix,以及整合Extmail来实现一个功能完备的邮件系统。 首先,让我们了解一下Postfix。Postfix是由Wietse Venema开发的一款邮件服务器,设计目标是安全、...

    Linux系列-Red_Hat5平台下的Postfix邮件服务搭建

    Postfix的主要配置文件位于/etc/postfix,包括主配置文件main.cf和其他相关脚本和查询表。程序文件位于/usr/libexec/postfix,邮件队列文件位于/var/spool/postfix,而管理工具位于/usr/sbin/,如Postalias、...

    postfix邮件

    首先,安装Postfix邮件服务器通常可以通过包管理器如`yum`进行,命令为`yum -y install postfix*`。安装完成后,需要配置Postfix以适应你的网络环境,这包括设置主机名和域名,并配置邮件路由。然后,通过`service ...

    linux中postfix配置安装.docx

    为了使Postfix在系统启动时自动运行,你需要将其添加到启动脚本中: ```bash vi /etc/rc.d/rc.local ``` 然后在文件末尾添加启动Postfix的命令: ```bash /usr/sbin/postfix start ``` 安装和配置Dovecot是为了提供...

    postfix-3.4.6.tar.gz

    这个"postfix-3.4.6.tar.gz"压缩包包含的是Postfix 3.4.6版本的源代码,允许用户在本地环境中编译和安装。源码下载意味着用户可以根据自己的系统需求进行定制化配置,以满足特定的安全标准或性能优化。 Postfix由...

    CentOS 7.2下安装部署邮件服务器(Postfix)的步骤详解

    在本文中,我们将深入探讨如何在CentOS 7.2操作系统上安装和配置Postfix电子邮件服务器。Postfix是由IBM华生研究中心的Wietse Venema开发的,它是一款开源的邮件传输代理,旨在提高对sendmail邮件服务器的性能和安全...

    postfix+dovecot.rar

    当我们谈论"postfix+dovecot.rar"时,我们可以理解这是一个包含这两者配置和安装教程或者相关脚本的压缩包文件。 首先,让我们详细了解一下Postfix。Postfix由Wietse Venema开发,设计目标是安全、速度、稳定性和...

    利用yum安装postfix邮件服务器

    ### 利用YUM安装Postfix邮件服务器:深入解析与实践 #### 一、环境准备与配置 在本文中,我们将详细介绍如何在CentOS 5.4环境下利用YUM工具来安装并配置Postfix邮件服务器。该教程适用于那些希望自行搭建高效、...

    POSTFIX权威指南(PDF)

    10. **自动化管理**:了解如何编写脚本和使用管理工具自动化Postfix的日常任务,如邮件报告、监控警告和定期备份。 通过阅读"POSTFIX权威指南",无论是新手还是经验丰富的管理员,都能获得关于Postfix的深度知识和...

    postfix+dovecot

    安装完成后,测试邮件服务器的功能,可以使用`telnet`命令来模拟邮件发送,或者创建一个简单的脚本`install.sh`来自动化整个过程。 总之,通过Postfix和Dovecot的组合,你可以搭建起一个功能完善的本地邮件服务器。...

Global site tag (gtag.js) - Google Analytics