2018年11月26日

OpenSMTPD の設定方法が大きく変更

2018年10月にリリースされた OpenSMTPD 6.4.0 以降では smtpd.conf の文法が大幅に変更されました。詳細は smtpd.conf(5) をご参照ください。smtpd.conf 以外は以前に紹介した方法のままで問題ありません。

典型的な例として、外部への配信に認証付きの SMTP サーバを経由する場合の smtpd.conf の内容を比較します。

[旧]
relayhost = "tls+auth://ラベル@リレーサーバ名:587"

table aliases file:/etc/mail/aliases
table secrets file:/etc/mail/secrets

listen on all

accept from any for local alias <aliases> deliver to mbox
accept for any relay via $relayhost auth <secrets>
[新]
relayhost = "smtp+tls://ラベル@リレーサーバ名:587"

table aliases file:/etc/mail/aliases
table secrets file:/etc/mail/secrets

listen on all

action "local" mbox alias <aliases>
action "relay" relay host $relayhost auth <secrets>

match from any for local action "local"
match for any action "relay"
ポイントは大きく以下の2点。
  • accept で始まる一文で記述されていたパターンマッチとアクションを別々に記述
  • リレーサーバに対するプロトコルとして tls+authsmtp+tls
from が省略された場合は以前と変わらず、from local を意味します。また、特定のアドレスブロック(例えば、192.168.0.0/24)から無条件でリレーを許可する場合、以前の設定方法では
mynetwork = "192.168.0.0/24"

accept from source $mynetwork for any relay via $relayhost auth <secrets>
のような設定を加えていましたが、新しい設定方法では
mynetwork = "192.168.0.0/24"

match from src $mynetwork for any action "relay"
を加えることになります。sourcesrc に変更されていることに注意が必要です。

因みに、STARTTLS ではなく、SMTPS を使う場合は以下のようにプロトコルとして smtps のみを設定します(以前は smtps+auth)。
relayhost = "smtps://ラベル@リレーサーバ名"

参考文献
posted by yamaga at 09:29| Comment(0) | OpenBSD | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。