北肙

当你不能够再拥有,唯一可以做的,就是令自己不要忘记。

Sendmail 错误日志及解决

一、运行sendmail服务时*** ERROR: FEATURE() should be before MAILER() *** ERROR: FEATURE() should be before MAILER() *** MAILER(`local') must appear after FEATURE(`always_add_domain')*** ERROR: FEATURE() should be before MAILER() *** MAILER(`local') must appear after FEATURE(`allmasquerade')*** ERROR: FEATURE() should be before MAILER() 修改sendmail.mc最后几行 vi /etc/mail/sendmail.mc 将文档中的 MAILER_DEFINITIONS MAILER(`local')dnl MAILER(`smtp')dnl 放到文档最后 二、发送邮件时提示Cannot write ./dft4D3WxZ2020101 (bfcommit, uid=0,    gid=113): Permission denied […]

一、运行sendmail服务时*** ERROR: FEATURE() should be before MAILER()

*** ERROR: FEATURE() should be before MAILER()
*** MAILER(`local') must appear after FEATURE(`always_add_domain')*** ERROR: FEATURE() should be before MAILER()
*** MAILER(`local') must appear after FEATURE(`allmasquerade')*** ERROR: FEATURE() should be before MAILER()
修改sendmail.mc最后几行

vi /etc/mail/sendmail.mc

将文档中的

MAILER_DEFINITIONS
MAILER(`local')dnl
MAILER(`smtp')dnl

放到文档最后

二、发送邮件时提示Cannot write ./dft4D3WxZ2020101 (bfcommit, uid=0,    gid=113): Permission denied
设置以下文件夹用户和组以权限

drwxrws--- 2 smmta    smmta    4096 May 13 11:33 mqueue
drwxrws--- 2 smmsp    smmsp    4096 May 13 11:37 mqueue-client

三、发送邮件被退回,错误提示500 Error: bad syntax

   ----- Transcript of session follows -----
... while talking to mxn.mxhichina.com.:
MAIL From:<user@localhost> BODY=8BITMIME
<<< 500 Error: bad syntax
554 5.0.0 Service unavailable

修改/etc/mail/sendmail.cf,注释掉下面一行

# DMlocalhost

或者修改/etc/mail/sendmail.mc,注释掉下面一行,再运行“m4 sendmail.mc > sendmail.cf”

dnl MASQUERADE_AS(`localhost')dnl     #该文本中注释方式是在行首加“dnl”

四、sh: 0: getcwd() failed: No such file or directory
把某个目录删了之后,命令还停留在之前的目录上,便会出现该错误。
切换到其它目录,便不会再报错。

五、sendmail和dovecot改为maildir的邮件格式后,发件箱、已发送正常,但收件箱无邮件,检查“/var/mail/”下的文件发现,sendmail还是 mailbox格式
参照文章“Debian Linux 7.0 Sendmail/Dovecot邮件目录Maildir设置”,检查是否已修改“/etc/procmailrc”文件。

六、 imap-login: Fatal: Can't load private ssl_key: Key is for a different cert than ssl_cert
导致该错误的原因一般是直接把“dovecot”的配置文件全部复制到“/etc/dovecot”目录,导致该目录下原来的证书被覆盖。解决方法是把“/usr/share/dovecot”下的证书“dovecot.pem”文件和“private”目录复制过去即可。

Leave a Reply

Your email address will not be published. Required fields are marked *