设为首页 收藏本站
查看: 1653|回复: 0

[经验分享] 构建postfix邮件服务器(二)postfix和dovecot的安装,实现简单的收发邮件

[复制链接]

尚未签到

发表于 2015-9-15 09:10:09 | 显示全部楼层 |阅读模式
  一、准备
  1.在 http://mirror.postfixchina.org/ 下载好postfix-2.6.5.tar.gz
  2.在http://www.dovecot.org 中下载好dovecot-1.1.16.tar.gz
  Dovecot是一个安全性较好的POP3/IMAP服务器软件,响应速度快而且扩展性好
  注意:所有源码包都放在 /postfix-an 目录下,解压也是在此目录下
  3.停止sendmail
  ①Service sendmail stop
  
  ②chkconfig –level 35 sendmail off
http://oneday.cz.cc/wp-content/uploads/2010/02/clip_image004_thumb2.jpg
  4.修改主机名
  ①hostname mail.hongyi.com 把系统的主机名修改为你的域名
  ②vi /etc/sysconfig/network 把HOSTNAME= 修改为 mail.hongyi.com
  ③vi /etc/hosts 添加你主机的IP和对应的主机名
  192.168.18.138 mail.hongyi.com
  
http://oneday.cz.cc/wp-content/uploads/2010/02/clip_image006_thumb2.jpg
  二、安装postfix
  (一)、创建运行postfix服务的用户postfix ,组帐号 postfix、postdrop
  ①groupadd -g 1200 postdrop -g 1200表示gid为1200 这个数字随便只要不重复就行
  ②groupadd -g 1000 postfix -g 1000表示gid为1000 这个数字随便 只要不重复就行
  ③useradd -M -u 1000 -g postfix -G postdrop -s /sbin/nologin postfix
  -M 表示不建立宿主目录 –u 1000 uid为1000
  -g postfix 主要的组为 postfix -G postdrop辅助组为gostdrop
  -s /sbin/nologin 表示不能登入系统
  (二)、解压
  tar zxvf postfix-2.6.5.tar.gz
  (三)、预配置编译参数
  1)先进入解压后的目录 cd postfix-2.6.5
  2)预配置,使postfix支持SASL认证和查询mysql数据库
  make makefiles \
  > ‘CCARGS=-DHAS_MYSQL -I/usr/local/mysql/include/mysql \
  > -DUSE_SASL_AUTH \
  > -DUSE_CYRUS_SASL -I/usr/include/sasl’ \
  > ‘AUXLIBS=-L/usr/local/mysql/lib/mysql -lmysqlclient -lz -lm \
  > -L/usr/lib/sasl2 -lsasl2 ‘
  上面 的写法是方便排版,用了分行符,既每个 \ 后面要回车一次 “‘”不能少
  CCARGS参数:为C语言编译器提供额外的参数(C-language Compiler Arguments ),-I选项(字母i的大写)指出额外的头文件的存放目录
  AUXLIBS参数:指出位于标准位置之外的额外/辅助的函数库(Auxiliaries Libraries),-lmysqlclient、-lz、-lm、-lsasl2中的”l“为字母L的小写
http://oneday.cz.cc/wp-content/uploads/2010/02/clip_image008_thumb2.jpg
  如果还需要postfix支持TLS加密传输,则配置参数可调整为:
  make makefiles \
  > ‘CCARGS=-DHAS_MYSQL -I/usr/local/mysql/include/mysql \
  > -DUSE_SASL_AUTH \
  > -DUSE_TLS \
  > -DUSE_CYRUS_SASL -I/usr/include/sasl’ \
  > ‘AUXLIBS=-L/usr/local/mysql/lib/mysql -lmysqlclient -lz -lm \
  > -L/usr/lib/sasl2 -lsasl2 \
  > -lssl -lcrypto
  (四)、编译,安装
  make ; make install
  在安装时要设置一些安装参数,一路回车就行
  install_root: [/] //指定系统的根目录
  tempdir: [/postfix-an/postfix-2.6.5] //指定postfix-install脚本使用的临时文件目录
  config_directory: [/etc/postfix] //设置postfix的配置文件目录
  command_directory: [/usr/sbin] //设置postfix命令的存放目录
  daemon_directory: [/usr/libexec/postfix]
  data_directory: [/var/lib/postfix]
  html_directory: [no]
  mail_owner: [postfix]
  mailq_path: [/usr/bin/mailq]
  manpage_directory: [/usr/local/man]
  newaliases_path: [/usr/bin/newaliases]
  queue_directory: [/var/spool/postfix] //设置邮件队列的目录
  readme_directory: [no]
  sendmail_path: [/usr/sbin/sendmail]
  setgid_group: [postdrop]
  (五)、简化配置文件
  ①cd /etc/postfix //进入配置文件所在的目录
  ②postconf –n > main2.cf //把含义注释的主配置文件,生成出新不含注释的文件
  ③mv main.cf main.cf.bak //把原始的主配置文件改名,既备份它
  ④mv main2.cf main.cf //把新生成的文件改名为主配置文件的名字,既新的主配置文件
http://oneday.cz.cc/wp-content/uploads/2010/02/clip_image010_thumb1.jpg
  (六)、配置main.cf
  Vi /etc/postfix/main.cf
  在原有的配置下加入下面内容
  inet_interfaces = all \\postfix服务监听的IP地址 all表示所有,可以是个IP或网段
  myhostname = mail.hongyi.com \\postfix服务器使用的主机名
  mydomain = hongyi.com \\postfix服务器使用的邮件域
  myorigin = $mydomain \\设置外发邮件时,发件人地址中的邮件域名,这里表示同mydomain
  mydestination = $mydomain, $myhostname \\设置可以接收的邮件地址中的域名
  home_mailbox = Maildir/ \\设置邮件存储位置和格式
  1)在main.cf文件中的配置格式与Shell变量赋值的形式非常类似,采用“配置参数 = 值”的形式,等号“=”两边的空格可有可无
  2)当配置参数的值包含多个内容时,以逗号、空格或换行分隔;参数值不能用单引号或双引号,否则会被视为参数值的一部分
  3)关于main.cf配置文件中的常见配置参数,elinks html/index.html
  4)postfix支持2种最常见的邮箱存储方式(当指定的存储位置最后一个字符为“/”时,自动使用Maildir存储方式)
  ①Mailbox:将同一用户的所有邮件内容存储在同一个文件中, 例如 “/var/spool/mail/username”,这种方式比较古老,在邮件数量较多时查询和管理的效率较低
  ②Maildir:使用目录结构来存储用户的邮件内容,每一个用户对应有一个文件夹,每一封邮件作为一个独立的文件保存,例如/home/username/Maildir/*。这种方式存取速度和效率更好,而且对于邮件内容管理也更方便
http://oneday.cz.cc/wp-content/uploads/2010/02/clip_image012_thumb.jpg
  (七)、启动
  postfix start 启动
  postfix stop 停止
  postfix check 检查
  postfix reload 修改配置文件后重载,而不用重启
  三、安装Dovecot
  (一)创建dovecot用户
  useradd -M -s /sbin/nologin dovecot
http://oneday.cz.cc/wp-content/uploads/2010/02/clip_image014_thumb.jpg
  (二)解压
  tar zxvf dovecot-1.2.10.tar.gz
http://oneday.cz.cc/wp-content/uploads/2010/02/clip_image016_thumb.jpg
  (三)、预配置
  cd dovecot-1.2.10
  ./configure –sysconfdir=/ect –with-mysql
  –sysconfdir 设定的是配置文件的存放位置
  –with-mysql 设定dovecot支持MySQL数据库认证,这里提前加上为实现虚拟用户做准备
http://oneday.cz.cc/wp-content/uploads/2010/02/clip_image018_thumb.jpg
  (四)编译,安装
  make ; make install
  (五)建立dovecot.conf配置文件
  cp /etc/dovecot-example.conf /etc/dovecot.conf
http://oneday.cz.cc/wp-content/uploads/2010/02/clip_image020_thumb.jpg
  (六)修改配置文件
  Ssll_disable =yes \\禁用SSL机制
  protocols = pop3 imap \\指定支持的邮局协议,还可以添加pop3s和imaps但是需要添加CA证书相关设置
  disable_plaintext_auth = no \\允许明文密码认证是不安全的,但在未启用加密认证前,需要用到明文密码
  mail_location = maildir:~/Maildir \\邮件存储格式及位置
  http://oneday.cz.cc/wp-content/uploads/2010/02/clip_image022_thumb.jpg
  (七)创建PAM认证文件
  vi /etc/pam.d/dovecot
  auth required pam_nologin.so
  auth include system-auth
  account include system-auth
  session include system-auth
  http://oneday.cz.cc/wp-content/uploads/2010/02/clip_image024_thumb.jpg
  1)Dovecot使用PAM方式( Pluggable Authentication Module,可插拔认证模块)进行身份认证,以便识别并验证系统用户,通过认证的用户才允许从邮箱中收取邮件
  2)—— auth、account、session分别表示登录身份认证、帐号属性认证、登陆中的会话认证(打开文件、挂载设备等资源)
  3)—— required 表示此行记录中的认证必须通过,否则即认为认证失败
  4)—— include 表示包含其他文件中的认证配置(system-auth对应为/etc/pam.d/system-auth文件)
  (八)启动dovecot服务
  /usr/local/sbin/dovecot -c /etc/dovecot.conf
  1)可以把启动命令写进/etc/rc.d/rc.local文件,以使系统启动时能够自动启动dovecot服务。
  # echo “/usr/local/dovecot/sbin/dovecot” >> /etc/rc.d/rc.local
  2)使用“-c”选项可以指定所使用的配置文件的位置,如果使用默认的配置文件,则直接执行“dovecot”命令即可
  3)特别说明的是dovecot软件包没有提供启动和关闭的服务控制脚本,所以关闭dovecot稍微有点麻烦,可首先执行dovecot命令获得正在运行的dovecot服务的进程号(或者查看/usr/local/var/run/dovecot/master.pid文件获得进程号),然后使用kill命令关闭
  4)补充:官方的dovecot关闭脚本
  #!/bin/sh
  # master.pid is written to directory pointed by base_dir setting.
  # /var/run/dovecot/ is a common location for it.
  base_dir=`dovecot -a | grep ^base_dir: | sed ’s/^[^:]*: //’`
  kill `cat $base_dir/master.pid`
  四、测试
  (一)建立两个系统账号xiao 和qi 密码都是123
  1)useradd –s /sbin/nologin xiao
  pass xiao 123
  2)useradd –s /sbin/nologin qi
  pass qi 123
  (二)测试stmp发送邮件
  用telnet命令 登录邮件服务器的25号端口,输入smtp命令测试,发件人为xiao@hongyi.com
  收件人为qi@hongyi.com
  1)telnet localhost 25
  如果出现:220 mail.hongyi.com ESMTP Postfix 表示登入成功
  2)helo localhsot //宣告客户机主机地址
  出现: 250 mail.hongyi.com 表示成功
  3)mail from: xiao@hongyi.com //告诉服务器发件人的地址
  出现:250 2.1.0 Ok 表示成功
  4)rcpt to: qi@hongyi.com //告诉服务器收件人的地址
  出现:250 2.1.5 Ok 表示成功
  5)data //告诉服务器要传输数据
  出现:354 End data with <CR><LF>.<CR><LF> 表示成功
  7)subject: a test mail //设置邮件主题
  8)test //邮件的内容
  9). //输入信件的内容后,最后以“.”表示结束
  250 2.0.0 Ok: queued as F3D1B1BCF43
  10)quit //断开连接退出
  221 2.0.0 Bye
  Connection closed by foreign host.
http://oneday.cz.cc/wp-content/uploads/2010/02/clip_image026_thumb.jpg
  (三)测试pop3收邮局
  用telnet命令 登录邮件服务器的110号端口,输入POP3命令测试,刚刚发给 qi@hongyi.com的邮件是否收到
  1)telnet localhost 110
  出现:+OK Dovecot ready. 表示成功
  2)user qi //使用系统用户qi登录 出现:+OK表示成功
  3)pass 123 //登入密码 出现:+OK Logged in.表示成功
  4)list //查看邮件列表 出现:+OK 1 messages: 1 456 “1“表示有一封邮件
  5)retr 1 收取并查看邮件1
  6)邮件的内容
  Return-Path: <xiao@hongyi.com> //退信地址
  X-Original-To: qi@hongyi.com //来源地址
  Delivered-To: qi@hongyi.com //提交目标地址
  Received: from localhsot (localhost.localdomain [127.0.0.1])
  by mail.hongyi.com (Postfix) with SMTP id F3D1B1BCF43 //经由哪些MTA接收
  for <qi@hongyi.com>; Fri, 12 Feb 2010 22:53:23 +0800 (CST)
  subject: a test mail //主题
  Message-Id: <20100212145401.F3D1B1BCF43@mail.hongyi.com>
  Date: Fri, 12 Feb 2010 22:53:23 +0800 (CST)
  From: xiao@hongyi.com //发件人地址
  To: undisclosed-recipients:;
  test
  7)quit //退出
  
  本文转自:http://blog.thematice.com 作者:稀饭的国度

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-113779-1-1.html 上篇帖子: 配合postfix的webmail介绍 下篇帖子: centos5.4下postfix+extmail详细配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表