Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
Sendmailのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
Sendmail
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:メールサーバー]] [[en::Sendmail]] [[zh-hans:Sendmail]] Sendmail は unix 界の古典的な SMTP サーバーです。オリジナルのコードは、インターネットが今よりもずっと安全だった、セキュリティがあまり重要ではなかった昔に書かれました。そのため、セキュリティ上の欠陥が存在しており、セキュリティには悪評があります。ただし、セキュリティのバグは修正されたため、最近のバージョンの sendmail は他の SMTP サーバーと同じくらい安全です。それでも、セキュリティを最優先したい場合は、[[Postfix]] を使ったほうが良いでしょう。 この記事では、mysql などのデータベースを使わずに、ローカルユーザーアカウントで利用するため Sendmail をセットアップする方法を説明します。 Sendmail の設定手順しか扱っていないので、設定後に IMAP や POP3 を使えるようにしたい場合は [[Dovecot]] の記事を読んで下さい。 ==インストール== {{AUR|sendmail}}, {{Pkg|procmail}}, {{Pkg|m4}} パッケージをインストールしてください。 ==DNS レコード== 持っているドメインの MX レコードを編集してサーバーを指定してください。MX レコードで CNAME を指定すると問題が発生することがあるので、MX からは A レコードを指定するようにするべきです。 ==ユーザーの追加== * デフォルトで、全てのローカルユーザーには username@your-domain.com のようなメールアドレスが割り当てられます。シェルにアクセスしたり X でログインはせずに、メールの取得だけができる''メールアカウント''を追加したい場合、以下のようにして追加できます: # useradd -m -s /usr/bin/nologin ''username'' * パスワードを設定: # passwd ''username'' ==設定== === SSL 証明書の作成 === {{Warning|If you plan on implementing SSL/TLS, know that some variations and implementations are [https://weakdh.org/#affected still] [[wikipedia:Transport_Layer_Security#Attacks_against_TLS.2FSSL|vulnerable to attack]]. For details on these current vulnerabilities within SSL/TLS and how to apply appropriate changes to Sendmail, visit http://disablessl3.com/ and https://weakdh.org/sysadmin.html}} * 鍵を生成して署名してください。詳しくは [[OpenSSL#鍵の生成|OpenSSL]] を参照。フリーの公開認証局については [[Let's Encrypt]] を見てください。 ===sendmail.cf=== * {{ic|/etc/mail/sendmail.mc}} ファイルを作成してください。 sendmail の設定オプションについては {{ic|/usr/share/sendmail-cf/README}} ファイルを読んで下さい。 {{Warning|If you create your own sendmail.mc file, remember that plaintext auth over '''non-TLS''' is very risky. Using the following example forces TLS and is therefore more safe unless you know what are you doing}} 以下は [[Wikipedia:Transport_Layer_Security|TLS]] による認証を使用する例です。コメンドで中身を説明しています。コメントは {{ic|dnl}} から始まっている行です。 {{hc|/etc/mail/sendmail.mc|<nowiki> include(`/usr/share/sendmail-cf/m4/cf.m4') define(`confDOMAIN_NAME', `your-domain.com')dnl FEATURE(use_cw_file) dnl The following allows relaying if the user authenticates, dnl and disallows plaintext authentication (PLAIN/LOGIN) on dnl non-TLS links: define(`confAUTH_OPTIONS', `A p y')dnl dnl dnl Accept PLAIN and LOGIN authentications: TRUST_AUTH_MECH(`LOGIN PLAIN')dnl define(`confAUTH_MECHANISMS', `LOGIN PLAIN')dnl dnl dnl Make sure this paths correctly point to your SSL cert files: define(`confCACERT_PATH',`/etc/ssl/certs') define(`confCACERT',`/etc/ssl/cacert.pem') define(`confSERVER_CERT',`/etc/ssl/certs/server.crt') define(`confSERVER_KEY',`/etc/ssl/private/server.key') dnl FEATURE(`virtusertable', `hash /etc/mail/virtusertable.db')dnl OSTYPE(linux)dnl MAILER(local)dnl MAILER(smtp)dnl </nowiki>}} * そして以下のコマンドを実行: {{bc|# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf}} ===local-host-names=== * ドメインを {{ic|local-host-names}} ファイルに記述してください: {{hc|/etc/mail/local-host-names| localhost your-domain.com mail.your-domain.com localhost.localdomain }} * {{ic|/etc/hosts}} ファイルでドメインを解決できるようにしてください。 ===access.db=== * {{ic|/etc/mail/access}} ファイルを作成して、メールをリレーしたいベースアドレスを記述してください。{{ic|10.5.0.0/24}} で vpn を使っていて、その範囲の ip からのメールをリレーしたい場合: {{hc|/etc/mail/access| 10.5.0 RELAY 127.0.0 RELAY }} * そして次を実行: {{bc|# makemap hash /etc/mail/access.db < /etc/mail/access}} ===aliases.db=== * {{ic|/etc/mail/aliases}} ファイルを編集して {{ic|#root: human being here}} という行をアンコメントして以下のように変更: {{bc|root: your-username}} * ユーザー名のエイリアスを追加できます: {{bc|coolguy: your-username somedude: your-username}} * そして次を実行: {{bc|# newaliases}} ===virtusertable.db=== * {{ic|virtusertable}} ファイルを作成してエイリアスとドメインを記述してください (複数のドメインをホストする場合に有用です): {{hc|/etc/mail/virtusertable| your-username@your-domain.com your-username joe@my-other.tk joenobody }} * そして次を実行: {{bc|# makemap hash /etc/mail/virtusertable.db < /etc/mail/virtusertable}} === ブート時に起動 === 以下のサービスを起動・有効化してください。詳しくは[[デーモン]]を参照。 * {{ic|saslauthd.service}} * {{ic|sendmail.service}} * {{ic|sm-client.service}} === SASL 認証 === * SMTP 認証のために SASL データベースにユーザーを追加してください: {{bc|# saslpasswd2 -c your-username}} == ヒントとテクニック == === あるドメインのメールを全て特定のユーザーに転送 === ''my-other.tk'' ドメインの全てのユーザーへのメールを ''your-username@your-domain.com'' に転送するには、{{ic|/etc/mail/virtusertable}} ファイルに以下を追加: {{bc|@my-other.tk your-username@your-domain.com}} そして次を実行: {{bc|# makemap hash /etc/mail/virtusertable.db < /etc/mail/virtusertable}}
このページで使用されているテンプレート:
テンプレート:AUR
(
ソースを閲覧
)
テンプレート:Bc
(
ソースを閲覧
)
テンプレート:Hc
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:Pkg
(
ソースを閲覧
)
テンプレート:Warning
(
ソースを閲覧
)
Sendmail
に戻る。
検索
検索
Sendmailのソースを表示
話題を追加