邮件服务器之编译安装postfix

安装环境:redhat5.8 2.6.18-194.el5 i386

mysql 5.6.25 (mysql> SELECT VERSION();)

安装前

关闭sendmail服务 service sendmail stop &&chkconfig sendmail off

安装gcc环境  yum -y install gcc+

确认开发环境已安装;

Development Libraries

Development Tools

启动mysqld数据库服务. service mysqld start

启动saslauthd服务 service saslauthd start

添加postsfix账户:groupadd -g 2525 postfix

useradd -g 2525 -u 2525 -s /sbin/nologin -M postfix

添加postdrop用户组 groupadd -g 2526 postdrop

useradd -g 2526 -u 2526 -s /sbin/nologin -M postdrop

开始安装postfix

3.解压源码包 tar xf postfix-2.10.8.tar.gz

2.进入解压后的文件夹执行:make makefiles ‘CCARGS=-DHAS_MYSQL -I/usr/local/mysql/include -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl -DUSE_TLS ‘ ‘AUXLIBS=-L/usr/local/mysql/lib -lmysqlclient -lz -lm -L/usr/lib/sasl2 -lsasl2 -lssl -lcrypto‘

  1. 说明:

    -I/usr/local/mysql/include指明MySQl头文件路径

    AUXLIBS=-L/usr/local/mysql/lib指明MySQL库文件路径

    -DUSE_SASL_AUTH 启用SASL支持

    -I/usr/include/sasl 指明SASL头文件路径

    -DUSE_TLS支持SMTPS协议

makefile过程中可能遇到的错误:

*** [alldig.o] 错误 127  缺少gcc环境

3.make **make install

安装路径和一些安装时的配置说明:

install_root: [/] /

tempdir: [/root/postfix-2.10.8] /tmp/postfix 安装过程中的临时文件目录

config_directory: [] /etc/postfix    配置文件目录

command_directory: [] /usr/sbin    二进制文件目录

daemon_directory: [] /usr/libexec/postfix

data_directory: [] /var/lib/postfix

html_directory: [] /usr/local/apache/htdocs     html文件目录

mail_owner: [] postfix

mailq_path: [] /usr/bin/mailq

manpage_directory: [] /usr/local/man     man文件

newaliases_path: [] /usr/bin/newaliases

queue_directory: [] /var/spool/postfix

readme_directory: [] no

sendmail_path: [] /usr/sbin/sendmail

setgid_group: [] postdrop

make install过程中可能的错误:

libpcre.so.1文件缺失 ln -s /usr/local/lib/libpcre.so.1 /lib

libmysqlclient.so.18文件缺失 ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18

4.提供SysV启动脚本

vi /ettc/init.d/postfix

#!/bin/bash

#

# postfix      Postfix Mail Transfer Agent

#

# chkconfig: 2345 80 30

# description: Postfix is a Mail Transport Agent, which is the program \

#              that moves mail from one machine to another.

# processname: master

# pidfile: /var/spool/postfix/pid/master.pid

# config: /etc/postfix/main.cf

# config: /etc/postfix/master.cf

# Source function library.

. /etc/rc.d/init.d/functions

# Source networking configuration.

. /etc/sysconfig/network

# Check that networking is up.

[ $NETWORKING = "no" ] && exit 3

[ -x /usr/sbin/postfix ] || exit 4

[ -d /etc/postfix ] || exit 5

[ -d /var/spool/postfix ] || exit 6

RETVAL=0

prog="postfix"

start() {

# Start daemons.

echo -n $"Starting postfix: "

/usr/bin/newaliases >/dev/null 2>&1

/usr/sbin/postfix start 2>/dev/null 1>&2 && success || failure $"$prog start"

RETVAL=$?

[ $RETVAL -eq 0 ] && touch /var/lock/subsys/postfix

echo

return $RETVAL

}

stop() {

# Stop daemons.

echo -n $"Shutting down postfix: "

/usr/sbin/postfix stop 2>/dev/null 1>&2 && success || failure $"$prog stop"

RETVAL=$?

[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/postfix

echo

return $RETVAL

}

reload() {

echo -n $"Reloading postfix: "

/usr/sbin/postfix reload 2>/dev/null 1>&2 && success || failure $"$prog reload"

RETVAL=$?

echo

return $RETVAL

}

abort() {

/usr/sbin/postfix abort 2>/dev/null 1>&2 && success || failure $"$prog abort"

return $?

}

flush() {

/usr/sbin/postfix flush 2>/dev/null 1>&2 && success || failure $"$prog flush"

return $?

}

check() {

/usr/sbin/postfix check 2>/dev/null 1>&2 && success || failure $"$prog check"

return $?

}

restart() {

stop

start

}

# See how we were called.

case "$1" in

start)

start

;;

stop)

stop

;;

restart)

stop

start

;;

reload)

reload

;;

abort)

abort

;;

flush)

flush

;;

check)

check

;;

status)

status master

;;

condrestart)

[ -f /var/lock/subsys/postfix ] && restart || :

;;

*)

echo $"Usage: $0 {start|stop|restart|reload|abort|flush|check|status|condrestart}"

exit 1

esac

exit $?

# END

给予x权限 chmod +x /etc/init.d/postfix



将postfix加入服务列表:chkconfig --add postfix

postfix的配置文件

master 核心进程,配置文件/etc/postfix/master.cf

mail配置 /etc/postfix/main.cf

参数 = 值:参数必须顶格写,以空白字符开头的行被认为是上一行的延续

smtp协议命令(原语)

helo

ehlo

mail from:

rcpt to

data

.

启动服务测试  service postfix start

[[email protected] postfix-2.10.8]# telnet localhost 25

Trying 127.0.0.1...

Connected to localhost.localdomain (127.0.0.1).

Escape character is ‘^]‘.

220 localhost.localdomain ESMTP Postfix

helo localhost

250 localhost.localdomain

mail from:[email protected]

250 2.1.0 Ok

rcpt to:root

250 2.1.5 Ok

data

354 End data with <CR><LF>.<CR><LF>

Subject:Are you ready?

hahhahaha

.

250 2.0.0 Ok: queued as C4DEA3F52D8

quit

221 2.0.0 Bye

Connection closed by foreign host.

时间: 2024-11-08 22:13:18

邮件服务器之编译安装postfix的相关文章

编译安装postfix邮件服务

一.安装前的准备 1.邮件服务基本知识: wget http://sourceforge.net/p SMTP:(Simple Mail Transfer Protocol)即简单邮件传输协议 POP3:邮局协议     IMAP4:internet mail access protocol 互联网邮件访问协议 SASL:simple Authentication Secure layer  简单安全认证层 (版本v1,v2目前主流v2版本) MDA:邮件投递代理(procmail,maildr

Linux 邮件服务器原理介绍,编译安装Postfix实现本地的邮件服务。

一.邮件服务器基本的工作原理 用户(MUA)通过SMTP协议将邮件发送到服务器(MTA),服务器分解发现如果是本地的邮件传输则通过lmtp来传送,如果是远程邮件将调用本地的客户端使用SMTP协议向对方服务器传送. 当对方的服务器接收到邮件之后,发现如果不是本机所负责的域,则将邮件交给本机的邮件客户端,根据邮件目标域请求DNS解析,将邮件发送到目标服务器,或者丢至下一跳此过程称为邮件中继,如果发现是本机负责区域内的用户,则SMTPD将邮件转交给MDA,由MDA把邮件传递到用户的邮筒. 用户通过MU

编译安装postfix及使用sasl对客户端认证

编译安装postfix 在之前的文章我增提到过,目前linux常用的MTA软件有sendmail,qmail,exim,postfix.虽然目前使用最多的MTA是sendmail,但是sendmail实现的功能远没有postfix功能强大,而且postfix兼容sendmail,执行效率比sendmail更高,也更安全,postfix采用模块化设计.因此,由于具有众多的优点,postfix越来越流行.因此,此章主要是介绍如何使用postfix来搭建一台服务器,并使用sasl来为客户端提供认证功能

源码编译安装postfix

一.安装前的准备工作 邮件依赖于DNS系统,所以安装postfix之前,要把DNS给弄好.如果系统有sendmail,需要把sendmail关掉 # service sendmail stop # chkconfig sendmail off 由于是编译安装postfix,所以如果有rpm的postfix,要删除掉,并且把postfix用户等信息也删除掉.因为我后面要配合做mysql认证,好像rpm的postfix不支持mysql认证,我也没有验证过,为了保险起见,直接源码来安装了! # yum

邮件服务系列之三实现postfix+dovecot+sasl

MRA :cyrus-imap,dovecot dovecot 依赖MySQL客户端 pop3协议监听tcp110 imap4协议监听tcp143端口 以明文方式工作需结合sasl来实现邮件传输加密 dovecot支持四种协议: pop3 imap4 pop3s imaps 配置文件位于:/etc/dovecot.conf 带有sasl认证能力 支持两种邮箱格式: mbox一个文件存储所有邮件 maildir:一个文件存储一封邮件,所有邮件存储在一个目录中 安装: yum install dov

架设邮件服务器之postfix&amp;Dovecot

本教程来自http://blog.pztop.com/2016/04/20/Email-Server-With-Postfix-Dovecot-MailScanner-2/ 本教程仅仅做翻译和注释,版权归原作者所有. ----------------------------------正文----------------------------- postfix负责发信,dovecot负责收信(imap和pop3),一起完美构成邮件服务器. 我们使用MariaDB作为postfix用户和域名的数

邮件服务系列之五安装Extman,maildrop以及clamav-0.97.7的安装

前面我们已经完成了基础的邮件系统所需的组建的安装以及配置,下面我们进行Extman-1.1,maildrop以及clamav-0.97.7的安装以及配置,来完成整个邮件服务系统的搭建. 一.安装Extman-1.1 1.安装及基本配置 # tar zxvf  extman-1.1.tar.gz # mv extman-1.1 /var/www/extsuite/extman 修改配置文件以符合本例的需要: # cp /var/www/extsuite/extman/webman.cf.defau

编译安装postfix+sasl+mysql+dovecot+extmail构建完成的邮件系统(二)

十.安装Courier authentication library 1.courier简介 courier-authlib是Courier组件中的认证库,它是courier组件中一个独立的子项目,用于为Courier的其它组件提供认证服务.其认证功能通常包括验正登录时的帐号和密码.获取一个帐号相关的家目录或邮件目录等信息.改变帐号的密码等.而其认证的实现方式也包括基于PAM通过/etc/passwd和/etc/shadow进行认证,基于GDBM或DB进行认证,基于LDAP/MySQL/Post

Centos 6.2_X86_64 编译安装postfix+amavisd-new+clamav

系统环境 CENTOS6.2 X86-64 并已经使用yum安装配置好LNMP环境 以下是安装所使用的部分软件包 shell>cd /usr/local/src shell>wget http://jaist.dl.sourceforge.net/project/courier/imap/4.16.0/courier-imap-4.16.0.tar.bz2 shell>wget ftp://ftp.cuhk.edu.hk/pub/packages/mail-server/postfix/