对 Exim 4 账户身份验证设置有什么想法

对 Exim 4 账户身份验证设置有什么想法

我为我的项目开发了一个新闻通讯系统,我想使用 exim4(轻量级版本)发送新闻通讯(仅用于新闻通讯,因为邮件托管在单独的...谷歌应用程序上)。但有一种方法可以验证和设置域和帐户([电子邮件保护][电子邮件保护]等)?欢迎提出任何想法!谢谢 :)

答案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 时才是必要的,因为它要求服务器为每次登录创建密码的自定义哈希值。添加和删除帐户只需在文件中添加或删除行即可。用户必须使用整个电子邮件地址作为用户名登录。

相关内容