Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
OpenSMTPDのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
OpenSMTPD
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:メールサーバー]] [[Category:OpenBSD]] [[en:OpenSMTPD]] {{Related articles start}} {{Related|Dovecot}} {{Related|Postfix}} {{Related|Exim}} {{Related articles end}} この記事では [https://www.opensmtpd.org/ OpenSMTPD] サーバーをインストール・設定する方法を説明します。 == インストール == [[公式リポジトリ]]から {{Pkg|opensmtpd}} パッケージを[[インストール]]してください。 == 設定は == OpenSMTPD の設定は {{ic|/etc/smtpd}} で行うことができます。 === ローカルメール === [[cron]] のメールなど、ローカルメールを使いたい場合は {{ic|smtpd.service}} を[[起動]]するだけで使うことができます。 OpenSMTPD のデフォルト設定ではメールをローカルで取得・配達して、外出メールのリレーも行います。{{man|5|smtpd.conf|url=http://man.openbsd.org/smtpd.conf}} を見てください。 ==== ローカルのみ ==== ローカルメールだけを使いたい場合、以下のように設定してください: {{hc|/etc/smtpd/smtpd.conf| listen on localhost accept for local alias <aliases> deliver to mbox }} === ハイブリッド: ローカルメールとリレー === {{ic|/etc/smtpd/smtpd.conf}} の以下の2行によって: accept for local alias <aliases> deliver to mbox accept for any relay via "smtp://smtp.foo.bar" as "@foo.bar" 以下のように OpenSMTPD が設定されます: * ローカルメールはローカルだけに送信され、リレーは使われません (cron やメール通知で有用)。 * ローカルホストの外に送信するメールはリレーが使われます。 ''smtp.foo.bar'' をあなたの使っている ISP のメールサーバーに置き換えてください。 === シンプルな OpenSMTPD/mbox の設定 === ==== 暗号鍵の作成 ==== TLS のサポートは {{pkg|openssl}} パッケージで得ることができ、Arch ではデフォルトでインストールされています。 秘密鍵と自己署名証明書を作成してください。[[wikipedia:Certificate_signing_request|CSR]] を必要としない大抵の環境ではこれで十分です: # mkdir -m 700 /etc/smtpd/tls; cd /etc/smtpd/tls # openssl req -new -x509 -nodes -newkey rsa:4096 -keyout smtpd.key -out smtpd.crt -days 1095 # chmod 400 smtpd.key; chmod 444 smtpd.crt ==== ユーザーアカウントの作成 ==== * 必要なメールボックスごとにメールサーバーにユーザーアカウントを作成: # useradd -m -s /bin/bash roger # useradd -m -s /bin/bash shirley * OpenSMTPD はメッセージを {{ic|/var/spool/mail/''<username>''}} にあるユーザーアカウントの mbox ファイルに配達します。 * 必要であれば特定の mbox に複数の SMTP メールアドレスを割り当てることができます。 ==== smtpd.conf の設定 ==== * 最低限必要な設定は以下のようになります: {{hc|/etc/smtpd/smtpd.conf| pki mx.domain.tld certificate "/etc/smtpd/tls/smtpd.crt" pki mx.domain.tld key "/etc/smtpd/tls/smtpd.key" table creds "/etc/smtpd/creds" table vdoms "/etc/smtpd/vdoms" table vusers "/etc/smtpd/vusers" listen on eth0 tls pki mx.domain.tld listen on eth0 port 587 tls-require pki mx.domain.tld auth <creds> accept from any for domain <vdoms> virtual <vusers> deliver to mbox accept for any relay }} ==== テーブルの作成 ==== * ドメインテーブルファイルには1行毎にドメインを記述してください: {{hc|/etc/smtpd/vdoms| personaldomain.org businessname.com }} * ユーザーテーブルファイルには1行毎に SMTP メールアドレスを記述し、mbox のユーザーアカウント名あるいは他の SMTP メールアドレスにマッピングします。複数記述する場合はカンマで区切ってください。 {{hc|/etc/smtpd/vusers| roger@personaldomain.org roger newsletters@personaldomain.org roger,roger.rulz@gmail.com roger@businessname.com roger shirley@businessname.com shirley info@businessname.com roger,shirley contact@businessname.com info@businessname.com }} * creds テーブルファイルには1番目の列にユーザー名を2番目の列にパスワードハッシュを記述してください: {{hc|/etc/smtpd/creds| roger <password hash created using 'smtpctl encrypt' command> shirley <password hash created using 'smtpctl encrypt' command> }} === 設定のテスト === # smtpd -n 'configuration OK' というメッセージが表示されたら起動してみてください。表示されない場合、設定のエラーを修正してください。 == トラブルシューティング == === コンソールデバッグ === メールの配達に問題が発生する場合、{{ic|smtpd.service}} を[[systemd#ユニットを使う|停止]]して手動でデーモンを起動して見てください: # smtpd -dv === サブシステムの解析 === {{ic|-T}} フラグを追加することでリアルタイムにサブシステムを追跡できます: # smtpd -dv -T smtp もしくはデーモンが既に実行中の場合 {{ic|smtpctl trace ''<subsystem>''}} コマンドを実行してください。トレースはコンソールに出力され、{{ic|smtpd.service}} を journalctl で確認することで見ることができます。例: # smtpctl trace expand && smtpctl trace lookup 上記のコマンドはエイリアス・転送の展開とユーザーのルックアップの両方をトレースします。 === サブミッションポートの手動認証 === * ユーザー名とパスワードを base64 でエンコード: # printf 'username\0username\0password' | base64 * {{ic|openssl s_client}} コマンドを使ってサブミッションポートに接続: # openssl s_client -host mx.domain.tld -port 587 -starttls smtp * {{ic|ehlo myhostname}} の後に {{ic|AUTH PLAIN}} と入力して {{ic|334}} が返ってきたら上のコマンドで出力された base64 の文字列を貼り付けてください。 250 HELP ehlo test.domain.tld 250-mx.hostname.tld Hello test.domain.tld [5.5.5.5], pleased to meet you 250-8BITMIME 250-ENHANCEDSTATUSCODES 250-SIZE 36700160 250-DSN 250-AUTH PLAIN LOGIN 250 HELP AUTH PLAIN 334 dXNlcm5hbWUAdXNlcm5hbWUAcGFzc3dvcmQ= 235 2.0.0: Authentication succeeded === "Helo command rejected: need fully-qualified hostname" === メールを送信したときにメッセージが表示される場合、{{ic|/etc/smtpd/mailname}} ファイルで FQDN を設定してください。設定されていない場合、サーバーの名前は gethostname(3) によって返されるローカルのホストネームから決定されます。完全修飾ドメイン名の場合はそのまま使われ、そうでなかった場合は getaddrinfo(3) で関連付けられた CNAME が取得されます。 == 参照 == * OpenSMTPD は [[Dovecot]] と組み合わせることでミニマルなメールサーバーになります。 * [http://opensmtpd.org/ OpenSMTPD プロジェクトページ] * [https://coderwall.com/p/eejzja Simple SMTP server with OpenSMTPD] DNS レコードや到達可能性、暗号化などをテストできる便利なウェブサイト: * [http://mxtoolbox.com/ MXToolBox] * [http://ismyemailworking.com/ IsMyEmailWorking.com] * [http://www.mail-tester.com/ MailTester] * [https://checktls.com/ TLS tests and tools] * [https://starttls.info/ STARTTLS.info] * [https://pingability.com/zoneinfo.jsp Pingability Quick DNS Check]
このページで使用されているテンプレート:
テンプレート:Hc
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:META Related articles start
(
ソースを閲覧
)
テンプレート:Man
(
ソースを閲覧
)
テンプレート:Pkg
(
ソースを閲覧
)
テンプレート:Related
(
ソースを閲覧
)
テンプレート:Related articles end
(
ソースを閲覧
)
テンプレート:Related articles start
(
ソースを閲覧
)
OpenSMTPD
に戻る。
検索
検索
OpenSMTPDのソースを表示
話題を追加