ナレッジベース
独自のSMTPサーバー経由でメールを送信する
独自のSMTP server: 使用すべきポートとなぜ25番ポートを使用すべきではないのか、お客様ご自身で発行する必要があるSPF、DKIM、DMARC、逆引きDNS(リバースDNS)レコード、そして暗号化されていない接続へのフォールバックを当社が拒否する理由。
独自のメールインフラストラクチャを運用している場合や、ご利用のプロバイダが直接リストに載っていない場合は、こちらを使用してください。ほとんどすべてのメールサービスがSMTPに対応しています。
⚠️ ご利用のプロバイダがMailgun、SendGrid、Postmark、Amazon SES、またはResendである場合は、代わりにそれぞれの専用ガイドを使用してください。これらの接続を使用すると、問題が発生した際にSMTPのステータスコードではなくプロバイダの実際のメッセージを読み取ることができるため、より詳細なエラーメッセージが得られます。
必要なもの
メールサーバーを管理している担当者から、以下の4つの情報を取得してください。
- ホスト — 例:
smtp.yourprovider.com - ポート —
587、465、または2525 - ユーザー名 および パスワード
ポートの選択
587はSTARTTLSを使用したサブミッションポートであり、こちらを使用してください。接続は最初は暗号化されずに開始され、メッセージが送信される前にTLSにアップグレードされます。
465は暗号化通信(Implicit TLS)であり、最初のバイトから暗号化されます。同様に問題なく使用でき、一部のプロバイダではこちらが推奨されています。
2525は、一部のネットワークで587番ポートがブロックされているため、一部のホストが提供している非公式の代替ポートです。プロバイダから指定された場合のみ使用してください。
⛔ 25番ポートはこちらでも受け付けられますが、ほとんどの場合適切ではありません。 これはアプリケーションがメッセージを送信するためではなく、メールサーバー同士が通信するためのポートです。ほとんどのネットワークでブロックされており、認証が設定されていないことが多く、機能する場合でも暗号化されていないことがよくあります。
⛔⛔ 暗号化されていない接続では送信いたしません。 STARTTLSを使用を有効にした状態(有効にすべき状態)でサーバーがアップグレードを拒否した場合、暗号化されないまま送信を続行するのではなく、送信は失敗します。これは意図的な仕様です。クライアントのパスワード再設定リンクなどの重要な情報がこれらのメッセージに含まれており、誰も気づかないダウングレードはメールが届くため最悪の障害となるためです。
事前にDNSを設定する
マネージドサービスとは異なり、プロバイダはこの作業を自動的には行いません。送信元として使用するドメインに対して以下の設定が必要です。
SPF — サーバーのアドレスを承認する TXT レコード: v=spf1 ip4:203.0.113.10 -all、または v=spf1 a:smtp.yourprovider.com -all。すでにSPFレコードをお持ちの場合は、編集してください。1つのドメインに2つのSPFレコードが存在すると、SPFの検証に完全に失敗します。
DKIM — メールサーバーが送信メッセージに署名し、対応する公開鍵を <selector>._domainkey.yourdomain.com に公開します。Postfixの場合は通常OpenDKIMを使用します。セレクタについてはプロバイダにご確認ください。
DMARC — _dmarc.yourdomain.com に配置する TXT レコードです。SPFとDKIMの両方が正常に通過することを確認する間は、v=DMARC1; p=none; から開始してください。
逆引きDNS(Reverse DNS) — サーバーのIPアドレスに対する PTR レコードは、そのホスト名に正引きできなければなりません。大規模なメール受信サーバーはこの点を確認しており、逆引き設定のないアドレスからのメールは受け付けないことが多くあります。DNSプロバイダではなく、ホスティングプロバイダによって設定されます。
⭐ 稼働開始後に役立つ無料のチェックツールとして、mail-tester.com宛てにメッセージを送信し、スコアを確認することをおすすめします。4つのうちどの設定に問題があるかがわかるため、迷惑メールフォルダの状況から推測するよりもはるかに素早く問題を特定できます。
Zinn®での接続設定
ダッシュボードでメール送信を開きます。
- プロバイダ — SMTPサーバー
- このドメインから送信 —
mail.yourdomain.com(アドレスではなくドメイン) - SMTPホスト、ポート、ユーザー名、パスワード
- STARTTLSを使用 — ポート465を使用している場合を除き、有効にします
⭐ 個人のログイン情報を使い回すのではなく、この目的専用のメールボックスまたはサブミッションユーザーを作成してください。担当者が退職してパスワードが変更されたときに、クライアント向けの通知が停止しないようにするためです。
テスト送信とコードの入力
別のドメインにある受信トレイ宛てにテストメッセージを送信をクリックし、受信したメールからコードを確認して入力します。
問題が発生した場合
「メールサーバーがユーザー名またはパスワードを拒否しました (The mail server rejected the username or password)」 — SMTP認証に失敗しました。アカウントで二段階認証が有効になっている場合は、通常のログインパスワードではなく、ほぼ確実にアプリパスワードが必要です。
「ホスト:ポートに到達できませんでした (Could not reach host:port)」 — ポートがブロックされている、ホスト名が間違っている、またはサーバーがそのポートでサブミッションを受け付けていない状態です。別のマシーンから telnet smtp.yourprovider.com 587 を実行することで、原因を特定できます。
TLSエラー — サーバーの証明書の有効期限が切れている、自己署名証明書である、または入力したホスト名と一致していません。当社では証明書の検証を行っており、このチェックをスキップすることはできません。証明書を修正してください。
「メールサーバーが受信者を拒否しました (The mail server refused the recipient)」 — サーバーがこの送信者の中継を許可するように設定されていません。通常、認証されたユーザーが送信元ドメインとしての送信を許可されていないことを意味します。
送信は成功するがすべて迷惑メールに入ってしまう — これはSMTPではなくDNSの問題です。前述のSPF、DKIM、DMARC、および逆引きDNSの設定を確認し、再度mail-testerのチェックを実行してください。