Sendmail找不到本地用户(大写字母)

Sendmail找不到本地用户(大写字母)

Sendmail 通过发送到智能主机来工作,但无法找到本地用户。

# sendmail -bv  [email protected]
[email protected]... User unknown
# grep LocalUser /var/log/maillog
Sep  8 03:48:30 myhost sendmail[6678]: r887mUs3006678: [email protected]... User unknown

但 ...

# ls /home|grep LocalUser
/LocalUser

和 ...

# grep LocalUser /etc/passwd
LocalUser:x:1001:1001:LocalUser:/home/LocalUser:/bin/bash

如何配置 sendmail 来查找本地用户?我应该如何诊断这个问题?

答案1

Sendmail 和大写字母的本地用户

诊断

Sendmail 的默认配置在尝试发送之前将本地用户/邮箱名称转换为全部小写字母。在您的情况下,电子邮件将[email protected]通过 sendmail 发送到不存在的localuser而不是现有的LocalUser

可能的修复

不要使用大写字母的用户名

或者

指定唯一正确的大写和小写混合(fox 只给出小写字符串)。它需要修改sendmail.mcaliases文件。

http://www.sendmail.org/faq/section4.html#4.17
主题:Q4.17 -- 如何处理包含大写字符的用户名?

sendmail.mc 文件(需要重新编译成 sendmail.cf 文件):

MODIFY_MAILER_FLAGS(`LOCAL', `+u')dnl

别名文件(需要使用newaliases命令重新编译):

# lowercase version to real for accounts with uppercase letters
localuser: LocalUser

相关内容