EXIM是高度可定制的开源邮件传输代理软件

exim 交易电子邮件服务

开源邮件传输代理作为Sendmail的替代方案

EXIM是可自定义的开源邮件传输代理,用于电子邮件路由和交付。这是企业级组织的灵活性的第一选择。

概述

通过电子邮件的通信已成为我们生活中的原始性。从台式机,移动设备或任何其他设备发送电子邮件是对大多数人的日常事务。简单的邮件传输协议(SMTP)是用于发送电子邮件的标准协议。 IMAP和POP3是接收电子邮件的协议。 IMAP由于设备上的同步而与POP具有一些优势。因此,开源并支持所有这些必需协议的邮件传输代理至关重要。 运行邮件传输代理是一项非常乏味的工作,因此您为MTA软件做出的选择需要对您的需求矩阵进行深入分析。 EXIM是最灵活的开源邮件传输代理之一,可以用作最大UNIX系统的默认邮件传输代理的替换。 EXIM带有一堆最前沿功能,包括Sendmail兼容性,CPANEL支持,灵活的配置,尤其是巨大的开源社区支持。 Exim就像一个框架,其应用程序语言用于设置复杂配置。它具有高级的多步邮件处理逻辑,可帮助其解决复杂的用例。 SendMail在各个方面都已经丢失了后缀,但是,Postfix的用途较少,而Exim的用途较低。它具有出色的集成支持,并提供了系统管理员可以提出的所有内容。 EXIM以某种方式支持大多数邮件传输代理。

系统要求

在构建EXIM之前,必须使用名称local/makefile创建独立于任何操作系统的选项的本地配置文件。该文件的模板作为文件SRC/EditMe提供,其中包含其中所有选项设置的完整描述。因此,这些描述在这里不重复。如果您是第一次构建Exim,那么最简单的事情就是将SRC/Editme复制到本地/makefile,然后阅读并进行适当的编辑。 您必须提供三个设置,因为没有它们,EXIM将无法建立。它们是运行时配置文件(配置\ _file)的位置,即安装exim二进制文件的目录(bin \ _directory)以及exim用户的身份(exim \ _user,也许还有exim \ _group)。实际上,配置\ _file的值实际上可以是结肠分离的文件名列表; Exim使用其中的第一个存在。 可以在构建时间或运行时指定其他一些参数,以使同一二进制可以在许多不同的计算机上使用。但是,如果固定了Exim的Spool目录和日志文件目录(如果不在线轴目录中)的位置,则建议您在Local/makefile而不是在运行时指定它们,以便在Exim的执行中检测到错误(这样)作为畸形的配置文件)可以记录。 默认情况下,未直接从访问控制列表中调用病毒和垃圾邮件扫描软件的EXIM接口。如果要包括这些设施,则需要设置

WITH_CONTENT_SCAN=yes

在您的本地/makefile中。有关设施本身的详细信息 如果要构建EXIM监视器,则需要类似的配置过程。文件exim \ _ monitor/editme必须为您的安装进行适当编辑,并以local/eximon.conf的名称保存。如果您对exim \ _monitor/editme中描述的默认设置感到满意,则本地/eximon.conf可以为空,但必须存在。 这是已知操作系统的直接情况下所需的所有配置。但是,设置了构建过程,以便易于覆盖默认设置的选项,或者通过操作系统特定的配置文件(例如,更改C编译器)默认为GCC。

特征

EXIM支持您可以从顶级开源邮件传输代理软件中想象的所有现代功能。这些是Exim的一些主要特征:

  • EXIM遵循Smail的分散控制的一般方法。邮件交付的总体管理没有中央流程。但是,与Smail不同,独立的交付过程以“提示”的形式共享数据,这在某些情况下使交付效率更高。这些提示保存在许多DBM文件中。如果丢失了这些文件中的任何一个,唯一的效果是改变交付尝试和重试的模式。
  • 许多配置选项可以作为扩展字符串给出,在使用时,它们会以各种方式转换。由于可以包括文件查找,因此,如果需要,可以进行大部分操作。例如,可以在用户没有帐户的机器上进行本地交付。可以通过在扩展字符串的同时运行Perl解释器来获得最终的灵活性(以一定的价格)。
  • 访问查看历史信息。
  • 查看完整的外向&传入消息队列。
  • EXIM具有灵活的重试算法,适用于指导和路由地址以及交付。
  • EXIM包含标题和信封重写设施。
  • 不合格的地址仅从指定的主机或网络中接受。
  • 延迟交付后,EXIM可以在同一SMTP通道下进行多次交付。
  • 可以将EXIM配置为立即进行本地交付,但要离开远程(SMTP)交付,直到通过队列运行过程挑选消息为止。这增加了发送单个SMTP连接的多个消息的可能性。
  • 可以选择并行完成相同消息的远程交付给不同主机。
  • 传入的SMTP消息在收到后立即开始交付,而无需等待SMTP呼叫关闭。 -EXIM支持用于认证客户端的SMTP auth扩展名,以及用于设置加密连接的StartTLS扩展程序。
  • 与Perl兼容的正则表达式有许多配置参数可用。
  • 域列表可以包括文件查找,从而可以支持大量本地域。
  • EXIM支持传入返回路径(发件人)和接收器地址的可选检查。 -SMTP来自特定机器的SMTP调用,可选的是特定的原子,可以锁定,并且也可以将来自特定发件人的传入SMTP消息锁定。 EXIM还支持使用实时阻止列表(RBL)的使用。
  • 可以通过IP号或IP网络编号控制通过机器将邮件传递到另一个外部域的主机。也可以通过收件人域和发件人地址进行继电器控制。
  • 队列上的消息可以被管理员“冷冻”和“解冻”。
  • EXIM可以在同一台计算机上处​​理许多独立的本地域;每个域都可以拥有自己的别名文件等。此设施有时被称为“虚拟域”。
  • 简单的邮件列表可以通过Exim本身直接处理(但对于“严重”邮件列表操作,最好与专家邮件列表软件一起使用它)。
  • 在查找“ .forward”文件之前,exim统计用户的主目录,以检测丢失的NFS安装座的情况。如果目录不可用,则延迟交付。
  • EXIM包含可选的内置邮件过滤设施。可以将其配置为允许用户提供个人过滤文件,并且系统范围的过滤器文件也可以应用于每个消息。
  • 支持多个用户名或用户名上的后缀控制的用户邮箱,无论是通过过滤器机制还是通过多个“ .forward”文件。
  • 定期警告会在延迟交货时自动发送到消息的发件人 - 警告之间的时间是可配置的。警告可以根据消息的内容进行有条件。
  • 可以手动开始手动运行队列运行,仅提供队列的特定部分,或者与收件人的那些消息,其地址包含给定的字符串。 SMTP中的ETRN命令支持与此接口。
  • 可以将EXIM配置为始终为根运行,除非执行本地交付,否则它总是在适当的UID和GID下单独的过程中进行。另外,它可以配置为仅在需要时作为根运行;特别是,在接收传入消息或通过SMTP发送消息时,它不需要作为root运行。有关安全问题的讨论,请参见第55章。
  • 我试图使交付失败消息的措辞越来越清晰,更简单,以使那些正在使用电子邮件的人的受益者受益。这些消息的替代措辞可以在单独的文件中提供。
  • EXIM显示器是可选的额外;它在X窗口中显示有关EXIM处理的信息,管理员可以从窗口接口执行许多控制操作。但是,所有此类操作也可以从命令行接口获得。

安装说明

安装Exim二进制文件和脚本

命令使安装运行没有参数的exim \ _install脚本。脚本将二进制文件和实用程序脚本复制到该目录中,该目录由本地/makefile中的bin \ _directory设置指定。仅当文件比要替换的文件还要新时,才会复制文件。对于正常配置,需要将EXIM二进制归为root并具有setUID位。因此,您必须运行以root的方式运行安装,以便以这种方式设置Exim二进制。但是,在某些特殊情况下(例如,如果主机没有进行本地交付),则可以在不制作二进制setuID根的情况下运行外部(有关详细信息,请参见第56章)。 EXIM的运行时配置文件由local/makefile中的配置\ _file设置命名。如果此名称单个文件,并且该文件不存在,则默认配置文件src/configure.default由安装脚本复制在此处。如果运行时配置文件已经存在,则单独使用。如果配置\ _file是一个结肠分离的列表,则命名几个替代文件,则没有安装默认文件。 安装后,对默认配置文件进行了一个更改:默认配置包含一个引用系统别名文件的路由器。该文件的路径设置为System \ _Aliases \ _file在local/makefile(默认情况下/Aliases)中指定的值。如果系统别名文件不存在,则安装脚本会创建它,并向用户输出注释。 创建的文件不包含别名,但它确实包含有关网站通常应具有的别名的注释。传统上,邮件别名被保存在 /etc /别名中。但是,一些操作系统现在正在使用/etc/邮件/别名。您应该检查您的是其中之一,并在必要时更改Exim的配置。 默认配置使用本地主机的名称作为唯一的本地域,并设置为将本地交付到共享目录 /var /邮件中,以本地用户运行。支持用户主目录中的系统别名和。未配置NIS或NIS+支持。除本地主机的名称以外的其他域是使用DNS路由的,并通过SMTP进行交付。 可以在文件系统的私有部分中安装外部出于特殊目的(例如构建二进制分配)。您可以通过命令这样做

make DESTDIR=/some/directory/ install

这具有预列为所有文件路径的指定目录的效果,除了默认配置中出现的系统别名文件的名称。 (如果创建了默认的别名文件,则将其名称修改。)对于向后兼容性,如果未设置destdir,则使用root,但使用此用法已弃用。 运行Make Install不会复制EXIM 4转换脚本Convert4R4。如果您从Exim 3升级时,您可能只能运行一次。除了设置Info \ _directory时,DOC目录中的任何文档文件均未复制,如下4.17节所述。 对于实用程序,通过将后缀.o添加到其名称中来重命名。但是,前二元本身的处理方式不同。它以一个名称安装,其中包括版本号和编译号,例如Exim-4.94-1。然后,该脚本安排了一个称为exim的符号链接,以指向二进制。如果您要更新Exim的先前版本,则该脚本要注意确保目录中永远没有名称EXIM(如其他进程所见)。 如果您想查看Make Install在实际运行之前会做什么,则可以通过此命令将-n选项传递给安装脚本:

make INSTALL_ARG=-n install

变量安装\ _arg的内容传递给安装脚本。您无需扎根即可运行此测试。另外,您可以直接运行安装脚本,但这必须来自构建目录中。例如,从顶级EXIM目录中您可以使用此命令:

(cd build-SunOS5-5.5.1-sparc; ../scripts/exim_install -n)

还有两个其他选项可以提供给安装脚本。

  • 不\ _CHOWN绕过调用以更改已安装的二进制文件的所有者,并将其呼叫使其成为固定的二进制文件。
  • 不\ _symlink绕过符号链接的设置,将其设置为已安装的二进制。 安装\ _ARG可用于将这些选项传递给脚本。例如:
make INSTALL_ARG=-no_symlink install

还可以给出安装脚本的参数,指定要复制哪些文件。例如,要仅安装Exim二进制文件,而没有其他任何内容,而没有创建符号链接,则可以使用:

make INSTALL_ARG='-no_symlink exim' install

安装信息文档

并非所有系统都使用GNU信息系统进行文档,因此,Exim文档的TexInfo来源不包括在主要分布中。相反,它与FTP站点分开可用(请参阅第1.5节)。 如果您在local/makefile中定义了\ _directory,并且在源树中找到文档的TexInfo来源,则运行MAKE INSTALL会自动构建信息文件并安装它们。

 简体中文