web-dev-qa-db-ja.com

dovecot-lmtpは存在しません

私は linodeのこのガイド に従って、Ubuntu 12.04.2 LTSでdovecotとpostfixメールサーバーをセットアップしました。セットアップでは、仮想トランスポートとして機能するためにソケット/var/spool/postfix/private/dovecot-lmtpが必要です。ただし、私の設定では、サービスの開始時にこのソケットファイルは存在しません。 /etc/dovecot/conf.d/10-master.confにはlmtp行があります。

これが私のサーバーに関する小さな情報です。

Linux prosp 3.8.4-linode50 #1 SMP Mon Mar 25 15:50:29 EDT 2013 i686 i686 i386 GNU/Linux

root@prosp:/var/spool/postfix/private# ls
anvil   bsmtp    dovecot-auth  lmtp      mailman     relay    scache             tlsmgr      verify
auth    defer    error         local     proxymap    retry    scalemail-backend  trace   virtual
bounce  discard  ifmail        maildrop  proxywrite  rewrite  smtp               uucp

root@prosp:/var/spool/postfix/private# aptitude show postfix postfix-mysql dovecot-core dovecot-imapd dovecot-pop3d dovecot-lmtpd dovecot-mysql
Package: postfix
State: installed
Version: 2.9.6-1~12.04.1

Package: postfix-mysql
State: installed
Version: 2.9.6-1~12.04.1

Package: dovecot-core
State: installed
Version: 1:2.0.19-0ubuntu2

Package: dovecot-imapd
State: installed
Version: 1:2.0.19-0ubuntu2

Package: dovecot-pop3d
State: installed
Version: 1:2.0.19-0ubuntu2

Package: dovecot-lmtpd
State: installed
Version: 1:2.0.19-0ubuntu2

Package: dovecot-mysql
State: installed
Version: 1:2.0.19-0ubuntu2

10-master.confのセクション

service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    mode = 0600
    user = postfix
    group = postfix
  }
  # Create inet listener only if you can't use the above UNIX socket
  inet_listener lmtp {
    # Avoid making LMTP visible for the entire internet
    address = 127.0.0.1
    port = 2424
  }
}

なぜ存在しないのかしら。 dovecot-lmtpdを再インストールしてみましたが、役に立ちませんでした。また、lmtpソケットが存在しないため、メールサーバーはメールを送信できますが、受信できません。受信メールを受信すると、メールログには次の行が含まれます。

May 31 09:05:24 postfix/lmtp[3664]: 2FD80321F4: to=<[email protected]>, relay=none, delay=0.41, delays=0.41/0/0/0, dsn=4.4.1, status=deferred (connect to me.com[private/dovecot-lmtp]: No such file or directory)

Dovecotが再起動された後のログ:

May 31 11:38:10 Host dovecot: log: Warning: Killed with signal 15 (by pid=1 uid=0 code=kill)
May 31 11:38:10 Host dovecot: master: Warning: Killed with signal 15 (by pid=1 uid=0 code=kill)
May 31 11:38:10 Host dovecot: master: Dovecot v2.0.19 starting up (core dumps disabled)
May 31 11:38:11 Host postfix/smtpd[5741]: connect from localhost.localdomain[127.0.0.1]
May 31 11:38:11 Host dovecot: auth-worker: mysql(127.0.0.1): Connected to database mailserver
May 31 11:38:11 Host postfix/smtpd[5741]: 3F8A24DE2A3: client=localhost.localdomain[127.0.0.1], sasl_method=PLAIN, [email protected]
May 31 11:38:11 Host postfix/cleanup[5751]: 3F8A24DE2A3: message-id=<[email protected]>
May 31 11:38:11 Host postfix/qmgr[5683]: 3F8A24DE2A3: from=<[email protected]>, size=938, nrcpt=1 (queue active)
May 31 11:38:11 Host postfix/smtpd[5741]: disconnect from localhost.localdomain[127.0.0.1]
May 31 11:38:11 Host postfix/error[5753]: 3F8A24DE2A3: to=<[email protected]>, relay=none, delay=0.05, delays=0.04/0/0/0, dsn=4.4.1, status=deferred (delivery temporarily suspended: connect to otherdomain.com[private/dovecot-lmtp]: No such file or directory)

なぜこれが起こったのですか?

Lmtpをinetリスナーとして使用できないようです:

May 31 12:22:48 Host postfix/lmtp[6798]: connect to localhost[127.0.0.1]:2424: Connection refused
May 31 12:22:48 Host postfix/lmtp[6798]: connect to localhost[::1]:2424: Connection refused
May 31 12:22:48 Host postfix/lmtp[6799]: connect to localhost[127.0.0.1]:2424: Connection refused
May 31 12:22:48 Host postfix/lmtp[6799]: connect to localhost[::1]:2424: Connection refused
6
He Shiming

すでに与えられている回答と応答には、ソリューションのすべての部分が含まれています。これは、その情報を結び付けるための私の試みであり、苦労して同じ問題を修正しました:

概要lmtpprotocols設定にある場合、Dovecotはservice lmtpセクションにのみ作用します。特に、カスタムdovecot.confファイルがある場合、何かを省略している可能性があります。

詳細(Debianの場合、および拡張Ubuntuの場合):主な手順は次のとおりです。

  • apt-get install dovecot-lmtpd
  • dovecot.conf/etc/dovecot内)に!include_try /usr/share/dovecot/protocols.d/*.protocolの行が含まれていることを確認します。ここにprotocolsが設定されています(特にlmtp.protocolファイルにはprotocols = $protocols lmtpが含まれています
  • 次にservice lmtpセクションに移動します。これはconf.d/10-master.confにあるはずですが、空でもかまいません。元の質問にはこのセクションの設定があります(同じことをしている場合は適宜調整してください)。

    service lmtp {
      unix_listener /var/spool/postfix/private/dovecot-lmtp {
        mode = 0600
        user = postfix
        group = postfix
      }
    }
    
  • 上記のconf.d/10-master.confdovecot.confに含まれていることを確認してください(通常は!include conf.d/*.confとともに)

  • この構成の変更を有効にするには、Dovecot(service dovecot reload)を再ロードします
  • dovecot -nで実行中の構成を再確認します。protocolsが設定され、lmtpが含まれていることを確認します。上記のservice authスタンザも表示されることを確認してください。
  • 上記のようにdovecot-lmtpソケット名を指定している場合は、存在するはずです。ls -l /var/spool/postfix/private/dovecot-lmtpで確認してください
  • これはPostfixでうまく動作するはずです。
7
Andrew Richards

protocols = lmtp pop3 imap/etc/dovecot/dovecot.confがあるにもかかわらず、/etc/dovecot/conf.d/01-mail-stack-delivery.confのみが含まれるprotocols = pop3 imap sieveによって上書きされていることがわかりました。私はこのファイルを変更し、lmtpプロトコルが稼働しています。

5
He Shiming

https://packages.debian.org/sid/dovecot-lmtpd

apt-getインストールdovecot-lmtpd

1
Jace

それは非常に興味深いことです。ここで読んだことはすべてやった。私のプライベートディレクトリには

/var/spool/postfix/private/lmtp

しかし、いいえ

/var/spool/postfix/private/dovecot-lmtp

だから接尾辞は私に言う:

0
MikeFrizz