`
smallsmile
  • 浏览: 136195 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Ubuntu搭建邮件服务器sendmail+dovecot+squirrelmail

 
阅读更多

 

作为ubuntu上的各类应用,最终你仍然需要搭建一台mail服务器作为各类通知信息的流通渠道,我这篇搭建mail服务器的文章也是基于这点应用,作为各类服务之间的消息通信报警邮件,而不是对外提供mail服务。

ubuntu 12.04 LTS server环境,选择sendmail是因为和其他各类软件兼容性完全不用考虑,肯定默认是支持的,配置sendmail常常被一些教程类文章所诟病,其实也没这么困难。

选择登陆服务器的user作为邮件的地址,我这里是myuser@mysite为例。

1
$ sudo apt-get install sendmail bsd-mailx

(bsd-mailx 用于echo管道下发送邮件)这下就有了发送邮件的服务器了

首先  设置收信的域名 在/etc/mail/local-host-names中添加收信的域名

 

xxx.com

mail.xxx.com

12.12.12.12(ip地址)【没有域名的话也可以写上ip地址,发信时直接名字@12.12.12.12】

其次 ,修改/etc/mail/sendmail.mc,将其中的smtp项修改ip范围即可对外服务器发送邮件

DAEMON_OPTIONS(‘Family=inet, NAME=MTA-v4, Port=smtp, Addr=127.0.0.1 ‘)……


改为

DAEMON_OPTIONS(‘Family=inet, NAME=MTA-v4, Port=smtp, Addr=0.0.0.0 ‘)……

 

同样还有:

DAEMON_OPTIONS(`Family=inet, Name=MSP-v4, Port=submission, M=Ea, Addr=0.0.0.0′)dnl

 

然后用m4命令生成新的配置文件[如果提示没权限则输入su切换到root执行]

1
$ sudo m4 /etc/mail/sendmail.mc > /etc/mail.sendmail.cf

或:

使配置生效:

 

#m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

 

#/etc/init.d/sendmail restart【重启】

重启sendmail服务后测试一下:

1
$ echo "test mail ok" | mail -s "test mail ok" xxxxxxxxx@gmail.com

打开web登录邮箱即可看到邮件,当然本地防火墙对于smtp的25号端口不能封锁,否则也就发送不成功。这个命令的xxxx@gmail.com换为本地用户名,即对本地用户发送邮件,一样能测试安装是否成功。

光有发送不行,还需要接受邮件,那么就是pop3+imap接受邮件服务器,选择广为流传的dovecot,配置也很简单。

1
$ sudo apt-get install dovecot-imapd dovecot-pop3d

如果不是选择的sendmail的默认设置,那么先要检测一下邮箱存储位置在哪里,再开始配置dovecot,使用下面的命令寻找先用前面的echo对本地用户发送一个邮件,然后

1
2
3
$ for mbox in /var/mail/$USER /var/spool/mail/$USER ~/mbox ~/mail/* ~/*; do
grep -q "Dovecot test" $mbox && echo "mbox: $mbox"
done

显示的邮箱地址一般是/var/mail/$USER本地用户名
可以cd /var/mail/ 进去查看邮件
那么dovecot的配置就是修改mail存储位置,默认就使用~/mail/来存储,默认设置也是imap来接管邮件接收

1
$ sudo vi /etc/dovecot/conf.d/10-mail.conf

取消 “ mail_location = mbox:~/mail:INBOX=/var/mail/%u ”前的“ # ”保存即可,重启dovecot

1
$ sudo /etc/init.d/dovecot restart

至此完成了收发邮件的配置。
接下来配置一个webmail来浏览邮件,我选择了squirrelmail,一样在ubuntu源中

1
$ sudo apt-get install squirrelmail

使用

1
$ sudo squirrelmail-configure

1
$ sudo ./etc/squirrelmail/conf.pl

均可,通过选项【选2】,先修改smtp为sendmail,再修改设定imap用dovecot,检查一下是否是localhost:143即imap端口可用,可以选择

1
2
$ telnet localhost 143
a login "local_username" "password"

来看 dovecot是否ready,登陆是否成功,配置一下apache就能通过web访问了,
将配置好的squirrelmail下的apache.conf链接过去即可

1
$ ln -s /usr/share/squirrelmail/ /var/www/mail

web访问 http://ip/mail/ 用本地用户名和密码登陆
这里遇到一个bug,默认的~/mail/.imap/INBOX缺失,登陆后报错,自己在这个地方新建一个文件夹INBOX即可

配置结束!
使用中遇到的问题,发送邮件后响应速度很慢,不只是web的问题,就连bash下邮件发送确认也很慢,超过 5s ,这样的性能是不能忍受的。

【解决:】

此问题是由于:

系统sendmail的时候在查询你设置的主机名的A记录或反向域名记录,由于全球9台DNS根系统都在美国,这个时候会去查询本机主机名对应的dns A记录,特别时你安装系统时设置的一些“奇怪”的主机名的时候,比如rac1等等之类的,这个时候sendmail会去做这个操作过程

 

 

Apr 28 13:41:36 rac1 sendmail[3494]: gethostby*.getanswer: asked for “rac1 IN AAAA”, got type “A”
Apr 28 13:42:36 rac1sendmail[3499]: gethostby*.getanswer: asked for “rac1 IN AAAA”, got type “A”

Apr 28 13:43:37 rac1 sendmail: sendmail startup succeeded

Apr 28 13:43:37 rac1 sm-msp-queue[3509]: gethostby*.getanswer: asked for “rac1 IN AAAA”, got type “A”
Apr 28 13:41:36 rac1 sendmail[3494]: gethostby*.getanswer: asked for “rac1 IN AAAA”, got type “A”

Apr 28 13:42:36 rac1sendmail[3499]: gethostby*.getanswer: asked for “rac1 IN AAAA”, got type “A”

Apr 28 13:43:37 rac1 sendmail: sendmail startup succeeded

Apr 28 13:43:37 rac1 sm-msp-queue[3509]: gethostby*.getanswer: asked for “rac1 IN AAAA”, got type “A”

 该过程少则一到两分钟,多则四到五分钟,而且要命的是不报任何错误信息,这个时间大大超过了我们能忍受的“8s”时间了,心里承受力差的兄弟就要受煎熬了。

 

知道了问题的症结,就可以对症下药了,比如我们可以修改系统配置文件/etc/hosts

让sendmial绕过查询远程主机,这里给出一种最简单的方法,给主机设置一个别名

修改/etc/hosts ,未修改之前
127.0.0.1 localhost.localdomain localhost
修改成
127.0.0.1 localhost.localdomain localhost 主机名称


查看本机的主机名称的命令是: hostname
再次重新启动sendmail看看

 【中文设置】

输入:sudo squirrelmail-configure

Languages”,将“ Default Language”改成“zh_CN”,“Default Charset”改成“GB2312”。保存退出。

 

分享到:
评论

相关推荐

    Rhel 6.4下搭建sendmail+dovecot+openwebmail所有安装包

    总的来说,这个压缩包提供的RHEL 6.4下sendmail+dovecot+openwebmail的安装包,旨在简化这个复杂的过程。用户只需下载并按照指南操作,就可以快速部署一个功能完备的邮件服务器。不过,请注意,由于RHEL 6.4已经过期...

    RHEL5邮件服务器sendmail与dovecot的配置[归纳].pdf

    本资源摘要信息主要介绍了 RHEL5 邮件服务器 sendmail 与 dovecot 的配置步骤,涵盖了 DNS 域名服务器的搭建、 sendmail 服务器的配置、dovecot 服务器的配置等方面的知识点。 1. DNS 域名服务器的搭建 在 RHEL5 ...

    sendmail+dovecot配置[定义].pdf

    总的来说,配置Sendmail+dovecot邮件服务器涉及多个步骤,包括软件安装、DNS设置、配置文件编辑、服务重启以及网络端口的检查。每个环节都至关重要,任何一处出错都可能导致邮件服务无法正常运行。因此,在实施这些...

    linux下架设邮箱-实例篇-sendmail+dovecot+cyrus-sasl.pdf

    总结起来,这个实例详细介绍了如何在Linux环境下搭建一个包含Sendmail邮件传输、Dovecot邮件接收和Cyrus SASL用户认证的完整邮件服务器系统。这个过程涉及到软件安装、配置文件的修改、服务的管理以及安全策略的设置...

    RHEL5邮件服务器sendmail与dovecot的配置[收集].pdf

    RHEL5 邮件服务器 sendmail 与 dovecot 的配置 本文档主要介绍了在 RHEL5 环境下配置邮件服务器 sendmail ...本文档详细介绍了 RHEL5 环境下配置邮件服务器 sendmail 与 dovecot 的步骤,帮助读者快速搭建邮件服务器。

    RHEL+5.0+postfix+dovecot+openwebmail+邮件服务器.doc

    RHEL 5.0 postfix dovecot openwebmail 邮件服务器 一、先卸载sendmain [root@ser ~]# yum remove sendmail 二、安装postfix ,dovecot,cyrus-sasl [root@ser ~]# yum -y install postfix [root@ser ~]# yum -y ...

    Sendmail邮件服务器搭建

    在本篇文章中,我们将介绍如何搭建和配置 Sendmail 邮件服务器,包括安装 Sendmail 软件包、配置 Sendmail 服务器、安装和配置 Dovecot 服务器、设置邮件账号和 DNS 服务器等。 一、安装 Sendmail 软件包 在开始...

    linux下搭建邮件服务器.docx

    Linux 下搭建邮件服务器 Sendmail 概述 Sendmail 是最重要的邮件传输代理程序,理解电子邮件...Linux 下搭建邮件服务器可以使用 Sendmail 服务器,并配置相应的配置文件和 DNS 服务,以便实现电子邮件的发送和接收。

    centos 7 用sendmail 搭建邮件服务器.html

    centos7 搭建邮件服务器,了解 MUA MDA MTA概念,知道如何发送一封邮件,常用端口 SMTP、POP3、IMAP,以及其加密端口,安装收发邮件服务,sendmail、dovecot,使用过程

    Linux下邮件服务器sendmail搭建

    Linux下邮件服务器sendmail搭建

    搭建postfix邮件服务器-apache、php、mysql、roundcubemail、mailscanner、clamav、dovecot、postfix

    根据给定的信息,本文将详细介绍如何使用 Apache、PHP、MySQL、Roundcube Mail、MailScanner、ClamAV、Dovecot 和 Postfix 搭建一个完整的邮件服务器。 ### 一、运行环境 #### 1.1 系统配置 - **操作系统**:Red ...

    Linux 搭建配置邮件服务器

    在 Linux 系统中,可以使用 Popper 或 Dovecot 等邮件服务器软件来实现 POP3 服务器的配置。 在本文中,我们将使用 Popper 来配置 POP3 服务器。Popper 是一个开源的邮件服务器软件,广泛应用于 Linux 和 Unix 系统...

    postftx+sasl2-smtp+dovecot for redhat as 4.2 简易配置

    在Red Hat AS 4.2上配置postftx、sasl2-smtp和dovecot是一项重要的任务,它涉及到电子邮件服务器的搭建,特别是对于需要安全认证的SMTP服务和本地邮箱管理。以下是对整个配置过程的详细说明: 1. **安装Postfix**:...

    Sendmail邮件服务器配置和管理.doc

    本文将指导您搭建基于Sendmail的邮件服务器系统,包括网络环境基本设置、邮件服务器软件安装、sendmail和dovecot邮件服务配置、简单邮件收发测试等步骤。 一、网络环境基本设置 在开始配置Sendmail邮件服务器之前...

    Sendmail+Openwebmail配置

    在Linux环境下配置Sendmail与Openwebmail以搭建邮件服务器是一项涉及邮件传输代理(MTA)配置、DNS设置和Web邮件界面集成的技术工作。下面将详细阐述这一过程中涉及的关键知识点。 1. Sendmail邮件服务器:Sendmail...

    为Linux架设Sendmail邮件服务器.pdf

    本篇文章介绍了如何在Linux操作系统中架设Sendmail邮件服务器,包括安装Sendmail服务器、启动生成Sendmail服务器和配置Sendmail邮件服务器等步骤,旨在帮助用户快速搭建一个功能强大且高效的电子邮件服务器。

    spring+sendmail+模板+properties+vm

    而“spring+sendmail+模板+properties+vm”这一主题则涉及到Spring框架中关于电子邮件发送以及使用模板和配置文件的部分。以下是这些知识点的详细说明: 1. **Spring Sendmail**: Spring框架提供了`JavaMailSender`...

    Sendmail邮件服务器搭建.docx

    Sendmail邮件服务器搭建 搭建Sendmail邮件服务器是构建企业内部通信或对外提供电子邮件服务的关键步骤。以下是详细的步骤和相关知识点: 1. **确认Sendmail软件包安装**:首先,使用`rpm`命令检查Sendmail软件是否...

Global site tag (gtag.js) - Google Analytics