Dovecot(2)

Dovecotスレッド その2です。

●リンク
 本家
 http://www.dovecot.org/

●前スレ
 Dovecot(1)
 http://pc12.2ch.net/test/read.cgi/unix/1133750653/

#過去スレ、即dat落ちした模様。
関連スレなどは>>2-4あたり

186名無しさん@お腹いっぱい。2012/07/06(金) 00:54:32.47
v2.1.8出てたな

187名無しさん@お腹いっぱい。2012/09/23(日) 00:19:12.08
dovecotは日本語の情報が少ないね。正直キツイです。

188名無しさん@お腹いっぱい。2012/12/01(土) 11:08:11.06
v2.1.12アップデート作業ちう

189名無しさん@お腹いっぱい。2012/12/07(金) 20:37:09.97
Dovecot 2.0.19を利用しているのですが、LDEとsieveが動かなくて困っております。
「telnet 0 sieve」でつながるのですが、どうもLDAとsieveが動いていないようです。
ちなみにdovecot.confには「protocols = imap pop3 lmtp sieve」と記述しており、
Postfix側のmaster.cfには、
dovecot unix - n n - - pipe
flags=DRhu user=vmail:mail argv=/usr/lib/dovecot/dovecot-lda -f ${sender} -d ${user}@${nexthop} -m ${extension}
と記述しています。
ログを見てもエラーは全く出ておらず、sieveが全く動いていないようです。

何か気になる点があれば些細な事でもよいのでご教示お願いします。

190名無しさん@お腹いっぱい。2012/12/11(火) 09:16:35.87
main.cfにどう設定したかわからんので何とも答えようがない。

…まさかmaster.cfに追加しただけでおしまいじゃないだろうな?

191名無しさん@お腹いっぱい。2012/12/11(火) 12:41:46.30
>>189
まず、postfixのログを見てみましょうよ。
postfixがdovecot-ldaに渡しているかどうか。
渡しているというログが無ければ、どこに行ってるのかを調べましょう。
postfix/pipe ..... relay=dovecot .... (delivered via dovecot service)
こんなはありますか?

dovecot.conf の protocols = imap pop3 lmtp sieve ですが
sieve ではなくて managesieve ではありませんか?

ltmpも必要ですか?postfixからpipeでdovecot-ldaに送るのならltmpは不要だと思いますが。

とりあえずsieveは後回しにして、postfix -> dovecot-lda で配信できるところまで確認しましょうよ。

1921912012/12/11(火) 12:44:14.00
ltmp じゃなくて lmtp でした。
寒くて指が変な動きになってる。

1931892012/12/11(火) 23:26:00.18
みなさんありがとうございます。
明日もう一度試してみます!
m(_ _)m

1941892012/12/18(火) 13:54:56.37
先日はありがとうございました。
あれから色々と試行錯誤しましたが、やはりうまく動きませんでした。

現在の環境はバーチャルホスト(postfixadminを使用)&imap4で、roundqubeで受信した際に振り分けをしたいと思っています。
roundqubeから振り分け設定をすると設定ファイルが作成されるのですが、実際にには振り分けが行われていない状態です。

postfixのmaster.cfには以下のように設定しています。
dovecot unix - n n - - pipe
flags=DRhu user=vmail:mail argv=/usr/lib/dovecot/dovecot-lda -f ${sender} -d ${recipient}

またmain.cfは以下のように設定しています。
virtual_transport = dovecot
mailbox_command = /usr/lib/dovecot/dovecot-lda
この2つがよく分からないのですが、
マニュアルを見る限りでは、virtual_transportはバーチャル環境の倍愛、DBの設定に上書きされるとなっており、
BD上はvirtualになっています。
あとマニュアルにはmailbox_commandの初期値はlocalとなっているのですが、
ここはコマンドを直接記述する場所ではないのでしょうか?

>> 190
すいません、よく理解できてないです><

>> 191
sieveをmanagesieveに変えてlmtpを削除しましたが、
「postfix/pipe .....」というログは残っていませんでした。

正直な所、postfix&dovecotはあまりよく理解しておりません。
ど素人で申し訳ないですが、よろしくお願いします。

195名無しさん@お腹いっぱい。2012/12/18(火) 15:53:43.16
>>194
> あれから色々と試行錯誤しましたが、やはりうまく動きませんでした。
メールボックスへの配信はされているが、振り分けはされていない、ということですか?
メールボックスへの配信も、うまく動いていないのでしょうか?
前者ならdovecotでsieveプラグイン(managesieveとは別)の設定ができていないからだと思います。

> 現在の環境はバーチャルホスト(postfixadminを使用)&imap4で、roundqubeで受信した際に振り分けをしたいと思っています。
振り分けするのはroundcubeではなく、dovecotのsieveなのですが、その点は誤解しないようにしてください。

> roundqubeから振り分け設定をすると設定ファイルが作成されるのですが、実際にには振り分けが行われていない状態です。
どのように確認しましたか?多分大丈夫だと思いますがメールボックスディレクトリ下にsieveというディレクトリが出来て
その中にxxx.sieve のような拡張子が .sieve のファイルがあり、メールボックスディレクトリ直下に .dovecot.sieve という
名前のシンボリックリンクが出来ていますか?

196名無しさん@お腹いっぱい。2012/12/18(火) 15:54:14.26
>>194
> postfixのmaster.cfには以下のように設定しています。
> dovecot unix - n n - - pipe
> flags=DRhu user=vmail:mail argv=/usr/lib/dovecot/dovecot-lda -f ${sender} -d ${recipient}
>
> またmain.cfは以下のように設定しています。
> virtual_transport = dovecot
ここまで私も同じです。この設定でmaster.cfのdovecotエントリーを使うように指定しています。

> mailbox_command = /usr/lib/dovecot/dovecot-lda
これは設定していません。メールボックスへの配信には(master.cfで記述してある)dovecotを使うからです。

> この2つがよく分からないのですが、

> ここはコマンドを直接記述する場所ではないのでしょうか?
postfixはメールボックスへ配信するための仕組みを複数持っています。その内のどれを使うかで設定は変わります。
最終的に同じようにメールボックスへ配信される設定が、複数あるということです。
徐々に機能追加されているので、どのやり方をするのか迷うことは多々あると思います。
コマンドを直接記述する場所ですが、私は使っていません。

> sieveをmanagesieveに変えてlmtpを削除しましたが、
> 「postfix/pipe .....」というログは残っていませんでした。
mailbox_command = /usr/lib/dovecot/dovecot-lda
で配信されているのでしょうか?

197名無しさん@お腹いっぱい。2012/12/18(火) 15:54:45.36
>>194
managesieve は sieveファイルを更新するためのサービスで振り分けなどのsieveの実行を行うものではありません。

dovecotの話が全然、ないですね。sieveを実行するのは lda なので dovecot.confの
protocol lda {} 内の mail_plugins = に sieve を追加します。
mail_plugins = sieve
sieveの設定は plugin {} 内にあります。
sieve=~/.dovecot.sieve
sieve_dir=~/sieve

こんなふうになるはずですけどね。

1981892012/12/18(火) 16:32:05.84
>> 195
現在メールの送受信は問題なくできています。
> 振り分けするのはroundcubeではなく、dovecotのsieveなのですが、その点は誤解しないようにしてください。
その点も理解しています。あくまで設定ファイルは問題なく作成されていると言う事です。
分かりにくい説明で申し訳ないです。

> メールボックスディレクトリ下にsieveというディレクトリが出来て
> その中にxxx.sieve のような拡張子が .sieve のファイルがあり、メールボックスディレクトリ直下に .dovecot.sieve という
> 名前のシンボリックリンクが出来ていますか?
こちらも問題なくできております。

>> 196
>> mailbox_command = /usr/lib/dovecot/dovecot-lda
> これは設定していません。メールボックスへの配信には(master.cfで記述してある)dovecotを使うからです。
ありがとうございます。こちらはコメントアウトさせてもらいました。

> mailbox_command = /usr/lib/dovecot/dovecot-lda
> で配信されているのでしょうか?
現在問題なく配信されています。

>> 197
> managesieve は sieveファイルを更新するためのサービスで振り分けなどのsieveの実行を行うものではありません。
丁寧にありがとうございます。
てっきりsieveが振り分けを行うものだと思っていました。
所で、現在はバーチャルホストの環境なのですが、この場合も
> sieve=~/.dovecot.sieve
> sieve_dir=~/sieve
で正しく動いてくれるのでしょうか?

度重なる質問すいません。

199名無しさん@お腹いっぱい。2012/12/18(火) 16:49:28.51
>「postfix/pipe .....」というログは残っていませんでした。
っていうんだから、単純に postfix の設定が足りてないだけでしょ。
今のまま dovecot 側の設定をいくらいじっても状況は変わらない。
virtual_transport = dovecot と書くだけじゃダメ。
どのドメイン宛のメールを virtual_transport で配送するかを
ちゃんと指示してやらないといけない。そのへんが足りてないんじゃないの?

200名無しさん@お腹いっぱい。2012/12/18(火) 16:57:13.12
>>198

>> managesieve は sieveファイルを更新するためのサービスで振り分けなどのsieveの実行を行うものではありません。
>てっきりsieveが振り分けを行うものだと思っていました。
誤解を招くような書き方でした。
振り分けを行うのは sieve です。
managesieve は sieveの実行を行うものではありません。

dovecot-lda が配信時にsieveファイルに従って(実行して)振り分けます。

> 所で、現在はバーチャルホストの環境なのですが、この場合も
>> sieve=~/.dovecot.sieve
>> sieve_dir=~/sieve
>で正しく動いてくれるのでしょうか?
動きますよ。

2011892012/12/18(火) 17:54:36.86
>> 199
>> 「postfix/pipe .....」というログは残っていませんでした。
> っていうんだから、単純に postfix の設定が足りてないだけでしょ。
> 今のまま dovecot 側の設定をいくらいじっても状況は変わらない。
マニュアルを見た限りではバーチャルドメインをBDで管理する場合、DBのtransportフィールドが優先されるという事だったので、
該当フィールドを「dovecot」にしてみましたが、状況は変わりませんでした。
(もちろんログに変化もありませんでした。)

>> 200
>>で正しく動いてくれるのでしょうか?
> 動きますよ。
ありがとうございます。
しかし現時点では199さんがおっしゃる通りpostfixの問題を解決しなければならないようですね…。


以下は送受信テストのログです。
Dec 18 17:44:30 mail mail/smtpd[13940]: connect from ホスト名[***.***.***.***]
Dec 18 17:44:30 mail mail/smtpd[13940]: 4ECEF8404D5: client=ホスト名[***.***.***.***], sasl_method=PLAIN, sasl_username=from@ドメイン
Dec 18 17:44:30 mail postfix/cleanup[13921]: 4ECEF8404D5: message-id=<50D02CF8.9060603@ドメイン>
Dec 18 17:44:30 mail postfix/qmgr[13334]: 4ECEF8404D5: from=<from@ドメイン>, size=306, nrcpt=1 (queue active)
Dec 18 17:44:30 mail postfix/virtual[13922]: 4ECEF8404D5: to=<to@ドメイン>, relay=virtual, delay=0.35, delays=0.34/0/0/0, dsn=2.0.0, status=sent (delivered to maildir)
Dec 18 17:44:30 mail postfix/qmgr[13334]: 4ECEF8404D5: removed
Dec 18 17:44:30 mail mail/smtpd[13940]: disconnect from ホスト名[000.000.000.000]
Dec 18 17:44:36 mail dovecot: imap-login: Login: user=<to@ドメイン>, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, mpid=13951, secured
Dec 18 17:44:36 mail dovecot: imap(to@ドメイン名): Disconnected: Logged out bytes=375/4404

受信クライアントがループバックなのは、roundcubeが同じサーバーで動いているからです。

よろしくお願い致します。

202名無しさん@お腹いっぱい。2012/12/18(火) 18:35:58.19
>>201
Dec 18 17:44:30 mail postfix/virtual[13922]: 4ECEF8404D5: to=<to@ドメイン>, relay=virtual, delay=0.35, delays=0.34/0/0/0, dsn=2.0.0, status=sent (delivered to maildir)
これを見ると配送エージェントに virtual が使われていますね。dovecot が使われていないのでsieveも働きません。
199さんの言うとおり、postfixの設定でしょう。ここはDovecotスレなので、あとはPostfixスレで、ということになりますが、
postconf | grep virtual でどういう設定になっているか確認してみてください。
virtual_mailbox_domains はどうなってますか?
それとPostfixはmaster.cfを修正したときは reload ではなく restartしないと駄目ですがやりましたか?

2031892012/12/18(火) 19:34:55.85
皆さんありがとうございました。
なんとかpipe経由でdovecot-ldaが動きそうです。
現在は、
「fatal: pipe_command: execvp /usr/lib/dovecot/dovecot-lda: Permission denied」
というエラーが出ている状態で、この問題を解決さえすれば動きそうです。

これ以降の質問はpostfixになるかと思いますので解決できそうにない場合はあっちのスレで質問してみます。
本当にありがとうございました。

204名無しさん@お腹いっぱい。2012/12/19(水) 00:12:14.80
http://wiki.dovecot.org/LDA/Postfix の中ほど

dovecot unix - n n - - pipe
flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${user}@${nexthop}

Replace vmail above with your virtual mail user account.
上記のvmailをバーチャルメールユーザーアカウントに置き換えるべし

2051892012/12/20(木) 10:15:28.36
>> 204
ありがとうございます。
一応そのようにはしているのですが、エラーが止まりません。

ちなみにnobody:nobodyにしろという記事を見て、nobody:nobodyとroot:rootを試したのですが、以下のようなエラーが出ました。
to=<to@domain>, relay=none, delay=0.1, delays=0.1/0/0/0, dsn=4.3.0, status=deferred (unknown mail transport error)

206名無しさん@お腹いっぱい。2012/12/20(木) 12:11:43.54
>>205
だんだん状況説明が雑になってきましたね。よくありませんよ。

> Replace vmail above with your virtual mail user account.

> 一応そのようにはしているのですが、
> nobody:nobodyとroot:rootを試したのですが、

virtual mail user account は nobobyですか?違うでしょ。rootですか?違うでしょ。

201のログでは relay=virtual だったものが、 203のログでは relay=none になってますね。
変えたのは postrix/master.cf の user=xxxxxx だけですか?

「nobody:nobodyにしろという記事」はフィルター系の処理を通す場合の話ではありませんか?
root は postfixが許可しないはずです。

virtual mail user account はメールボックスに書き込めるユーザーがのはずです。
それはpostfixやdovecotをインストールするときに、あなたが決めたか
パッケージのデフォルト設定のままになっているかでしょう。

2071892012/12/20(木) 13:27:17.97
>> 206
すいません。とりあえずやってみましたみたいな感じになってしまって…

virtual mail user accountはvmail:mailです。
dovecot側でもそのように設定してあります。

またホスト&ユーザーのディレクトリ、そしてユーザーの中のディレクトの所有者も全てvmail:mailになっています。
そして先ほどpostfix側のdefault_privsをvmailに変更したのですが、やはりエラーが2つ出てしまいます。

fatal: pipe_command: execvp /usr/lib/dovecot/dovecot-lda: Permission denied
0CA0C840CCA: to=<to@domain>, relay=dovecot, delay=0.11, delays=0.1/0/0/0, dsn=4.3.0, status=deferred (temporary failure. Command output: pipe: fatal: pipe_command: execvp /usr/lib/dovecot/dovecot-lda: Permission denied )

ここまで来るともはやdovecotの話ではないようなので該当スレで質問してみます。
ありがとうございました。

208名無しさん@お腹いっぱい。2013/01/09(水) 00:30:10.23
beta1インストールちう

209名無しさん@お腹いっぱい。2013/04/13(土) 06:52:40.85
v2.2.0出たな

210名無しさん@お腹いっぱい。2013/05/09(木) 23:09:24.71
virtual domain設定で使っていますが、ローカル配送分のメールを同じ
Dovecot使ってpop3で読みたいのですが、どうすればいいのでしょう?
conf.d/10-mail.confの中の記述で
mail_location = maildir:~/Maildir
mail_location = maildir:/home/vmail/%d/%n
この二つをローカル配送分とVirtual配送分と切り替えて使えればいいと思う
のですが、どうすればいいのかで詰まっています。

2112102013/05/10(金) 06:53:35.61
ちなみに環境は postfix+dovecot2+mysql+postfixadminで
今までpostfix+dovecot2で local_transport = local で使っていたのを
mysqlでvirtual環境を追加するために virtual_transport = virtual を
加えた状況です。
今までのメール環境を変えずにvirtualユーザーからpop3を使いたいわけです。
ローカル系の認証はpamあるいはpasswordfileで行います。virtual系は
mysqlでpostfixadminを使って管理します。

2122102013/05/10(金) 11:05:06.52
passwordfileにローカルユーザーのパスとか書き加えたらできました。
お騒がせしました。

213名無しさん@お腹いっぱい。2013/05/20(月) 17:04:13.03
2.2.2

214名無しさん@お腹いっぱい。2013/06/16(日) 09:57:05.07
どべこっと

215名無しさん@お腹いっぱい。2013/06/25(火) 17:07:05.39
2.2.4か。そろそろ2.2を入れるかな…

216名無しさん@お腹いっぱい。2013/06/28(金) 02:32:39.45
なんて言っていたら2.1.17が。

217名無しさん@お腹いっぱい。2013/09/26(木) 08:39:20.73
2.2.6

218名無しさん@お腹いっぱい。2013/11/06(水) 23:12:40.55
2.2.7

219名無しさん@お腹いっぱい。2014/02/16(日) 18:49:04.46
2.2.12あげ

220名無しさん@お腹いっぱい。2014/02/18(火) 18:24:13.52
Dovecot っていつになったら「枯れる」の?

2.3 のロードマップに SMTP Server とかいう単語が出てきて頭痛がしてきた

221名無しさん@お腹いっぱい。2014/02/25(火) 04:20:40.70
Postfix+dovecotでSMTP認証をsmtpd_sasl_type=dovecotとしている場合
SMTP認証のパスワードをPOPのパスワードと別にすることはできないのでしょうか?

222名無しさん@お腹いっぱい。2014/02/25(火) 09:07:36.82
何をしたいのかわからん。
同じにしたいからsmtpd_sasl_type=dovecotにして認証をdovecotに一元化するんじゃないの?
別にするならSMTPの認証をdovecotにやらせる意味ないやん。

223名無しさん@お腹いっぱい。2014/02/25(火) 11:58:23.67
smptpd_sas_type=cyrus にするには build 時にそうしてないといけないので、
そうでないbinaryを利用している場合には、残りの選択肢はdovecot しかないような。

224名無しさん@お腹いっぱい。2014/02/25(火) 14:07:39.77
ああ、なるほど。
なら、やったことないけどprotocols = noneでpopもimapも使えない
認証専用のプロセスを起動できるはずなので、
通常のdovecotとは別に、もうひとつプロセス上げて
そっちで異なる認証dbを使うように設定してやればいいんじゃないかな。

わざわざsmtp authと別にしたい理由はやっぱり謎だけど。

225名無しさん@お腹いっぱい。2014/02/27(木) 19:25:49.14
au の iPhone で使ってる @ezweb.ne.jp で、
普通に IMAP として設定したアカウントでも
プッシュ通知ができるように変更された。

http://csqa.kddi.com/posts/view/qid/k1421324797

うちでも確かに、プロファイルをインストールせずに、
手動で IMAP で作ったアカウントでプッシュが選べるようになった。
(前まではフェッチしか選べなかった)

Dovecot で運用している独自ドメインのほうは、
相変わらずフェッチしか選べないし、
これってどういう仕組みなんだろうね。

226gad2014/09/29(月) 23:01:24.83
はじめまして
今dovecotでメールシステム設計中なんですが、
imapのsearchコマンドの処理時間を挙げる方法を模索中です。
メールボックス用のLUNはiscsiで外部ストレージ上のLUNにつくります。
ボトルネックはディスクI/Oでさらに言えばディスクヘッドなのですが、
予算が足りなくてSSD導入はできません。
メールボックス用の仮想ディスクはRAID6でSAS10k回転のHDD10台で
ディスクヘッドを分散させるつもりですが、
4KB randam readでIOPSを計測すると、他のディスクI/Oが無くても
300台です。
10台でRAID6組んでるのならHDDの本数の10倍近いIOPSになると期待していたのですが、
もしかしたら、imap searchのread I/Oが1メッセージずつしか発行されなくて、
メッセージがディスクからディスクキャッシュに読み込まれるまで
CPUがI/O待ちになっているように思えます。
ストレージ側では並列にread I/Oを処理できるだから、、
dovecotも並列read I/Oを出せるようにしたいと考えております。
一回のimap searchのプロセスをマルチスレッドで動作させてread I/Oも
並列処理出動くようにチューニングするなど、
imap search時に並列read I/Oを実現する方法はありませんでしょうか?

227名無しさん@お腹いっぱい。2014/09/30(火) 08:33:50.80
>>225
Dovecotと違う世界の話

http://ja.wikipedia.org/wiki/Apple_Push_Notification_Service
ここらへんから調べられると思う

228名無しさん@お腹いっぱい。2014/10/05(日) 03:00:49.17
>>226
>10台でRAID6組んでるのならHDDの本数の10倍近いIOPSになると期待していた

ハァ?

2292262014/10/14(火) 20:41:02.19
raid5やraid6ではパリティ付きストライピングで円盤に書き込むから、
並列IOの処理が高速化すると期待していたのが、
dovecotのimap searchが1ユーザに対して、シングルスレッドで、
read IOも並列化されていなさげなので、結局、
メッセージの全文検索を高速化するには、全メッセージの全文を
単語レベルでばらばらにしてインデックス付けてDBにほうりこまないと
だめなのかなってオモタ

230名無しさん@お腹いっぱい。2014/10/15(水) 17:36:36.66
ぐだぐだ妄想してないでいろんなテストケース用意して検証しろよw

231名無しさん@お腹いっぱい。2015/01/28(水) 16:45:00.14
大規模向けメールサーバー「Dovecot」商用版が国内発売
http://ascii.jp/elem/000/000/973/973440/

232名無しさん@お腹いっぱい。2015/06/05(金) 14:29:20.91
見当違いくんは、「ブーメラン」と書くw

233名無しさん@お腹いっぱい。2015/07/10(金) 01:59:00.65
dovecot2を使ってます
POP3とIMAP4でuserdb/passdbを分けたいのですが
そのようなことは出来ますでしょうか?

234名無しさん@お腹いっぱい。2015/07/10(金) 03:02:48.04
はい、できますよ!

235名無しさん@お腹いっぱい。2017/12/29(金) 07:58:49.49
誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。

グーグル検索⇒『宮本のゴウリエセレレ』

ZAO1UH9L9H

236名無しさん@お腹いっぱい。2018/05/22(火) 05:56:02.85
知り合いから教えてもらったパソコン一台でお金持ちになれるやり方
時間がある方はみてもいいかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

R0V8K

新着レスの表示
レスを投稿する