@php $fromSetup = $fromSetup ?? false; // 「DNSとは?」ツールチップ(HTML表示)。各ドメイン行の展開内でも使う。 $dnsTipHtml = 'DNSとは?
' .'DNS(ディーエヌエス)は、かんたんに言うと「ドメイン名(example.com)を、どのサービスに使うか決める電話帳のような設定」です。' .'

' .'この画面で出る文字(DKIM/DMARCのレコード)を、ドメインを借りている会社の『DNS』『DNSレコード』の画面に追加します。' .'

' .'※入力欄の名前や、レコード名を「全部(_dmarc.example.com)」入れるか「一部(_dmarc)」だけ入れるかは、会社によって違います。'; @endphp
認証ドメイン一覧
@if($domains->isEmpty())

まだドメインがありません

上の 「追加」 からドメインを登録すると、ここにコピー用の文字が出ます。それをドメイン会社の「DNS」画面に貼り付けるのが次のステップです。

@else @foreach($domains as $domain) @php $collapseId = 'dnsDomainCollapse'.$domain->id; $domainTestAccounts = $accountsByMailDomainId[$domain->id] ?? collect(); $expandThisDomain = ((string) old('mail_domain_id', '') !== '' && (string) old('mail_domain_id') === (string) $domain->id) || ((string) session('opened_domain_id', '') === (string) $domain->id); @endphp @endforeach
ドメイン 状態 操作
{{ $domain->domain }} クリックで DNS 設定を表示 {{ $domain->status === 'active' ? '有効' : '設定中' }}
@csrf @method('DELETE') @if($fromSetup)@endif
@php $sel = $domain->dkim_selector ?? ''; $signHost = (string) config('putage.dkim_signing_hostname'); $sendingIp = trim((string) config('putage.sending_ip')); $spfIncludeDomain = trim((string) config('putage.spf_include_domain')); $cnameValue = $sel !== '' ? ($sel.'.'.$signHost) : ''; $recordHostFqdn = $sel !== '' ? ($sel.'._domainkey.'.$domain->domain) : ''; $recordHostRelative = $sel !== '' ? ($sel.'._domainkey') : ''; $spfHostFqdn = $domain->domain; $spfValue = ''; if ($spfIncludeDomain !== '') { $spfValue = 'v=spf1 include:'.$spfIncludeDomain.' -all'; } elseif ($sendingIp !== '') { $spfValue = 'v=spf1 ip4:'.$sendingIp.' -all'; } $dnsItemsByKey = []; $dnsPersisted = $domain->dns_last_check_result; if (is_array($dnsPersisted) && ! empty($dnsPersisted['items'])) { foreach ($dnsPersisted['items'] as $it) { $k = (string) ($it['key'] ?? ''); if ($k !== '') { $dnsItemsByKey[$k] = $it; } } } $dmarcTxtLine = \App\Support\MailDmarcSpec::expectedTxt(); $dmarcPolicy = \App\Support\MailDmarcSpec::policy(); @endphp
この下の表の 3行(DKIM/DMARC/SPF) を、あなたのドメインの DNS設定 にそのまま追加して保存してください。
  1. (DNSを編集) あなたのドメイン管理サービス(例: ムームー/お名前.com)の DNS設定 画面で、この下の表の 3 行(DKIM / DMARC / SPF)を そのまま追加して保存します。
  2. (送信元メールを設定) 管理画面の 送信用アカウント → 「各種設定」で、送信元メールアドレスを設定します。このドメインで送るなら @ 以降が {{ $domain->domain }} になっていればOKです(@ より前は自由)。
    例: info@__DOMAIN__ / mail@__DOMAIN__ / noreply@__DOMAIN__
  3. (届くか確認) この画面に戻って、いちばん下の「送信テスト」から自分宛てに 1 通送って確認します(迷惑メールも確認)。
このドメインの DNS 設定値
ドメイン登録: {{ $domain->created_at ? $domain->created_at->timezone(config('app.timezone'))->format('Y/m/d H:i') : '—' }}
最終確認: {{ $domain->dns_last_checked_at ? $domain->dns_last_checked_at->timezone(config('app.timezone'))->format('Y/m/d H:i') : '—' }}

「設定確認」はメールの ping ではなく、このサーバーからの DNS 問い合わせです。 DMARC だけ OK で DKIM/SPF が未設定になることもあり得ます(レコードごとに伝わり方が違う/運用側 TXT 未登録/include 先がまだ等)。 数分後にもう一度試すか、「未設定」の行のすぐ下に出る短文を確認してください。

@include('account.partials.dkim-dns-check-status', ['item' => $dnsItemsByKey['dkim'] ?? null]) @include('account.partials.dkim-dns-check-status', ['item' => $dnsItemsByKey['dmarc'] ?? null]) @if($spfValue !== '') @include('account.partials.dkim-dns-check-status', ['item' => $dnsItemsByKey['spf'] ?? null]) @endif
タイプ レコード名(ホスト名) 状態
CNAME
{{ $recordHostFqdn ?? '' }}
{{ $cnameValue ?? '' }}
TXT
_dmarc.{{ $domain->domain }}
{{ $dmarcTxtLine }}
TXT
{{ $spfHostFqdn }}
{{ $spfValue }}
    @if($dmarcPolicy !== 'none')
  • DMARC はこの環境では p={{ $dmarcPolicy }} です。認証に失敗したメールは隔離・拒否されやすくなります。別サービスから同じドメインで送っている場合は、すべて SPF/DKIM が通ることを確認してから強いポリシーにしてください。
  • @endif
  • 保存したら 10分〜最大24時間ほど待ちます(DNS反映待ち)。
  • 次に、管理画面の 送信用アカウント →「各種設定」で 送信元メールアドレス を設定します(@ 以降が {{ $domain->domain }})。
  • 最後に、この枠のいちばん下の 「送信テスト」で自分宛てに 1 通送って届くか確認します。
  • 表の「レコード名」が長すぎて入らない場合は、DNS画面の説明に従って {{ $recordHostRelative ?? '' }} のように短く入力してください(自動で .{{ $domain->domain }} が付くことがあります)。DMARC も _dmarc だけでよい場合があります。
@if($spfValue !== '')
  • 受信側で「SPFが通らない」と言われる場合は、表の SPF(TXT) が DNS に入っているか確認してください。
  • サブドメイン(例: infomail.{{ $domain->domain }}を送信元にする場合、DNS上でそのサブドメインが 存在していないと失敗しやすいです。必要なら DNS 設定画面で A または AAAA を追加してください(NXDOMAIN回避)。
  • @if($spfIncludeDomain !== '')
  • この SPF は include 方式です。あなたがやるのは 自分のDNSに表のSPF(TXT)を追加するだけです(運用側(monaka側)で {{ $spfIncludeDomain }} の TXT は設定済み)。
  • @endif
@endif
この認証ドメインでのテスト送信

DNS を保存しても、反映に時間がかかることがあります。まずはメールが届くかをここで確認します。

@if($domainTestAccounts->isEmpty())
まだテストができません。先に {{ $fromSetup ? 'メール設定' : '送信用アカウント一覧' }} → 「各種設定」で、送信元メールアドレスを @ 以降が {{ $domain->domain }} になるようにして保存してください。
例: info@__DOMAIN__ / mail@__DOMAIN__ / noreply@__DOMAIN__
保存後、この行を開き直すとここにテスト欄が出ます。
@else
@csrf @if($fromSetup)@endif
@error('account_id')
{{ $message }}
@enderror
@error('test_to')
{{ $message }}
@enderror
「届くかどうか」の確認です。届いたら迷惑メールも確認してください。DKIM/DMARC の反映は時間がかかることがあります。
@endif
@endif
{{-- DNS 設定・テスト送信は「認証ドメイン一覧」の行クリックで展開表示する(アコーディオン)。 --}}