小野寛生です。

FreeBSD に限った話ではないのですが、どこで聞けばよいか分からないので、FreeBSD 上の話ということでお許しください。

sendmail でちょっと変な設定をしたくて、一応は解決したのですが、もっとうまいやり方がないか悩んでいます。

要件としては、
(1) 自分のドメイン my.example.jp 宛は MAIL_HUB へ relay で受け取るが、queue にためておく。
(2) ETRN を受けて自分のドメイン宛のメールを実際に MAIL_HUB へ送る。
(3) MSA で SMTP AUTH を必須にし、MSAで受けたメールは随時、任意の宛先へ relay する。

(1) は define(`confDELIVERY_MODE', `queuonly') で出来はするのですが、そうすると (3)
のメールも queueonly で ETRN が来るまでキューに貯めてしまいます。
Postfix では簡単にできるっぽい(
http://www.postfix-jp.info/trans-2.3/jhtml/ETRN_README.html#only
)のですが、
sendmail でいろいろ設定したのをまた postfix でやり直したくないなと思っています。

悩んだ結果、mqueue を main と mydomain に分けて、
・自分のドメイン宛のメールは  mydomain に入れ、それ以外を main に入れる。
・main のメールは cron で定期的に送信する。

としました。sendmai.mc から関連する設定を拾い出すとこんな感じです。

define(`MAIL_HUB', `mail.my.example.jp')
define(`confDELIVERY_MODE', `queueonly')
define(`QUEUE_DIR', `/var/spool/mqueue')dnl
QUEUE_GROUP(`main', `Path=/var/spool/mqueue/main')dnl
QUEUE_GROUP(`oikumene', `Path=/var/spool/mqueue/mydomain')dnl
FEATURE(`queuegroup', `main')dnl

access に
QGRP:my.example.jp mydomain
QGRP:.my.example.jp mydomain

で、cron.d/sendmail には
*/3     *       *       *       *       root
/usr/local/sbin/sendmail -OQueueDirectory=/var/spool/mqueue/main -q

と入れて3分ごとに送り出しています。
これだと配送を最大3分待たないといけないのですが、即時に送られるようなもうちょっとスマートな設定ができないでしょうか。

DeliveryMode がキュー別に設定できれば実現は楽なのですが、
http://etutorials.org/Server+Administration/Sendmail/Part+II+Administration/Chapter+11.+Manage+the+Queue/11.4+Queue+Groups+V8.12+and+Above/
によれば、DeliveryMode は全てのキューに一律で設定されるということです。

すみませんがよろしくおねがいします。
_______________________________________________
freebsd-users-jp@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-users-jp
To unsubscribe, send any mail to "freebsd-users-jp-unsubscr...@freebsd.org"

メールによる返信