答案1
Debian 在其默认配置片段中提供了几个示例。如果您使用的是 Debian 及其拆分配置系统,则应该在配置文件中使用这些示例/etc/exim4/auth/30_exim4-config_examples
(如果不是,则begin authenticators
在配置文件之后),然后取消注释您正在使用的部分(例如,这个部分用于加密密码):
login_server:
driver = plaintext
public_name = LOGIN
server_prompts = "Username:: : Password::"
server_condition = "${if crypteq{$auth2}{${extract{1}{:}{${lookup{$auth1}lsearch{/some/place/passwdfile}{$value}{*:*}}}}}{1}{0}}"
server_set_id = $auth1
server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}}
请注意server_advertise_condition
。由于密码以明文形式通过网络发送,因此只有在使用 TLS 时才应允许此登录类型。CRAM-MD5 不会通过网络以明文形式发送密码,因此它不需要 TLS,但它确实需要服务器保存密码的明文副本,以便它可以从中生成每个会话的哈希值。根据 Debian 的文档,/some/place/passwdfile
包含以下形式的帐户
[email protected]:$crypt$compatible$hash:plaintextpassword
[email protected]:$crypt$compatible$hash:plaintextpassword
[email protected]:$crypt$compatible$hash:plaintextpassword
等等。可以使用(例如)makepasswd --crypt-md5
或 来制作加密密码哈希值mkpasswd -H md5
。纯文本密码只有在使用 CRAM-MD5 时才是必要的,因为它要求服务器为每次登录创建密码的自定义哈希值。添加和删除帐户只需在文件中添加或删除行即可。用户必须使用整个电子邮件地址作为用户名登录。