在 Sendmail 中包含其他别名文件

在 Sendmail 中包含其他别名文件

我遇到了一个问题,即第三方软件会创建自己的别名文件供 sendmail 使用。查看配置选项、Google 和手册页后,我发现我只能定义一个别名文件,这意味着我只能获取所有软件的地址或所有本地别名。

我曾尝试将我自己的条目附加到软件的别名文件中,但每次地址发生变化时它都会重建,并且我的条目会被删除。

我的问题是,有没有办法在 sendmail.mc 中定义附加别名文件或从另一个文件中包含附加地址?

答案1

如果你读过Sendmail 文档, 你会找到:

ALIAS_FILE  [/etc/mail/aliases] The location of the text version of the
alias file(s). It can be a comma-separated list of names (but be sure you
quote values with commas in them -- for example, use define(`ALIAS_FILE',
`a,b') to get "a" and "b" both listed as alias files; otherwise the
define() primitive only sees "a").

因此,您可以编辑 sendmail.mc 文件以使用通用分隔的别名文件列表,然后重新生成 sendmail.cf。并重新启动 Sendmail。

答案2

您不能有第二个别名文件,但您可以使用语法包含一个文件

    :include: /path/name 
因此,请在别名文件中定义所有别名,然后包含软件创建的别名。

答案3

形式的别名

alias     :include:/path/to/some/alias_file

从 alias_file 的内容中获取他们的电子邮件目标。将每个电子邮件地址放在单独的行上。

例如,如果 /usr/local/etc/my_list 包含您想要别名为“myfriends”的地址列表,则可以在 /etc/aliases 中使用此条目:

myfriends     :include:/usr/local/etc/my_list

my_list 包含合法的电子邮件地址,每行一个,如下所示

phyllis
[email protected]
[email protected]

相关内容