準備
メールサーバーをセットアップする前に、以下の条件を満たす必要があります。
- prds98.com のような、あなた自身のドメイン名(以降、これを例として使用します)。
- インターネットに接続できるサーバー。例えば、アリババクラウドサーバーやテンセントクラウドサーバーなど。
- サーバーのIPアドレスを逆引きして、自分のドメイン名に解決します。
最初の2つの項目は、Alibaba CloudとTencent Cloudがどちらも成熟したエンドツーエンドのサービスを提供しているため、非常に簡単に実現できます。3つ目の項目は、国内のクラウドプロバイダーのほとんどが逆引き検索(PTRレコード)の設定オプションを直接提供していないため、より困難です。 しかし、逆引きDNSルックアップはIPアドレスをドメイン名にマッピングする仕組みであり、他のメールプロバイダがあなたのメールをスパムとして扱うのを防ぐことができるため、不可欠です。 逆引きDNSルックアップを直接設定できない場合は、インターネットサービスプロバイダ(ISP)にお問い合わせください。ISPはサーバーのプロバイダであり、DNS解決サービスのプロバイダではないことにご注意ください。 例えば、Tencent Cloudのドメイン名解決サービスはDNSpodによって提供されています。DNSpodはTencentの子会社ですが、カスタマーサービスに問い合わせても無駄です。カスタマーサービスを探すには、クラウドサーバーの設定ページにアクセスする必要があります。
DNS解決を設定する
- PTRレコードの逆解析については、これ以上詳しく説明しません。
- レコードの設定:
mail.prds98.com -> 1.2.3.4 (サーバーIPアドレス) 4. CNAMEレコードの設定:
smtp.prds98.com -> mail.prds98.com
pop.prds98.com -> mail.prds98.com
imap.prds98.com -> mail.prds98.com 5. MXレコードの設定:
prds98.com -> mail.prds98.com 6. SPFレコードの設定:
prds98.com -> "v=spf1 a mx -all" 7. DMARCレコードの設定:
_dmarc.prds98.com -> "v=DMARC1; p=none; rua=mailto:dmarc-reports@prds98.com"
DMARCレコードは必須ではありませんが、メール送信中に発生する問題に対処する上で非常に役立ちます。サービスを開始したら、DMARCレポートを受信するための専用アカウントdmarc-reports@prds98.comを作成する必要があります。
Dockerを使用してメールサーバーをデプロイする
構成サービス
最も人気のあるオープンソースのメールサーバーでposte.ioを使用します。まず、サーバーに Docker と Docker Compose がインストールされていることを確認してください。次に、サーバー上に新しいディレクトリを作成し、その中にcompose.ymlを作成します。
以下の内容をファイルにコピーしてください。
version: '3'
services:
posteio:
restart: unless-stopped
image: analogic/poste.io:2
container_name: posteio
network_mode: host
hostname: mail.prds98.com
environment:
- TZ=Asia/Shanghai
# - DISABLE_CLAMAV=TRUE
# - DISABLE_RSPAMD=TRUE
volumes:
- ./data:/data
ドメイン名を自分のものに置き換え、環境設定を使用してタイムゾーンを設定することを忘れないでください。 サーバーのメモリが 4GB 未満の場合は、
DISABLE_CLAMAV=TRUEコメントを解除して ClamAV アンチウイルス モジュールを無効にすることをお勧めします。ClamAVは実行中に約1GBのメモリを使用します。ウイルスデータベースを定期的に更新するため、メモリ使用量が急増し、サーバーがフリーズする可能性があります。
Rspamdは、スパムメールを自動的に識別するモジュールです。使用するメモリは約250MBと少なく、無効にすることは推奨されません。
サービスを開始する
docker-compose up -dコマンドを実行するだけで、メールサーバーが起動します。サービスが最初に起動したら、いくつかの初期設定が必要です。ブラウザでサーバーのIPアドレスにアクセスし、ウィザードの手順に従って設定を完了してください。
HTTPS(TLS証明書)を設定する
初期設定が完了すると、メールサーバーのバックエンドに自動的にリダイレクトされます。システム設定に移動し、「TLS証明書」を選択して、ウィザードに従ってLet's Encrypt証明書の設定を完了してください。 今後は、ドメインに直接アクセスするとHTTPSが表示され、セキュリティ警告は一切表示されなくなります!
DKIMキーを設定する
バックエンドから仮想ドメインの設定にアクセスし、設定済みのドメインをクリックして、DKIMキーフィールドに新しいDKIMを生成し、DNS解決にTXTレコードを追加します。生成されたレコードの例を以下に示します。
_s20160910378._domainkey.your-domain.com IN TXT "k=rsa;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0FvkMuwN46vvtQCC1JZz7XzRE+l+Lf8/5XUKwWJXOcE7dJo ZBbOE0Gz85phZ2q+y4l8D7t/hXDz9q+6/KVQDgJ9muaxSM/uS+KG0ds0QLEiV0GYCVu+ZZQSNPBPjOwlDvo3LraW00lMpd5dUj+xp r07ShfIoULhi7/7t76n5GZMse9yBa4hIhxSG/wCAB4D6IWYBURz9Pc75IDPDTlImr3TP/82YrsULY70CHaPHA1+j1VPA5lE+tnme qxJW6P537xSutDppv8BZg4nlF3ojg2k6LB/cq15C4QRPAMs77pRA4GVnys1LEJ3JDvV3/csOCZ49oC4m44/TnWXk057OAwIDAQAB"
そして、DNSレコードには次のように入力する必要があります。
| ホストレコード | レコードタイプ | 記録的な値 |
|---|---|---|
| _s20160910378._domainkey | TXT | k=rsa;p=MIIBIjANB... |
テストメールサーバー
これで基本設定は完了です。DMarkレポートアカウントdmarc-reports@prds98.com )を作成することを忘れないでください。
ウェブサイト上のテストツールを使えば、メールの送受信が正常に行われているかどうかを確認できます。以下に、メールサーバーの設定が適切かどうかを確認し、さらなる最適化を行うためのガイドとなるおすすめのウェブサイトをいくつかご紹介します。
- メールテスター
- エキスパート/スパムチェッカー
nice