• home
  • about
  • 全ての投稿
  • ソフトウェア・ハードウェアの設定のまとめ
  • 分析関連のまとめ
  • ヘルスケア関連のまとめ
  • 生涯学習関連のまとめ

postfix

date: 2021-12-14 excerpt: postfixのの設定と使い方

tag: linuxpostfix


postfixのの設定と使い方

概要

  • postfix - Postfix control program

インストール

ubuntu, debian

$ sudo apt install postfix

postfixのサブコマンド

  • check
    • 設定ファイルの構文チェック
  • start
    • 開始
  • stop
    • 停止
  • abord
    • 強制停止
  • reload
    • 設定を再読み込み
  • flush
    • キュー内のメッセージを再送

設定

/etc/postfix/main.cf

  • postfixの設定

/etc/postfix/master.cf

  • postfixのdaemonに関する設定
  • smtps
    • コメントを外すと有効化

具体例

mail_owner = postfix                   # メール所有者
myhostname = mail.<my-domain.com>      # ホスト名

# 自分のサーバの設定
mydomain = <my-domain.com>             # ドメイン名
myorigin = $mydomain                   # ローカルからのメール送信時の送信元メールアドレス@以降にドメイン名を付加
local_recipient_maps = unix:passwd.byname $alias_maps  # <= サーバにアカウントがあれば、その人宛に届く

alias_maps = hash:/etc/aliases         # 受信メールの再転送先ファイル
alias_database = hash:/etc/aliases     # newaliasesコマンドの実行対象

# 受信するネットワーク
inet_interfaces = all                  # 外部からのメール受信を許可

# 配送先とリレー
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain  # 自ドメイン
mynetworks = 127.0.0.0/8               # ここに書いたネットワークがリレーを許可するネットワークになる
relay_domains = ...                    # 自ドメイン以外に中継するドメイン

smtpd_banner = $myhostname ESMTP       # メールサーバーソフト名の隠蔽化
sendmail_path = /usr/sbin/postfix      # Postfix sendmail コマンドの場所
newaliases_path = /usr/bin/newaliases  # Postfix newaliases コマンドの場所
mailq_path = /usr/bin/mailq            # Postfix mailq コマンドの場所
setgid_group = postdrop                # set-gid Postfix コマンドおよびグループ書き込み可能な Postfix ディレクトリを所有するグループ

# メッセージボックス
message_size_limit = 10485760          # 送受信メールサイズを10Mに制限
mailbox_size_limit = 1073741824        # メールボックスサイズを1Gに制限
home_mailbox = Maildir/                # メールボックス(個別ユーザ)
mail_location = ...                    # また別のメールボックス
mail_spool_directory = /var/spool/mail # メールスプールディレクトリ(共通)

# smtp認証関連
smtpd_sasl_auth_enable = <yes|no>	   # yes, no
smtpd_sasl_type = <type>		       # saslのプラグインの認証情報
smtpd_sasl_path = <method>             # saslプラグインが認証情報を受け渡す方法
smtpd_sasl_local_domain = <relm>       # sasl認証のrelm(ドメイン)を指定 

# tls関連
smtps = yes                            # yes, no
smtpd_use_tls = yes                    # yes, no, TLSを使用するかどうか
smptd_enforce_tls = yes                # yes, no
smptd_tls_security_level = ...         # may or encrypt
smptd_tls_cert_file = ...              # サーバ証明書ファイル
smptd_tls_CAfile = ...                 # CAの証明書ファイル
smptd_tls_key_file = ...               # サーバ秘密鍵ファイル

ツール各種

postsuper

メールキュー内をすべて削除

# postsuper -d

postque

メールキューを表示

# postqueue -p

または

# mailq

メールキューを直ちに実行

# postqueue -f

または

# postfix flush

postconf

すべての設定を確認

# postconf

変更差分だけを確認

# postconf -n

指定したパラメータだけを表示

# postconf <parameter>

telnetでメールを送信

$ telnet 127.0.0.1 25
HELO <foo.localdomain>
MAIL FROM: bar@localdomain
RCPT TO: target@localdomain
DATA
...
QUIT


linuxpostfix Share Tweet