使用 D 模式优化邮件网关的出站邮件传送

本章包含以下部分:

功能摘要:用于优化出站传送的 D 模式

D 模式是通过功能密钥启用的功能,可针对出站邮件传送优化特定邮件网关。特定于入站邮件处理的功能在 D 模式下已禁用。

启用 D 模式的邮件网关独有的功能

  • 256 个虚拟网关地址 - 思科虚拟网关技术允许为托管的所有域配置企业邮件网关(具有不同的 IP 地址、主机名和域),并为这些域创建单独的公司邮件策略实施和反垃圾邮件策略,同时托管在同一物理邮件网关中。请参阅配置网关以接收邮件中有关“自定义侦听程序”的信息
  • IronPort 邮件合并 (IPMM) - IronPort 邮件合并 (IPMM) 免去了从客户系统生成单独的个性化邮件的负担。通过消除生成数以千计的单独邮件的需求并在邮件生成系统和邮件网关之间传输它们,用户可从降低系统负载以及提高的邮件传送吞吐量中获得益处。有关详细信息,请参阅使用 IronPort 邮件合并 (IPMM) 发送大量邮件
  • 节约资源的退回设置 - 可以配置启用了 D 模式的邮件网关以检测可能被阻止的目标并退回发往该目标的所有邮件。有关详细信息,请参阅配置节约资源的退回设置
  • 增强出站传输的性能

在启用了 D 模式的邮件网关中禁用的标准功能

  • IronPort 反垃圾邮件扫描和内部或外部垃圾邮件隔离 - 由于反垃圾邮件扫描主要适合传入邮件,因此 IronPort 反垃圾邮件扫描引擎已停用。因此,“反垃圾邮件”一章不适用。
  • 爆发过滤器 - 由于爆发过滤器功能用于隔离传入邮件,因此此功能在启用了 D 模式的邮件网关上已禁用。因此,“病毒爆发过滤器“一章中的信息不适用。
  • 服务日志 - 服务日志功能在启用 D 模式的邮件网关上禁用。

  • 报告 - 报告有限。某些报告不可用,而且由于性能原因,确实执行的报告设置为在非常有限的级别运行。

Note


在“邮件安全监控概述”报告中针对启用了 D 模式的邮件网关显示的总计可能错误地包括垃圾邮件和疑似垃圾邮件计数,即使这些功能在启用了 D 模式的邮件网关上已禁用也是如此。
  • 防数据丢失 - 对外发邮件的 DLP 扫描在启用了 D 模式的邮件网关上已禁用。

适用于启用了 D 模式的邮件网关的标准功能

Table 1. 在启用了 D 模式的邮件网关中包括的 AsyncOS 功能

特性

更多信息

防病毒扫描

请参阅防病毒

域密钥签名

DKIM/域密钥是用于基于发件人使用的签名密钥验证邮件真实性的方法。请参阅邮件验证

集中管理

请参阅使用集群进行集中管理

传送限制

对于每个域,可以分配最大连接数和最大收件人数,使系统在指定时间段内不超过这些数量。这个“好邻居”表通过 destconfig 命令定义。

有关详细信息,请参阅使用目标控制来控制邮件传送

退回验证

验证退回邮件的真实性。请参阅退回验证

授权管理

请参阅分配管理任务

跟踪(调试)

请参阅使用测试邮件调试邮件流:追踪

VLAN, NIC 配对

请参阅高级网络配置

可选防病毒引擎

可以添加可选的防病毒扫描来确保出站邮件的完整性。请参阅防病毒扫描概述

设置邮件网关以优化出站邮件传送

Procedure


Step 1

应用所提供的功能密钥。在运行系统设置向导之前(在配置邮件网关之前),需要将该密钥应用到邮件网关。通过“系统管理”(System Administration) >“功能密钥”(Feature Key) 页面或通过在 CLI 中发出 featurekey 命令,应用密钥。

Note

 
前述功能密钥包括 30 天试用的 Sophos 或 McAfee 防病毒许可证,可供您用来测试对出站邮件的防病毒扫描。

Step 2

重新启动邮件网关

Step 3

运行系统设置向导(GUI 或 CLI)并配置邮件网关

请记住,针对出站传送进行了优化的邮件网关不包括反垃圾邮件扫描或病毒爆发过滤器功能。(请忽略这些章节。)

Note

 
在集群环境中,不能将通过 D 模式功能密钥配置的邮件网关与未通过传送性能包配置的 AsyncOS 邮件网关设备整合在一起。

配置节约资源的退回设置

为优化出站邮件传送配置了邮件网关后,可以配置系统以检测潜在传送问题并退回发往某个目标的所有邮件。


Note


使用此设置将退回队列中发往被认为无法送达的目标域的所有邮件。传送问题得到解决后,需要重新发送邮件。

启用节约资源的退回设置示例

mail3.example.com> bounceconfig

Choose the operation you want to perform:

- NEW - Create a new profile.

- EDIT - Modify a profile.

- DELETE - Remove a profile.

- SETUP - Configure global bounce settings.

[]> setup

Do you want to bounce all enqueued messages bound for a domain if the host is down? [N]>

y

使用此功能时, 在连续 10 次尝试连接主机失败后 即将主机视为“关闭”。AsyncOS 每隔 15 分钟扫描一次关闭的主机,因此在清除队列之前可能进行超过 10 次尝试。

使用 IronPort 邮件合并 (IPMM) 发送大量邮件


Note


IronPort 邮件合并仅适用于启用了 D 模式的邮件网关

IronPort 邮件合并概述

IronPort 邮件合并 (IPMM) 免去了从客户系统生成单独的个性化邮件的负担。它消除了生成数以千计的单独邮件的需求并在邮件生成系统和邮件网关之间传输它们,从而降低系统负载并提高的邮件传送吞吐量。

通过 IPMM,可使用表示在邮件中位置的变量(可予以替换以实现个性化)创建单个邮件正文。对于每个邮件收件人,只需将收件人邮件地址和变量替换传输到邮件网关。此外,IPMM 可用于发送某些收件人特定“部分”的邮件正文,同时从其他收件人中排除特定部分。(例如,假设需要在邮件末尾针对两个不同国家或地区的收件人包含不同的版权声明。)

邮件合并功能的优势

  • 便于邮件管理员使用。消除了为每个收件人创建个性化邮件的复杂性,因为 IPMM 以许多常用语言提供变量替换和抽象界面。

  • 减少了邮件生成系统的负载。通过要求一份邮件正文和一个所需替换的表,大多数邮件生成“工作”都可从邮件生成系统分载出去并移至为优化出站邮件传送进行了配置的邮件网关

  • 增加传送吞吐量。通过减少接受和排队数以千计的传入邮件所需的资源,邮件网关可以大大提高出站传送性能。

  • 队列存储效率。通过减少为每个邮件收件人存储的信息,用户可以大大提高效率,更好地使用启用了 D 模式的邮件网关上的队列存储。

使用邮件合并

SMTP 注入

IPMM 将 SMTP 作为传输协议进行扩展。无需对邮件网关进行特殊配置。(默认情况下,可为启用了 D 模式的邮件网关上的专用侦听程序启用 IPMM,并为公共侦听程序禁用 IPMM。)但是,如果当前未使用 SMTP 作为注入协议,则必须创建通过启用了 D 模式的邮件网关的接口使用 SMTP 的新专用侦听程序。

使用 listenerconfig 的 setipmm 子命令在侦听程序上启用 IPMM。有关详细信息,请参阅配置网关以接收邮件

IPMM 通过更改两个命令(MAIL FROM 和 DATA)并添加另一个命令 XDFN 来修改 SMTP。MAIL FROM 命令会替换为 XMRG FROM,并且 DATA 命令会替换为 XPRT。

要生成邮件合并邮件,用于生成邮件的命令需要按特定顺序发出。

  1. 初始 EHLO 语句,用于确定发送主机。
  2. 每封邮件都以 XMRG FROM: 语句开头,指示发件人地址。
  3. 然后定义每个收件人:
  4. 编写一个或多个 XDFN 变量分配语句,包括定义部分 (XDFN *PART=1,2,3…) 和任何其他收件人特定的变量。
  5. 收件人邮件地址通过 RCPT TO: 语句定义。在 RCPT TO: 之前,但在以前的 XMRG FROM 或 RCPT TO 命令之后的任何变量分配都将映射到此收件人邮件地址。
  6. 每个部分都使用 XPRT n 命令定义,并且每个部分以句点 (.) 符号终止,这类似于 DATA 命令。最后一部分通过 XPRT n LAST 命令定义。

变量替换

邮件正文的任何部分(包括邮件信头)可以包含用于替换的变量。变量也可能出现在 HTML 邮件中。变量是用户定义的,必须以和号 (&) 字符开始,并以分号 (;) 字符结束。以星号 (*) 开始的变量名称会被保留,不可使用。

保留的变量

IPMM 包含预定义的五个特殊“保留”变量。

Table 2. IPMM:保留变量

*FROM

保留变量 *FROM 派生自“Envelope From”参数。“Envelope From”参数由“XMRG FROM:”命令设置。


*TO

保留变量 *TO 派生自信封收件人值,由“RCPT TO:”命令设置。


*PARTS

保留变量 *PARTS 保存一个以逗号分隔的部分列表。它在通过“RCPT TO:”定义收件人之前设置,可确定特定用户将收到哪些“XPRT n”邮件正文块。


*DATE

保留变量 *DATE 将替换为当前日期戳。


*DK

保留变量 *DK 用于指定 DomainKeys 签名配置文件(此配置文件必须已经存在于 AsyncOS 中)。有关创建 DomainKeys 签名配置文件的详细信息,请参阅邮件验证

邮件示例 1

以下邮件正文(包括信头)示例包含四个完全不同的变量和五个替换位置,在最终邮件中会替换这些变量和位置。请注意,同一变量可在邮件正文中使用多次。此外,还使用了保留变量 &*TO;,该变量将替换为收件人邮件地址。此保留变量不需要作为单独变量传送。本例中的变量以粗体显示。

From: Mr.Spacely <spacely@example.com>

To: &first_name;&last_name;&*TO;


Subject: Thanks for Being an Example.Com Customer

Dear &first_name;,
Thank you for purchasing a &color; sprocket.

此邮件只需向邮件网关注入一次。对于每个收件人,需要提供以下其他信息:

  • 收件人邮件地址
  • 用于变量替换名称-值对

部分组合

SMTP 对每个邮件正文使用一个 DATA 命令,而 IPMM 使用一个或多个 XPRT 命令来构建邮件。各个部分基于每个收件人指定的顺序进行组合。每个收件人可以接收任何或所有邮件部分。可按任意顺序组合各个部分。

特殊变量 *PARTS 保存一个以逗号分隔的部分列表。

例如,以下邮件示例包含两个部分。

第一部分包含邮件信头和一些邮件正文。第二部分包含可根据特定客户变化的优惠。

邮件示例 2,第 1 部分

From: Mr. Spacely <spacely@example.com>


To: &first_name; &last_name; &*TO;

Subject: Thanks for Being an Example.Com Customer

Dear &first_name;,

Thank you for purchasing a &color; sprocket.

邮件示例 2,第 2 部分

Please accept our offer for 10% off your next sprocket purchase.

这些邮件部分只需向邮件网关注入一次。在此情况下,每个收件人都需要提供以下附加信息:

  • 要包含在最终邮件中的部分排序列表
  • 收件人邮件地址
  • 用于变量替换名称值对

IPMM 和 DomainKeys 签名

IPMM 支持 DomainKeys 签名。使用 *DK 保留变量可指定 DomainKeys 配置文件。例如:


XDFN first_name="Jane" last_name="User" color="red" *PARTS=1,2 *DK=mass_mailing_1

在本例中,“mail_mailing_1”是以前配置的 DomainKeys 配置文件的名称。

命令说明

当客户端将 IPMM 邮件注入侦听程序时,它通过以下关键命令使用扩展的 SMTP。

XMRG FROM

语法:
XMRG FROM: <sender email address>

此命令替换 SMTP MAIL FROM: 命令并指明下面是 IPMM 邮件。IPMM 作业通过 XMRG FROM: 命令启动。

XDFN

语法:
XDFN <KEY=VALUE> [KEY=VALUE]

XDFN 命令可设置每个收件人的元数据。请注意,可以选择将键-值对包含在尖括号或方括号中。

*PARTS 是一个特殊保留变量,用于指示 XPRT 命令定义的索引编号(如下所述)。*PARTS 变量分割为以逗号分隔的整数列表。整数对应于按照 XPRT 命令所定义要发送的正文部分。其他保留变量有:*FROM、*TO 和 *DATE。

XPRT

语法:

XPRT index_number LAST

Message

.

XPRT 命令会替换 SMTP DATA 命令。该命令接受在发出该命令后传输邮件部分。该命令完成后会在一个行中显示一个句点,后面是返回结果(这与 SMTP DATA 命令的完成方式相同)。

特殊关键字 LAST 指示邮件合并作业结束,并且必须用于指定要注入的最后一部分。

在使用 LAST 关键字后,邮件会进行排队,然后开始传送。

有关定义变量的说明

  • 在使用 XDFN 命令定义变量时,请注意,实际命令行大小不能超过系统的物理限制。如果使用启用了 D 模式的邮件网关,则该限制为每行 4 KB。其他主机系统可能具有更低的阈值。在非常大的行中定义多个变量时,请务必小心。
  • 在定义变量键-值对时,可以使用正斜杠“/”来转义特殊字符。这在邮件正文包含可能错误替换为变量定义的 HTML 字符实体时非常有用。(例如,字符实体 ™ 定义商标字符的 HTML 字符实体。如果创建了命令 XDFN trade=foo,然后创建包含 HTML 字符实体“™”的 IPMM 邮件,则组合后的邮件将包含变量替换(“foo”)而不是商标字符。此概念还适用于和号字符“&”,有时会在包含 GET 命令的 URL 中使用该字符。

IPMM 会话示例

以下是邮件示例 2 的 IPMM 会话示例(如上所示)。邮件将发送到本示例中的两个收件人:“Jane User”和“Joe User”。

在本示例中,bold 中键入的内容表示要在与启用了 D 模式的邮件网关进行的手动 SMTP 会话中键入的内容,在 monospaced type 中键入的内容表示 SMTP 服务器的响应,而斜体键入键入内容表示注释或变量。

已建立连接:

220 ESMTP


EHLO foo


250 - ehlo responses from the listener enabled for IPMM

会话已开始:

XMRG FROM:<user@domain.com> [Note: This replaces the MAIL FROM: SMTP command.]

250 OK

为每个收件人设置了变量和部分:

XDFN first_name="Jane" last_name="User" color="red" *PARTS=1,2

[Note: This line defines three variables (first_name, last_name, and color) and then
uses the *PARTS reserved variable to define that the next recipient defined will receive
message parts numbers 1 and 2.]

250 OK

RCPT TO:<jane@company.com>

250 recipient <jane@company.com> ok

XDFN first_name="Joe" last_name="User" color="black" *PARTS=1

[Note: This line defines three variables (first_name, last_name, and color) and then
uses the *PARTS reserved variable to define that the next recipient defined will receive
message parts numbers 1 only.]

RCPT TO:<joe@company1.com>

250 recipient <joe@company1.com> ok

Next, part 1 is transmitted:

XPRT 1 [Note: This replaces the DATA SMTP command.]

354 OK, send part

From: Mr. Spacely <spacely@example.com>

To: &first_name; &last_name; &*TO;

Subject: Thanks for Being an Example.Com Customer

&*DATE;

Dear &first_name;,

Thank you for purchasing a &color; sprocket.

.

然后,第 2 部分终止。请注意,LAST 关键字用于将第 2 部分识别为最后一个要组合的部分:

XPRT 2 LAST

Please accept our offer for 10% off your next sprocket purchase.

.

250 Ok, mailmerge message enqueued

250 Ok, mailmerge message queued”表明该邮件已被接受。

根据本示例,收件人 Jane User 将收到以下邮件:

From: Mr. Spacely <spacely@example.com>


To: Jane User <jane@company.com>


Subject: Thanks for Being an Example.Com Customer



message date

Dear Jane,



Thank you for purchasing a red sprocket.

Please accept our offer for 10% off your next sprocket purchase.

收件人 Joe User 将收到以下邮件:

From: Mr. Spacely <spacely@example.com>


To: Joe User <joe@company1.com>


Subject: Thanks for Being an Example.Com Customer


message date


Dear Joe,

Thank you for purchasing a black sprocket.

代码示例

思科使用常用编程语言创建了库,以抽象化将 IPMM 邮件注入为 IPMM 启用的邮件网关侦听程序的任务。请联系思科客户支持,获取有关如何使用 IPMM 库的示例。对该代码进行了广泛的注释,以解释其语法。