可能没有或有多个网关配置文件。在 SMS Gateway Sever 的配置文件中,每个网关配置文件都在选项组中进行声明,格式如下:
[GATEWAY_PROFILE=profile-name] option-name-1=option-value-1 option-name-2=option-value-2 ... option-name-n=option-value-n |
字符串 profile-name 仅用于将该配置文件与其他原始配置文件区分开。
表 C–24 列出了 SMS Gateway Server 配置文件选项。
表 C–24 SMS Gateway Server 配置文件选项
选项 |
默认值 |
说明 |
---|---|---|
sms |
用于对消息进行排入的通道 |
|
US-ASCII |
电子邮件消息正文字符集 |
|
US-ASCII |
电子邮件消息标题字符集 |
|
|
用于将电子邮件路由回 SMS 的域名 |
|
|
用于解析 SMS 消息文本的正则表达式 |
|
GSM |
在以下系统中运行的 SMS 配置文件:GSM、TDMA 或 CDMA |
|
|
用于选择插件的正则表达式 |
|
US-ASCII |
SMSC 的默认字符集 |
|
0 |
Gateway SMS 的电子邮件优先级标志 |
|
0 |
Gateway SMS 的电子邮件保密性指示符 |
(字符串,1 至 40 个字符)用于将电子邮件消息加入队列的 MTA 通道的名称。如果未指定,则假定为 "sms"。指定的通道必须在 MTA 的配置中定义。
(字符串,字符集名称)用于在 SMS 文本插入到电子邮件消息的正文之前转换 SMS 文本的字符集。如果有必要,将对已转换的文本进行 MIME 编码。默认值为 US-ASCII。如果 SMS 消息包含字符集中所没有的符号,这些符号将被转换为助记字符,转换后的字符对收件人可能有意义,也可能没有。
MTA 认可的字符集的列表可在以下文件中找到:
installation-directory/config/charsets.txt
(字符串,字符集名称)用于在 SMS 文本插入到 RFC 822 Subject: 标题行之前转换 SMS 文本的字符集。如果有必要,将对已转换的字符串进行 MIME 编码。默认值为 US-ASCII。如果 SMS 消息包含字符集中所没有的符号,这些符号将被转换为助记字符,转换后的字符对收件人可能有也可能没有意义
(字符串,IP 主机名,1 至 64 个字符)构建电子邮件消息的信封 From: 地址时,要附加至 SMS 源地址的域名。指定的主机名应是能将电子邮件路由回 SMS 的正确名称。(例如,与 MTA SMS 通道相关联的主机名。)如果未指定,则将使用通过 CHANNEL 选项指定的通道的正式主机名。
(字符串,UTF-8 正则表达式)对于移动设备始发的电子邮件,网关配置文件需要从 SMS 消息的文本中提取目标电子邮件地址。此操作是通过一个或多个 POSIX 兼容的正则表达式 (RE) 来实现的。每个正则表达式都将计算 SMS 消息的文本,直到找到一个生成目标电子邮件地址的匹配项或正规表达式的列表用完为止。
PARSE_RE_* 和 ROUTE_TO 选项互斥。在同一网关配置文件中同时使用这两个选项将导致配置错误。
每个正则表达式都必须是 POSIX 兼容的,而且必须使用 UTF-8 字符集编码。正则表达式必须以字符串 0 的形式输出目标地址。它们可以选择性地输出在 Subject: 标题行中用作字符串 1 的文本,以及在消息正文中用作字符串 2 的文本。任何未被正则表达式“消耗的”文本还可在消息正文中使用,其后跟的任何文本输出用作字符串 2 。
正则表达式的尝试顺序为 PARSE_RE_0、PARSE_RE_1、...,直至 PARSE_RE_9。如果没有指定任何正则表达式,则使用以下默认正则表达式:
[ \t]*([^\( ]*)[ \t]*(?:\(([^\)]*)\))?[ \t]*(.*)
这个默认正则表达式可分为以下几个成分:
[ \t]*
忽略前导空格字符(SPACE 和 TAB)。
([^\( ]*)
目标电子邮件地址。这是首先报告的字符串。
[ \t]*
忽略空格字符。
(?:\(([^\)]*)\))?
包含在括号中的可选主题文本。这是第二次报告的字符串。前导 ?: 可使外围括号不报告字符串。它们仅用于将其内容一起编组到一个后缀为 ? 的单一 RE 中。后缀 ? 使此 RE 分量仅匹配零或一次,等效于表达式 {0,1}。
[ \t]*
忽略空格字符。
(.*)
消息正文的其余文本。这是第三次报告的字符串。
例如,对于上述正则表达式,SMS 消息样例:
dan@sesta.com(Testing)This is a test
将产生电子邮件消息:
To: dan@sesta.com Subject: Testing |
This is a test
另一个示例,SMS 消息:
sue@sesta.com This is another test
将产生:
To: sue@sesta.com
This is another test
请注意,在用这些正则表达式进行计算之前,SMS 消息将被转换为统一字符编码的 UTF-16 编码。然后,转换的文本将使用先前从 UTF-8 转换为 UTF-16 的正则表达式进行评估。之后,评估结果将转换为针对目标电子邮件地址的 US-ASCII、针对 Subject: 文本的 EMAIL_HEADER_CHARSET(如果有)以及针对邮件正文的 EMAIL_BODY_CHARSET(如果有)。
(字符串,"GSM"、"TDMA" 或 "CDMA")假定的 SMS 配置文件。目前此信息只用于将 SMS 优先级标志映射至 RFC 822 Priority: 标题行。因此,当 USE_SMS_PRIORITY=0(该选项的默认设置)时,此选项不生效。
(字符串,US-ASCII 正则表达式)用于与每条 SMS 消息的 SMS 目标地址进行比较的 US-ASCII POSIX 兼容正则表达式。如果某条 SMS 消息的目标地址与此 RE 相匹配,则此 SMS 消息将通过网关发送至与此网关配置文件相一致的电子邮件中。
请注意,由于 SMS 消息的目标地址是以 US-ASCII 字符集指定的,因此此正则表达式也必须以 US-ASCII 表示。
(字符串,字符集名称)远程 SMSC 所使用的默认字符集的名称。此选项的两个通用选项为 US-ASCII 和 UTF-16-BE (USC2)。如果未指定,则假设为 US-ASCII。
(整数,0 或 1)默认情况下(使用 USE_SMS_PRIORITY=0),SMS 消息中的优先级标志将被忽略,且不与电子邮件消息一起发送。要与电子邮件一起传送优先级标志,请指定 USE_SMS_PRIORITY=1。表 C–25 显示了与电子邮件一起传送时,从 SMS 至电子邮件的映射:
表 C–25 从 SMS 到电子邮件的优先级标志映射
SMS 配置文件 |
SMS 优先级标志 |
电子邮件 Priority: 标题行 |
---|---|---|
GSM |
0(无优先级) 1, 2, 3(优先级) |
无标题行(表示 Normal) Urgent |
TDMA |
0(批量) 1(普通) 2(紧急) 3(非常紧急) |
Nonurgent 无标题行(表示 Normal) Urgent Urgent |
CDMA |
0(普通) 1(交互) 2(紧急) 3(紧急) |
无标题行(表示 Normal) Urgent Urgent Urgent |
请注意,电子邮件 Priority: 标题行的值为 Nonurgent、Normal 和 Urgent。
(整数,0 或 1)默认情况下(使用 USE_SMS_PRIVACY=0),SMS 保密性指标将被忽略,且不与电子邮件消息一起发送。要将此信息与电子邮件一起传送,请指定 USE_SMS_PRIVACY=1。表 C–26 显示了与电子邮件一起传送时,从 SMS 至电子邮件的映射:
表 C–26 从 SMS 到电子邮件的优先级标志映射
SMS 保密性标志 |
电子邮件 Sensitivity: 标题行 |
---|---|
0(无限制) |
无标题行 |
1(限制) |
Personal |
2(机密) |
Private |
3(秘密) |
Company-confidential |
请注意,电子邮件 Sensitivity: 标题行的值为 Personal、Private 和 Company-confidential。