{"id":2028,"date":"2026-04-30T14:33:27","date_gmt":"2026-04-30T13:33:27","guid":{"rendered":"https:\/\/www.mysmtp.blog\/?p=2028"},"modified":"2026-07-07T12:31:17","modified_gmt":"2026-07-07T11:31:17","slug":"the-mysmtp-dkim-checker-explained","status":"publish","type":"post","link":"https:\/\/www.mysmtp.blog\/2026\/04\/30\/the-mysmtp-dkim-checker-explained\/","title":{"rendered":"The mySMTP DKIM Checker \u2014 Explained"},"content":{"rendered":"<p><img fetchpriority=\"high\" decoding=\"async\" width=\"800\" height=\"800\" src=\"https:\/\/www.mysmtp.blog\/wp-content\/uploads\/2026\/04\/DKIMny-1024x1024.png\" alt=\"\" srcset=\"https:\/\/www.mysmtp.blog\/wp-content\/uploads\/2026\/04\/DKIMny-1024x1024.png 1024w, https:\/\/www.mysmtp.blog\/wp-content\/uploads\/2026\/04\/DKIMny-300x300.png 300w, https:\/\/www.mysmtp.blog\/wp-content\/uploads\/2026\/04\/DKIMny-150x150.png 150w, https:\/\/www.mysmtp.blog\/wp-content\/uploads\/2026\/04\/DKIMny-768x768.png 768w, https:\/\/www.mysmtp.blog\/wp-content\/uploads\/2026\/04\/DKIMny.png 1254w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><br \/>\n\t\t\t\t\t<!DOCTYPE html><br \/>\n<html lang=\"en\"><br \/>\n<head><br \/>\n  <meta charset=\"UTF-8\"><br \/>\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><br \/>\n  <title>mySMTP DKIM Checker \u2013 Blog Post<\/title><\/p>\n<style>\n    \/* \u2500\u2500 BASE \u2500\u2500 *\/\n    *, *::before, *::after { box-sizing: border-box; }\n    body {\n      font-family: 'Lucida Sans', 'Lucida Grande', 'Lucida Sans Unicode', Verdana, sans-serif;\n      font-size: 16px;\n      line-height: 1.75;\n      color: #1a1a1a;\n      background: #ffffff;\n      margin: 0;\n      padding: 0;\n    }\n    .post-body {\n      max-width: 820px;\n      margin: 0 auto;\n      padding: 40px 24px 80px;\n    }\n    \/* \u2500\u2500 TYPOGRAPHY \u2500\u2500 *\/\n    h1, h2, h3, h4 {\n      font-family: 'Lucida Sans', 'Lucida Grande', 'Lucida Sans Unicode', Verdana, sans-serif;\n      font-weight: 700;\n      line-height: 1.3;\n      color: #111;\n    }\n    h1 { font-size: 2.2rem; margin-bottom: 0.5rem; }\n    h2 { font-size: 1.55rem; margin-top: 3rem; margin-bottom: 0.75rem; color: #16a34a; }\n    h3 { font-size: 1.15rem; margin-top: 2rem; margin-bottom: 0.5rem; color: #374151; }\n    h4 { font-size: 0.95rem; text-transform: uppercase; letter-spacing: 0.6px; color: #6b7280; margin-bottom: 0.5rem; }\n    p { margin: 0 0 1.1rem; color: #374151; }\n    a { color: #16a34a; text-decoration: underline; }\n    a:hover { color: #15803d; }\n    strong { color: #111; }\n    ul, ol { margin: 0 0 1.1rem 1.5rem; color: #374151; }\n    li { margin-bottom: 0.4rem; }\n    hr {\n      border: none;\n      border-top: 2px solid #e5e7eb;\n      margin: 3rem 0;\n    }\n    \/* \u2500\u2500 INTRO BADGE \u2500\u2500 *\/\n    .intro-eyebrow {\n      display: inline-flex;\n      align-items: center;\n      gap: 6px;\n      background: #dcfce7;\n      color: #166534;\n      font-size: 0.78rem;\n      font-weight: 700;\n      text-transform: uppercase;\n      letter-spacing: 0.7px;\n      padding: 5px 14px;\n      border-radius: 100px;\n      margin-bottom: 16px;\n    }\n    .intro-eyebrow svg { flex-shrink: 0; }\n    \/* \u2500\u2500 META ROW \u2500\u2500 *\/\n    .post-meta {\n      display: flex;\n      flex-wrap: wrap;\n      gap: 12px;\n      align-items: center;\n      font-size: 0.82rem;\n      color: #9ca3af;\n      margin-bottom: 2rem;\n      padding-bottom: 1.5rem;\n      border-bottom: 1px solid #e5e7eb;\n    }\n    .post-meta-tag {\n      background: #f3f4f6;\n      color: #374151;\n      padding: 3px 10px;\n      border-radius: 100px;\n      font-size: 0.75rem;\n      font-weight: 600;\n    }\n    \/* \u2500\u2500 LEAD \u2500\u2500 *\/\n    .lead {\n      font-size: 1.1rem;\n      color: #4b5563;\n      line-height: 1.7;\n      margin-bottom: 2rem;\n      padding-left: 16px;\n      border-left: 4px solid #16a34a;\n    }\n    \/* \u2500\u2500 INFO BOX \u2500\u2500 *\/\n    .info-box {\n      background: #f0fdf4;\n      border: 1px solid #bbf7d0;\n      border-radius: 10px;\n      padding: 20px 22px;\n      margin-bottom: 1.5rem;\n    }\n    .info-box.warn {\n      background: #fffbeb;\n      border-color: #fde68a;\n    }\n    .info-box.info {\n      background: #eff6ff;\n      border-color: #bfdbfe;\n    }\n    .info-box-title {\n      display: flex;\n      align-items: center;\n      gap: 8px;\n      font-weight: 700;\n      font-size: 0.9rem;\n      color: #166534;\n      margin-bottom: 8px;\n    }\n    .info-box.warn .info-box-title { color: #92400e; }\n    .info-box.info .info-box-title { color: #1e40af; }\n    .info-box p { margin: 0; color: #374151; font-size: 0.9rem; }\n    \/* \u2500\u2500 STEP BLOCKS \u2500\u2500 *\/\n    .steps-container {\n      counter-reset: step-counter;\n      margin-bottom: 2rem;\n    }\n    .step-block {\n      display: flex;\n      gap: 20px;\n      margin-bottom: 2rem;\n      position: relative;\n    }\n    .step-block::before {\n      content: '';\n      position: absolute;\n      left: 20px;\n      top: 44px;\n      bottom: -20px;\n      width: 2px;\n      background: #e5e7eb;\n      z-index: 0;\n    }\n    .step-block:last-child::before { display: none; }\n    .step-num {\n      counter-increment: step-counter;\n      width: 40px;\n      height: 40px;\n      border-radius: 50%;\n      background: #16a34a;\n      color: white;\n      font-size: 0.9rem;\n      font-weight: 700;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      flex-shrink: 0;\n      position: relative;\n      z-index: 1;\n    }\n    .step-content { flex: 1; padding-top: 8px; }\n    .step-content h3 { margin-top: 0; margin-bottom: 0.4rem; color: #111; }\n    .step-content p { margin-bottom: 0.7rem; }\n    \/* \u2500\u2500 UI MOCK SNIPPETS \u2500\u2500 *\/\n    .ui-snippet {\n      background: #ffffff;\n      border: 1px solid #e5e7eb;\n      border-radius: 12px;\n      overflow: hidden;\n      margin: 1rem 0 1.5rem;\n      box-shadow: 0 2px 8px rgba(0,0,0,0.06);\n      font-family: 'Lucida Sans', 'Lucida Grande', sans-serif;\n    }\n    .ui-snippet-header {\n      background: #16a34a;\n      color: white;\n      padding: 14px 20px;\n      font-size: 0.85rem;\n      font-weight: 600;\n      display: flex;\n      align-items: center;\n      gap: 8px;\n    }\n    .ui-snippet-header svg { flex-shrink: 0; }\n    .ui-snippet-body {\n      padding: 18px 20px;\n      background: #f9fafb;\n    }\n    \/* Search bar mock *\/\n    .mock-search-bar {\n      display: flex;\n      gap: 8px;\n      flex-wrap: wrap;\n      margin-bottom: 10px;\n    }\n    .mock-input {\n      flex: 1;\n      min-width: 140px;\n      padding: 11px 14px;\n      border: 1px solid #d1d5db;\n      border-radius: 8px;\n      font-size: 0.9rem;\n      font-family: inherit;\n      background: #ffffff;\n      color: #9ca3af;\n    }\n    .mock-btn {\n      padding: 11px 20px;\n      background: #16a34a;\n      color: white;\n      border: none;\n      border-radius: 8px;\n      font-size: 0.9rem;\n      font-weight: 700;\n      cursor: default;\n      display: flex;\n      align-items: center;\n      gap: 6px;\n      font-family: inherit;\n    }\n    .mock-chips {\n      display: flex;\n      flex-wrap: wrap;\n      gap: 6px;\n      margin-top: 10px;\n    }\n    .mock-chip {\n      padding: 4px 12px;\n      background: #f3f4f6;\n      border: 1px solid #e5e7eb;\n      border-radius: 100px;\n      font-size: 0.75rem;\n      font-weight: 600;\n      color: #374151;\n    }\n    .mock-chip.active {\n      background: #dcfce7;\n      border-color: #16a34a;\n      color: #166534;\n    }\n    \/* Status banner mock *\/\n    .mock-status-banner {\n      border-radius: 10px;\n      padding: 18px 20px;\n      display: flex;\n      align-items: flex-start;\n      gap: 14px;\n      margin-bottom: 14px;\n    }\n    .mock-status-banner.found { background: #f0fdf4; border: 1px solid #bbf7d0; }\n    .mock-status-banner.not-found { background: #fff7ed; border: 1px solid #fed7aa; }\n    .mock-status-banner.warn { background: #fffbeb; border: 1px solid #fde68a; }\n    .mock-status-icon {\n      width: 38px;\n      height: 38px;\n      border-radius: 50%;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      flex-shrink: 0;\n    }\n    .mock-status-banner.found .mock-status-icon { background: #16a34a; }\n    .mock-status-banner.not-found .mock-status-icon { background: #f97316; }\n    .mock-status-banner.warn .mock-status-icon { background: #f59e0b; }\n    .mock-status-text h4 {\n      font-size: 1rem;\n      font-weight: 700;\n      margin: 0 0 3px;\n      text-transform: none;\n      letter-spacing: 0;\n      color: #111;\n    }\n    .mock-status-banner.found .mock-status-text h4 { color: #166534; }\n    .mock-status-banner.not-found .mock-status-text h4 { color: #9a3412; }\n    .mock-status-banner.warn .mock-status-text h4 { color: #92400e; }\n    .mock-status-text p { margin: 0; font-size: 0.82rem; color: #4b5563; }\n    \/* Score ring mock *\/\n    .mock-score-row {\n      display: flex;\n      align-items: center;\n      gap: 20px;\n      margin-bottom: 14px;\n      flex-wrap: wrap;\n    }\n    .mock-score-ring { flex-shrink: 0; }\n    .mock-score-info { flex: 1; min-width: 160px; }\n    .mock-score-grade { font-size: 1.9rem; font-weight: 700; color: #16a34a; margin-bottom: 2px; }\n    .mock-score-label { font-size: 0.78rem; color: #6b7280; font-weight: 600; }\n    .mock-score-desc { font-size: 0.82rem; color: #4b5563; margin-top: 4px; }\n    \/* Details grid mock *\/\n    .mock-details-grid {\n      display: grid;\n      grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));\n      gap: 10px;\n      margin-bottom: 14px;\n    }\n    .mock-detail-card {\n      background: #f9fafb;\n      border: 1px solid #e5e7eb;\n      border-radius: 8px;\n      padding: 12px 14px;\n    }\n    .mock-d-label {\n      font-size: 0.68rem;\n      color: #6b7280;\n      font-weight: 700;\n      text-transform: uppercase;\n      letter-spacing: 0.5px;\n      margin-bottom: 4px;\n    }\n    .mock-d-value {\n      font-size: 0.9rem;\n      font-weight: 700;\n      color: #1a1a1a;\n    }\n    .mock-d-sub { font-size: 0.72rem; color: #9ca3af; margin-top: 2px; }\n    .mock-badge {\n      display: inline-flex;\n      align-items: center;\n      gap: 4px;\n      padding: 2px 9px;\n      border-radius: 100px;\n      font-size: 0.72rem;\n      font-weight: 700;\n    }\n    .mock-badge.green { background: #dcfce7; color: #166534; }\n    .mock-badge.yellow { background: #fef9c3; color: #854d0e; }\n    .mock-badge.red { background: #fee2e2; color: #991b1b; }\n    .mock-badge.gray { background: #f3f4f6; color: #374151; }\n    .mock-badge.blue { background: #dbeafe; color: #1e40af; }\n    \/* Health checks mock *\/\n    .mock-health-section {\n      background: #f9fafb;\n      border: 1px solid #e5e7eb;\n      border-radius: 8px;\n      padding: 16px 18px;\n      margin-bottom: 14px;\n    }\n    .mock-health-title {\n      font-size: 0.82rem;\n      font-weight: 700;\n      color: #374151;\n      margin-bottom: 12px;\n      display: flex;\n      justify-content: space-between;\n    }\n    .mock-health-pill {\n      padding: 2px 10px;\n      border-radius: 100px;\n      font-size: 0.75rem;\n      font-weight: 700;\n    }\n    .mock-health-pill.green { background: #dcfce7; color: #166534; }\n    .mock-health-pill.yellow { background: #fef9c3; color: #854d0e; }\n    .mock-health-items { display: flex; flex-direction: column; gap: 8px; }\n    .mock-health-item {\n      display: flex;\n      align-items: flex-start;\n      gap: 8px;\n      font-size: 0.82rem;\n    }\n    .mock-health-dot {\n      width: 8px;\n      height: 8px;\n      border-radius: 50%;\n      flex-shrink: 0;\n      margin-top: 5px;\n    }\n    .mock-health-dot.green { background: #16a34a; }\n    .mock-health-dot.yellow { background: #f59e0b; }\n    .mock-health-dot.red { background: #ef4444; }\n    .mock-h-label { flex: 1; color: #4b5563; line-height: 1.4; }\n    .mock-h-label small { display: block; font-size: 0.72rem; color: #9ca3af; margin-top: 1px; }\n    .mock-h-status { font-weight: 700; font-size: 0.75rem; white-space: nowrap; }\n    .mock-h-status.ok { color: #16a34a; }\n    .mock-h-status.warn { color: #f59e0b; }\n    .mock-h-status.bad { color: #ef4444; }\n    \/* Strength bar mock *\/\n    .mock-strength-wrap { margin-bottom: 12px; }\n    .mock-strength-label {\n      font-size: 0.78rem;\n      font-weight: 700;\n      color: #374151;\n      margin-bottom: 6px;\n      display: flex;\n      justify-content: space-between;\n    }\n    .mock-strength-track { height: 8px; background: #e5e7eb; border-radius: 4px; overflow: hidden; }\n    .mock-strength-fill {\n      height: 100%;\n      border-radius: 4px;\n      background: #16a34a;\n    }\n    \/* Tags grid mock *\/\n    .mock-tags-grid {\n      display: flex;\n      flex-direction: column;\n      border: 1px solid #e5e7eb;\n      border-radius: 8px;\n      overflow: hidden;\n      margin-bottom: 14px;\n    }\n    .mock-tag-row {\n      display: grid;\n      grid-template-columns: 80px 1fr 1.5fr;\n      border-bottom: 1px solid #f3f4f6;\n    }\n    .mock-tag-row:last-child { border-bottom: none; }\n    .mock-tag-key {\n      padding: 9px 12px;\n      font-family: 'Courier New', monospace;\n      font-size: 0.78rem;\n      font-weight: 700;\n      color: #16a34a;\n      background: #f9fafb;\n      border-right: 1px solid #f3f4f6;\n    }\n    .mock-tag-val {\n      padding: 9px 12px;\n      font-size: 0.78rem;\n      color: #1a1a1a;\n      word-break: break-all;\n      font-family: 'Courier New', monospace;\n      border-right: 1px solid #f3f4f6;\n    }\n    .mock-tag-desc { padding: 9px 12px; font-size: 0.78rem; color: #6b7280; }\n    \/* Key box mock *\/\n    .mock-key-box {\n      background: #f9fafb;\n      border: 1px solid #e5e7eb;\n      border-radius: 8px;\n      overflow: hidden;\n      margin-bottom: 14px;\n    }\n    .mock-key-box-header {\n      padding: 10px 14px;\n      background: white;\n      border-bottom: 1px solid #e5e7eb;\n      font-size: 0.8rem;\n      font-weight: 700;\n      color: #374151;\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n    }\n    .mock-copy-btn {\n      padding: 3px 10px;\n      background: white;\n      border: 1px solid #d1d5db;\n      border-radius: 5px;\n      font-size: 0.72rem;\n      font-weight: 700;\n      color: #374151;\n      cursor: default;\n    }\n    .mock-key-content {\n      padding: 12px 14px;\n      font-family: 'Courier New', monospace;\n      font-size: 0.72rem;\n      color: #374151;\n      word-break: break-all;\n      line-height: 1.6;\n    }\n    \/* Multi-selector table mock *\/\n    .mock-selector-table {\n      width: 100%;\n      border-collapse: collapse;\n      font-size: 0.82rem;\n      margin-bottom: 12px;\n    }\n    .mock-selector-table thead th {\n      background: #f9fafb;\n      border-bottom: 1px solid #e5e7eb;\n      padding: 9px 12px;\n      text-align: left;\n      font-weight: 700;\n      color: #374151;\n      font-size: 0.72rem;\n      text-transform: uppercase;\n      letter-spacing: 0.4px;\n    }\n    .mock-selector-table tbody td {\n      padding: 9px 12px;\n      border-bottom: 1px solid #f3f4f6;\n      color: #4b5563;\n    }\n    .mock-selector-table tbody tr:last-child td { border-bottom: none; }\n    .mock-mono { font-family: 'Courier New', monospace; font-size: 0.78rem; color: #1a1a1a; }\n    .mock-status-dot {\n      display: inline-block;\n      width: 8px;\n      height: 8px;\n      border-radius: 50%;\n      margin-right: 5px;\n    }\n    .mock-status-dot.green { background: #16a34a; }\n    .mock-status-dot.gray { background: #d1d5db; }\n    \/* Compare grid mock *\/\n    .mock-compare-grid {\n      display: grid;\n      grid-template-columns: 1fr 1fr;\n      gap: 12px;\n      margin-bottom: 14px;\n    }\n    .mock-compare-card {\n      background: #f9fafb;\n      border: 1px solid #e5e7eb;\n      border-radius: 8px;\n      padding: 12px 14px;\n    }\n    .mock-compare-label {\n      font-size: 0.72rem;\n      font-weight: 700;\n      color: #374151;\n      margin-bottom: 8px;\n    }\n    \/* Section divider mock *\/\n    .mock-section-divider {\n      display: flex;\n      align-items: center;\n      gap: 14px;\n      padding: 14px 18px;\n      background: #f9fafb;\n      border-top: 1px solid #e5e7eb;\n      border-bottom: 1px solid #e5e7eb;\n    }\n    .mock-divider-label {\n      display: flex;\n      align-items: center;\n      gap: 6px;\n      font-size: 0.82rem;\n      font-weight: 700;\n      color: #374151;\n      white-space: nowrap;\n    }\n    .mock-divider-label svg { color: #16a34a; }\n    .mock-divider-line { flex: 1; height: 1px; background: #e5e7eb; }\n    \/* Progress bar mock *\/\n    .mock-progress-wrap { margin-bottom: 12px; }\n    .mock-progress-label {\n      font-size: 0.78rem;\n      font-weight: 700;\n      color: #374151;\n      margin-bottom: 6px;\n      display: flex;\n      justify-content: space-between;\n    }\n    .mock-progress-track { height: 8px; background: #e5e7eb; border-radius: 4px; overflow: hidden; }\n    .mock-progress-fill { height: 100%; border-radius: 4px; background: #16a34a; }\n    \/* \u2500\u2500 CTA BUTTONS \u2500\u2500 *\/\n    .cta-block {\n      display: flex;\n      flex-wrap: wrap;\n      gap: 12px;\n      margin: 2rem 0;\n    }\n    .cta-btn {\n      display: inline-flex;\n      align-items: center;\n      gap: 8px;\n      padding: 14px 26px;\n      border-radius: 8px;\n      font-weight: 700;\n      font-size: 0.95rem;\n      text-decoration: none;\n      font-family: 'Lucida Sans', 'Lucida Grande', sans-serif;\n      transition: opacity 0.15s;\n      cursor: pointer;\n      border: none;\n    }\n    .cta-btn:hover { opacity: 0.88; text-decoration: none; }\n    .cta-btn.primary {\n      background: #16a34a;\n      color: white;\n    }\n    .cta-btn.secondary {\n      background: white;\n      color: #16a34a;\n      border: 2px solid #16a34a;\n    }\n    .cta-btn.dark {\n      background: #111;\n      color: white;\n    }\n    \/* \u2500\u2500 CTA BANNER \u2500\u2500 *\/\n    .cta-banner {\n      background: #f0fdf4;\n      border: 1px solid #bbf7d0;\n      border-radius: 14px;\n      padding: 32px 36px;\n      margin: 3rem 0;\n      text-align: center;\n    }\n    .cta-banner h3 {\n      font-size: 1.35rem;\n      color: #166534;\n      margin-bottom: 0.5rem;\n      margin-top: 0;\n    }\n    .cta-banner p {\n      color: #4b5563;\n      font-size: 0.95rem;\n      margin-bottom: 1.2rem;\n    }\n    .cta-banner-dark {\n      background: #111;\n      border: none;\n      border-radius: 14px;\n      padding: 32px 36px;\n      margin: 3rem 0;\n      text-align: center;\n    }\n    .cta-banner-dark h3 { font-size: 1.35rem; color: #ffffff; margin-bottom: 0.5rem; margin-top: 0; }\n    .cta-banner-dark p { color: #9ca3af; font-size: 0.95rem; margin-bottom: 1.2rem; }\n    \/* \u2500\u2500 FEATURE LIST \u2500\u2500 *\/\n    .feature-grid {\n      display: grid;\n      grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));\n      gap: 14px;\n      margin: 1.5rem 0;\n    }\n    .feature-card {\n      background: #f9fafb;\n      border: 1px solid #e5e7eb;\n      border-radius: 10px;\n      padding: 18px 20px;\n    }\n    .feature-card-icon {\n      width: 36px;\n      height: 36px;\n      background: #dcfce7;\n      border-radius: 8px;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      margin-bottom: 10px;\n    }\n    .feature-card h4 {\n      text-transform: none;\n      letter-spacing: 0;\n      font-size: 0.92rem;\n      color: #111;\n      margin-bottom: 6px;\n      margin-top: 0;\n    }\n    .feature-card p { font-size: 0.82rem; color: #6b7280; margin: 0; }\n    \/* \u2500\u2500 DKIM ANATOMY \u2500\u2500 *\/\n    .dkim-anatomy-box {\n      background: #f9fafb;\n      border: 1px solid #e5e7eb;\n      border-radius: 10px;\n      padding: 18px 20px;\n      margin: 1.5rem 0;\n      font-family: 'Courier New', monospace;\n      font-size: 0.82rem;\n      word-break: break-all;\n      line-height: 2;\n      color: #374151;\n    }\n    .dkim-anatomy-box .tag-highlight {\n      display: inline;\n      padding: 2px 5px;\n      border-radius: 4px;\n      font-weight: 700;\n    }\n    .th-v { background: #dcfce7; color: #166534; }\n    .th-k { background: #dbeafe; color: #1e40af; }\n    .th-p { background: #fef9c3; color: #854d0e; }\n    .th-h { background: #fce7f3; color: #9d174d; }\n    .th-t { background: #f3f4f6; color: #374151; }\n    .th-s { background: #ede9fe; color: #5b21b6; }\n    .anatomy-legend {\n      display: flex;\n      flex-wrap: wrap;\n      gap: 8px;\n      margin-top: 14px;\n    }\n    .anatomy-legend-item {\n      display: flex;\n      align-items: center;\n      gap: 5px;\n      font-size: 0.75rem;\n      font-family: 'Lucida Sans', sans-serif;\n      color: #374151;\n    }\n    .anatomy-legend-dot {\n      width: 10px;\n      height: 10px;\n      border-radius: 2px;\n    }\n    \/* \u2500\u2500 GRADE TABLE \u2500\u2500 *\/\n    .grade-table {\n      width: 100%;\n      border-collapse: collapse;\n      font-size: 0.85rem;\n      margin: 1rem 0 1.5rem;\n    }\n    .grade-table thead th {\n      background: #f9fafb;\n      border-bottom: 1px solid #e5e7eb;\n      padding: 10px 14px;\n      text-align: left;\n      font-weight: 700;\n      color: #374151;\n      font-size: 0.78rem;\n      text-transform: uppercase;\n      letter-spacing: 0.4px;\n    }\n    .grade-table tbody td {\n      padding: 10px 14px;\n      border-bottom: 1px solid #f3f4f6;\n      color: #4b5563;\n      vertical-align: top;\n    }\n    .grade-table tbody tr:last-child td { border-bottom: none; }\n    .grade-pill {\n      display: inline-block;\n      padding: 3px 10px;\n      border-radius: 100px;\n      font-size: 0.8rem;\n      font-weight: 700;\n    }\n    .grade-A { background: #dcfce7; color: #166534; }\n    .grade-B { background: #d9f99d; color: #3f6212; }\n    .grade-C { background: #fef9c3; color: #854d0e; }\n    .grade-D { background: #ffedd5; color: #9a3412; }\n    .grade-F { background: #fee2e2; color: #991b1b; }\n    \/* \u2500\u2500 CALLOUT \u2500\u2500 *\/\n    .callout {\n      display: flex;\n      gap: 12px;\n      background: #eff6ff;\n      border: 1px solid #bfdbfe;\n      border-radius: 10px;\n      padding: 16px 20px;\n      margin: 1.5rem 0;\n      font-size: 0.9rem;\n      color: #1e3a5f;\n    }\n    .callout svg { flex-shrink: 0; margin-top: 1px; }\n    \/* \u2500\u2500 SECTION LABEL \u2500\u2500 *\/\n    .section-eyebrow {\n      display: flex;\n      align-items: center;\n      gap: 8px;\n      font-size: 0.75rem;\n      font-weight: 700;\n      text-transform: uppercase;\n      letter-spacing: 0.7px;\n      color: #16a34a;\n      margin-bottom: 6px;\n    }\n    \/* \u2500\u2500 RELATED TOOLS \u2500\u2500 *\/\n    .related-tools {\n      display: grid;\n      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n      gap: 12px;\n      margin: 1.5rem 0;\n    }\n    .related-tool-card {\n      border: 1px solid #e5e7eb;\n      border-radius: 10px;\n      padding: 16px 18px;\n      text-decoration: none;\n      transition: border-color 0.15s, box-shadow 0.15s;\n      display: block;\n      background: white;\n    }\n    .related-tool-card:hover {\n      border-color: #16a34a;\n      box-shadow: 0 2px 8px rgba(22,163,74,0.1);\n      text-decoration: none;\n    }\n    .related-tool-card .tool-name {\n      font-weight: 700;\n      color: #111;\n      font-size: 0.9rem;\n      margin-bottom: 4px;\n    }\n    .related-tool-card p {\n      font-size: 0.78rem;\n      color: #6b7280;\n      margin: 0;\n    }\n  <\/style>\n<p><\/head><br \/>\n<body><br \/>\n  <!-- \u2500\u2500\u2500 EYEBROW & TITLE \u2500\u2500\u2500 --><br \/>\n    <svg width=\"12\" height=\"12\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><br \/>\n    New Tool \u2014 Email Deliverability Toolkit<\/p>\n<h1>Introducing the mySMTP DKIM Checker: Inspect, Verify &amp; Score Your DKIM Records in Seconds<\/h1>\n<p>    Email Authentication<br \/>\n    DKIM<br \/>\n    Deliverability<br \/>\n    Free Tool<\/p>\n<p>\n    DKIM is one of the three pillars of email authentication \u2014 and one of the easiest things to get silently wrong. A missing record, a weak key, or a mismatched selector can quietly tank your deliverability without a single bounce or error message. Our new DKIM Checker gives you a complete picture of your DKIM setup, in real time, directly from your browser.\n  <\/p>\n<p>  <!-- \u2500\u2500\u2500 CTA: TOP \u2500\u2500\u2500 --><br \/>\n    <a href=\"https:\/\/toolbox.smtp.ai\/#dkim-checker\"><br \/>\n      <svg width=\"15\" height=\"15\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" viewBox=\"0 0 24 24\"><circle cx=\"11\" cy=\"11\" r=\"8\"\/><path d=\"M21 21l-4.35-4.35\"\/><\/svg><br \/>\n      Open the DKIM Checker<br \/>\n    <\/a><br \/>\n    <a href=\"https:\/\/toolbox.smtp.ai\"><br \/>\n      Browse the Full Toolbox<br \/>\n    <\/a><\/p>\n<hr>\n<p>  <!-- \u2500\u2500\u2500 WHAT IS DKIM \u2500\u2500\u2500 --><br \/>\n    <svg width=\"13\" height=\"13\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"12\"\/><line x1=\"12\" y1=\"16\" x2=\"12.01\" y2=\"16\"\/><\/svg><br \/>\n    Background<\/p>\n<h2>What Is DKIM?<\/h2>\n<p><strong>DKIM<\/strong> (DomainKeys Identified Mail) is an email authentication standard that allows a sending domain to cryptographically sign outgoing messages. When an email arrives at a recipient&#8217;s mail server, that server queries DNS to retrieve the sender&#8217;s public key and uses it to verify the signature attached to the message.<\/p>\n<p>If the signature is valid, it proves two things:<\/p>\n<ul>\n<li>The email genuinely originated from (or was authorized by) the stated domain.<\/li>\n<li>The message content was not tampered with in transit.<\/li>\n<\/ul>\n<p>Without a valid DKIM signature, your emails are more likely to be flagged as suspicious by Gmail, Outlook, Yahoo, and other major providers \u2014 even if you have a perfect IP reputation. DKIM also feeds directly into <strong>DMARC<\/strong>, meaning a broken DKIM record can cause DMARC failures and result in emails being quarantined or rejected.<\/p>\n<p>      <svg width=\"15\" height=\"15\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" viewBox=\"0 0 24 24\"><path d=\"M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z\"\/><line x1=\"12\" y1=\"9\" x2=\"12\" y2=\"13\"\/><line x1=\"12\" y1=\"17\" x2=\"12.01\" y2=\"17\"\/><\/svg><br \/>\n      DKIM is invisible when it breaks<\/p>\n<p>A DKIM misconfiguration doesn&#8217;t generate bounce messages or delivery errors you can see. Emails simply get silently downranked or rejected at the inbox level \u2014 which is why regular, proactive checks matter.<\/p>\n<p>  <!-- \u2500\u2500\u2500 ANATOMY \u2500\u2500\u2500 --><\/p>\n<h2>Anatomy of a DKIM Record<\/h2>\n<p>A DKIM public key is stored as a <strong>TXT record<\/strong> in DNS, at a hostname structured like this:<\/p>\n<p>    <strong>mysmtp<\/strong>._domainkey.<strong>yourdomain.com<\/strong><\/p>\n<p>The record itself is a semicolon-delimited string of tags. Here is a real-world example, colour-coded by tag:<\/p>\n<p>    v=DKIM1; k=rsa; h=sha256; t=s; s=email; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA&#8230;<br \/>\n       v= Version<br \/>\n       k= Key type<br \/>\n       h= Hash algorithm<br \/>\n       t= Flags<br \/>\n       s= Service type<br \/>\n       p= Public key (Base64)<\/p>\n<p>The most critical tag is <code>p=<\/code> \u2014 the base64-encoded public key. Its length determines your key strength (in bits), which directly affects your security grade. A 2048-bit or larger RSA key is the current recommendation.<\/p>\n<p>  <!-- \u2500\u2500\u2500 WHAT THE TOOL DOES \u2500\u2500\u2500 --><\/p>\n<h2>What the mySMTP DKIM Checker Does<\/h2>\n<p>The tool is a single, self-contained browser application \u2014 no login, no server, no data sent anywhere except to Google&#8217;s public DNS-over-HTTPS service. It covers three distinct workflows:<\/p>\n<p>        <svg width=\"18\" height=\"18\" fill=\"none\" stroke=\"#16a34a\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><circle cx=\"11\" cy=\"11\" r=\"8\"\/><path d=\"M21 21l-4.35-4.35\"\/><\/svg><\/p>\n<h4>Single Record Lookup<\/h4>\n<p>Enter any domain and selector to retrieve and fully analyze one DKIM record. Outputs a score, grade, full tag breakdown, key strength meter, and health checks.<\/p>\n<p>        <svg width=\"18\" height=\"18\" fill=\"none\" stroke=\"#16a34a\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><rect x=\"3\" y=\"3\" width=\"7\" height=\"7\"\/><rect x=\"14\" y=\"3\" width=\"7\" height=\"7\"\/><rect x=\"3\" y=\"14\" width=\"7\" height=\"7\"\/><rect x=\"14\" y=\"14\" width=\"7\" height=\"7\"\/><\/svg><\/p>\n<h4>Multi-Selector Scanner<\/h4>\n<p>Automatically tests a domain against a curated list of common DKIM selectors \u2014 useful for discovering active, legacy, or forgotten keys.<\/p>\n<p>        <svg width=\"18\" height=\"18\" fill=\"none\" stroke=\"#16a34a\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><line x1=\"18\" y1=\"20\" x2=\"18\" y2=\"10\"\/><line x1=\"12\" y1=\"20\" x2=\"12\" y2=\"4\"\/><line x1=\"6\" y1=\"20\" x2=\"6\" y2=\"14\"\/><\/svg><\/p>\n<h4>Key Comparison<\/h4>\n<p>Side-by-side comparison of two DKIM records across different domains or selectors \u2014 ideal for key rotation audits and migrations.<\/p>\n<hr>\n<p>  <!-- \u2500\u2500\u2500 STEP-BY-STEP: SECTION 1 \u2500\u2500\u2500 --><br \/>\n    <svg width=\"13\" height=\"13\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" viewBox=\"0 0 24 24\"><polyline points=\"9 18 15 12 9 6\"\/><\/svg><br \/>\n    Tutorial \u2014 Section 1<\/p>\n<h2>How to Use Section 1: Single DKIM Record Lookup<\/h2>\n<p>This is the main workhorse of the tool. In three fields and one click, you get a full DKIM diagnosis.<\/p>\n<p>    <!-- STEP 1 --><br \/>\n      1<\/p>\n<h3>Enter your domain and DKIM selector<\/h3>\n<p>Type your sending domain (e.g. <code>yourdomain.com<\/code>) in the first field. In the selector field, enter the DKIM selector your mail provider configured \u2014 for mySMTP users, this is typically <strong>mysmtp<\/strong> or <strong>mysmtp2<\/strong>.<\/p>\n<p>Not sure what your selector is? Check your email headers in Gmail by clicking <em>More \u2192 Show original<\/em> and searching for <code>DKIM-Signature:<\/code> \u2014 the <code>s=<\/code> tag is your selector.<\/p>\n<p>            <svg width=\"14\" height=\"14\" fill=\"none\" stroke=\"white\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><circle cx=\"11\" cy=\"11\" r=\"8\"\/><path d=\"M21 21l-4.35-4.35\"\/><\/svg><br \/>\n            Single Record Lookup \u2014 Input<br \/>\n              <input type=\"text\" value=\"yourdomain.com\" readonly style=\"max-width:300px;\"><br \/>\n              <input type=\"text\" value=\"mysmtp\" readonly style=\"max-width:160px;\"><br \/>\n              <button><br \/>\n                <svg width=\"14\" height=\"14\" fill=\"none\" stroke=\"white\" stroke-width=\"2.5\" viewBox=\"0 0 24 24\"><circle cx=\"11\" cy=\"11\" r=\"8\"\/><path d=\"M21 21l-4.35-4.35\"\/><\/svg><br \/>\n                Check DKIM<br \/>\n              <\/button><br \/>\n            Tip: The selector is the part before <strong style=\"color:#6b7280;\">._domainkey.<\/strong> in the DNS record name.<br \/>\n              Quick selectors:<br \/>\n              \u2726 mysmtp<br \/>\n              \u2726 mysmtp2<br \/>\n              selector1<br \/>\n              selector2<br \/>\n              mail<br \/>\n              dkim<\/p>\n<p>You can also click any of the <strong>quick selector chips<\/strong> below the search bar to auto-fill the selector field. The green <strong>\u2726 mysmtp<\/strong> chips are highlighted as the default selectors for mySMTP customers.<\/p>\n<p>    <!-- STEP 2 --><br \/>\n      2<\/p>\n<h3>Read the status banner<\/h3>\n<p>After clicking <strong>Check DKIM<\/strong>, the first thing you&#8217;ll see is a status banner confirming whether the record was found:<\/p>\n<p>                <svg width=\"18\" height=\"18\" fill=\"none\" stroke=\"white\" stroke-width=\"2.5\" viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><\/p>\n<h4>DKIM Record Found<\/h4>\n<p>mysmtp._domainkey.yourdomain.com \u2014 RSA-2048 key \u00b7 SHA-256 \u00b7 Strict subdomain flag<\/p>\n<p>                <svg width=\"18\" height=\"18\" fill=\"none\" stroke=\"white\" stroke-width=\"2.5\" viewBox=\"0 0 24 24\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"\/><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"\/><\/svg><\/p>\n<h4>No DKIM Record Found<\/h4>\n<p>selector1._domainkey.yourdomain.com \u2014 No TXT record was returned by DNS for this selector.<\/p>\n<p>A green &#8220;found&#8221; banner means the DNS lookup succeeded and a DKIM record exists. An orange &#8220;not found&#8221; banner means the selector doesn&#8217;t resolve \u2014 either the record was never created, or the selector name is wrong.<\/p>\n<p>    <!-- STEP 3 --><br \/>\n      3<\/p>\n<h3>Check your score and grade<\/h3>\n<p>Beneath the status banner you&#8217;ll find a <strong>score ring<\/strong> \u2014 a circular gauge showing your DKIM health score out of 100, and a letter grade from A to F.<\/p>\n<p>                <svg width=\"88\" height=\"88\" viewBox=\"0 0 88 88\">\n                  <circle cx=\"44\" cy=\"44\" r=\"36\" fill=\"none\" stroke=\"#e5e7eb\" stroke-width=\"8\"\/>\n                  <circle cx=\"44\" cy=\"44\" r=\"36\" fill=\"none\" stroke=\"#16a34a\" stroke-width=\"8\"\n                    stroke-dasharray=\"188\" stroke-dashoffset=\"28\"\n                    stroke-linecap=\"round\" transform=\"rotate(-90 44 44)\"\/>\n                  <text x=\"44\" y=\"49\" text-anchor=\"middle\" font-size=\"18\" font-weight=\"700\" fill=\"#16a34a\" font-family=\"Lucida Sans,sans-serif\">85<\/text>\n                <\/svg><br \/>\n                Grade A<br \/>\n                DKIM Health Score: 85 \/ 100<br \/>\n                Strong configuration. RSA-2048 key, SHA-256 hash, and standard flags in place.<\/p>\n<p>The score is computed from a weighted combination of key strength, algorithm choice, hash algorithm, flag settings, and overall record validity. Here&#8217;s what each grade means:<\/p>\n<table>\n<thead>\n<tr>\n<th>Grade<\/th>\n<th>Score Range<\/th>\n<th>What it means<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>A<\/td>\n<td>90\u2013100<\/td>\n<td>Excellent. Modern key size, best-practice algorithms, no issues.<\/td>\n<\/tr>\n<tr>\n<td>B<\/td>\n<td>75\u201389<\/td>\n<td>Good. Minor improvements possible (e.g., key could be upgraded to 2048-bit).<\/td>\n<\/tr>\n<tr>\n<td>C<\/td>\n<td>50\u201374<\/td>\n<td>Fair. Issues present \u2014 weak key or deprecated hash algorithm detected.<\/td>\n<\/tr>\n<tr>\n<td>D<\/td>\n<td>25\u201349<\/td>\n<td>Poor. Significant vulnerabilities, likely a 512-bit or 1024-bit key.<\/td>\n<\/tr>\n<tr>\n<td>F<\/td>\n<td>0\u201324<\/td>\n<td>Critical. Key may be revoked (empty p=), or MD5\/SHA-1 hash in use.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>    <!-- STEP 4 --><br \/>\n      4<\/p>\n<h3>Review the tag breakdown<\/h3>\n<p>Below the score, every DKIM tag in the record is parsed and displayed in a structured table. Each row shows the tag name, its value, and a plain-English description of what it means:<\/p>\n<p>            <svg width=\"14\" height=\"14\" fill=\"none\" stroke=\"white\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><polyline points=\"4 7 4 4 20 4 20 7\"\/><line x1=\"9\" y1=\"20\" x2=\"15\" y2=\"20\"\/><line x1=\"12\" y1=\"4\" x2=\"12\" y2=\"20\"\/><\/svg><br \/>\n            Tag Field Breakdown<br \/>\n                v=<br \/>\n                DKIM1<br \/>\n                DKIM version \u2014 must be DKIM1<br \/>\n                k=<br \/>\n                rsa<br \/>\n                Key algorithm \u2014 RSA (default)<br \/>\n                h=<br \/>\n                sha256<br \/>\n                Accepted hash algorithms<br \/>\n                t=<br \/>\n                s<br \/>\n                Flag: strict subdomain matching<br \/>\n                p=<br \/>\n                MIIBIjANBgkq&#8230;<br \/>\n                Base64 RSA public key (2048-bit)<br \/>\n    <!-- STEP 5 --><br \/>\n      5<\/p>\n<h3>Inspect the detail cards and key strength meter<\/h3>\n<p>The detail cards give you at-a-glance values for the most important DKIM attributes. Below them, the <strong>key strength meter<\/strong> shows visually how your RSA key size compares to current best practices:<\/p>\n<p>                Key Type<br \/>\n                RSA<br \/>\n                k= tag<br \/>\n                Key Size<br \/>\n                2048-bit<br \/>\n                Recommended<br \/>\n                Hash Algorithm<br \/>\n                SHA-256<br \/>\n                Secure<br \/>\n                Selector<br \/>\n                mysmtp<br \/>\n                mysmtp._domainkey<br \/>\n                Key Strength \u2014 RSA 2048-bit<br \/>\n                Strong<br \/>\n            <svg width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><br \/>\n            RSA key size recommendations<\/p>\n<p><strong>2048-bit<\/strong> is the current industry minimum. <strong>4096-bit<\/strong> offers stronger security but can cause DNS lookup failures in some environments due to UDP packet size limits. <strong>1024-bit or smaller<\/strong> is considered broken and should be rotated immediately.<\/p>\n<p>    <!-- STEP 6 --><br \/>\n      6<\/p>\n<h3>Review the health checks<\/h3>\n<p>The health check panel runs a series of automated tests against your DKIM record and flags any issues with a coloured dot and status badge:<\/p>\n<p>            <svg width=\"14\" height=\"14\" fill=\"none\" stroke=\"white\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><path d=\"M22 11.08V12a10 10 0 11-5.93-9.14\"\/><polyline points=\"22 4 12 14.01 9 11.01\"\/><\/svg><br \/>\n            Health Checks<br \/>\n                Security Checks<br \/>\n                85 \/ 100<br \/>\n                  DKIM version tag (v=DKIM1)<small>Required tag \u2014 must be exactly DKIM1<\/small><br \/>\n                  \u2713 Present<br \/>\n                  Key algorithm (k=rsa)<small>RSA is the standard; Ed25519 is emerging<\/small><br \/>\n                  \u2713 RSA<br \/>\n                  Key size \u2014 2048-bit<small>2048-bit meets current security requirements<\/small><br \/>\n                  \u2713 Adequate<br \/>\n                  Hash algorithm (h=sha256)<small>SHA-1 deprecated; SHA-256 is recommended<\/small><br \/>\n                  \u26a0 Check config<br \/>\n                  Public key present (p= tag)<small>Non-empty p= confirms the key is active<\/small><br \/>\n                  \u2713 Key active<\/p>\n<p>Green dots are passing checks. Yellow dots are warnings \u2014 things that work but could be improved. Red dots are failures that should be addressed immediately.<\/p>\n<p>  <!-- end .steps-container --><br \/>\n  <!-- \u2500\u2500\u2500 CTA BANNER 1 \u2500\u2500\u2500 --><\/p>\n<h3>Check your DKIM record right now \u2014 it takes under 10 seconds<\/h3>\n<p>No login required. No data stored. Works entirely in your browser.<\/p>\n<p>      <a href=\"https:\/\/toolbox.smtp.ai\/#dkim-checker\"><br \/>\n        <svg width=\"15\" height=\"15\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" viewBox=\"0 0 24 24\"><circle cx=\"11\" cy=\"11\" r=\"8\"\/><path d=\"M21 21l-4.35-4.35\"\/><\/svg><br \/>\n        Open the DKIM Checker<br \/>\n      <\/a><\/p>\n<hr>\n<p>  <!-- \u2500\u2500\u2500 SECTION 2: MULTI-SELECTOR SCANNER \u2500\u2500\u2500 --><br \/>\n    <svg width=\"13\" height=\"13\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" viewBox=\"0 0 24 24\"><polyline points=\"9 18 15 12 9 6\"\/><\/svg><br \/>\n    Tutorial \u2014 Section 2<\/p>\n<h2>Multi-Selector Scanner: Discover All Active Keys on a Domain<\/h2>\n<p>Most domains accumulate DKIM selectors over time \u2014 different providers, migrations, A\/B tests, or simply selectors that were created and forgotten. The Multi-Selector Scanner automates the discovery process by testing a domain against a comprehensive list of known selectors simultaneously.<\/p>\n<p>      1<\/p>\n<h3>Enter the domain and click Scan<\/h3>\n<p>Just the domain name \u2014 no selector needed. The tool handles the rest.<\/p>\n<p>            <svg width=\"14\" height=\"14\" fill=\"none\" stroke=\"white\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><rect x=\"3\" y=\"3\" width=\"7\" height=\"7\"\/><rect x=\"14\" y=\"3\" width=\"7\" height=\"7\"\/><rect x=\"3\" y=\"14\" width=\"7\" height=\"7\"\/><rect x=\"14\" y=\"14\" width=\"7\" height=\"7\"\/><\/svg><br \/>\n            Multi-Selector Scanner<br \/>\n              <input type=\"text\" value=\"yourdomain.com\" readonly style=\"max-width:300px;\"><br \/>\n              <button><br \/>\n                <svg width=\"14\" height=\"14\" fill=\"none\" stroke=\"white\" stroke-width=\"2.5\" viewBox=\"0 0 24 24\"><polyline points=\"23 4 23 10 17 10\"\/><polyline points=\"1 20 1 14 7 14\"\/><path d=\"M3.51 9a9 9 0 0114.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0020.49 15\"\/><\/svg><br \/>\n                Scan All Selectors<br \/>\n              <\/button><br \/>\n                Scanning selectors\u2026<br \/>\n                18 \/ 30<\/p>\n<p>A live progress bar tracks the scan as it runs. Each selector is queried in parallel where possible, so the full scan completes in a few seconds.<\/p>\n<p>      2<\/p>\n<h3>Review the results table<\/h3>\n<p>Once the scan completes, you&#8217;ll see a results table listing every selector tested, its status, and \u2014 for found records \u2014 the key type and grade:<\/p>\n<p>            <svg width=\"14\" height=\"14\" fill=\"none\" stroke=\"white\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><path d=\"M9 3H5a2 2 0 00-2 2v4m6-6h10a2 2 0 012 2v4M9 3v18m0 0h10a2 2 0 002-2V9M9 21H5a2 2 0 01-2-2V9m0 0h18\"\/><\/svg><br \/>\n            Scan Results<\/p>\n<table>\n<thead>\n<tr>\n<th>Selector<\/th>\n<th>Status<\/th>\n<th>Key Type<\/th>\n<th>Grade<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>mysmtp<\/td>\n<td>Found<\/td>\n<td>RSA-2048<\/td>\n<td>A<\/td>\n<\/tr>\n<tr>\n<td>mysmtp2<\/td>\n<td>Found<\/td>\n<td>RSA-2048<\/td>\n<td>A<\/td>\n<\/tr>\n<tr>\n<td>selector1<\/td>\n<td>Not found<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td>mail<\/td>\n<td>Not found<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Found selectors can be expanded to reveal the full record analysis inline. This is especially useful when auditing a domain that has been through multiple email provider changes.<\/p>\n<p>  <!-- end .steps-container --><br \/>\n    <svg width=\"18\" height=\"18\" fill=\"none\" stroke=\"#1e40af\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"12\"\/><line x1=\"12\" y1=\"16\" x2=\"12.01\" y2=\"16\"\/><\/svg><br \/>\n    <strong>Why does this matter?<\/strong> Old or forgotten DKIM selectors with weak keys remain exploitable even if you&#8217;ve since upgraded to a new one. The scanner helps you find and revoke these legacy records.<\/p>\n<hr>\n<p>  <!-- \u2500\u2500\u2500 SECTION 3: KEY COMPARISON \u2500\u2500\u2500 --><br \/>\n    <svg width=\"13\" height=\"13\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" viewBox=\"0 0 24 24\"><polyline points=\"9 18 15 12 9 6\"\/><\/svg><br \/>\n    Tutorial \u2014 Section 3<\/p>\n<h2>Key Comparison: Audit Key Rotation and Migrations<\/h2>\n<p>When you rotate a DKIM key \u2014 or when you&#8217;re migrating from one email provider to another \u2014 you need to verify that the old and new records are distinct, that algorithms match, and that tags are consistent. The Key Comparison section does this automatically.<\/p>\n<p>      1<\/p>\n<h3>Fill in Record A and Record B<\/h3>\n<p>Enter the domain and selector for each record you want to compare. These can be the same domain with two different selectors, or two entirely different domains.<\/p>\n<p>            <svg width=\"14\" height=\"14\" fill=\"none\" stroke=\"white\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><line x1=\"18\" y1=\"20\" x2=\"18\" y2=\"10\"\/><line x1=\"12\" y1=\"20\" x2=\"12\" y2=\"4\"\/><line x1=\"6\" y1=\"20\" x2=\"6\" y2=\"14\"\/><\/svg><br \/>\n            Key Comparison \u2014 Input<br \/>\n                Record A<br \/>\n                <input type=\"text\" value=\"domain-a.com\" readonly style=\"width:100%;margin-bottom:8px;\"><br \/>\n                <input type=\"text\" value=\"mysmtp\" readonly style=\"width:100%;\"><br \/>\n                Record B<br \/>\n                <input type=\"text\" value=\"domain-b.com\" readonly style=\"width:100%;margin-bottom:8px;\"><br \/>\n                <input type=\"text\" value=\"mysmtp\" readonly style=\"width:100%;\"><br \/>\n            <button style=\"margin-top:4px;\"><br \/>\n              <svg width=\"14\" height=\"14\" fill=\"none\" stroke=\"white\" stroke-width=\"2.5\" viewBox=\"0 0 24 24\"><polyline points=\"16 3 21 3 21 8\"\/><line x1=\"4\" y1=\"20\" x2=\"21\" y2=\"3\"\/><polyline points=\"21 16 21 21 16 21\"\/><line x1=\"15\" y1=\"15\" x2=\"21\" y2=\"21\"\/><\/svg><br \/>\n              Compare Records<br \/>\n            <\/button><br \/>\n      2<\/p>\n<h3>Interpret the comparison result<\/h3>\n<p>The tool fetches both records, scores each one individually, and then runs a structured comparison across every tag. Key attributes checked:<\/p>\n<ul>\n<li><strong>Public key match<\/strong> \u2014 are both records using the same private\/public key pair?<\/li>\n<li><strong>Algorithm match<\/strong> \u2014 do both use the same key type (RSA vs Ed25519)?<\/li>\n<li><strong>Hash algorithm match<\/strong> \u2014 are the same hashing algorithms accepted?<\/li>\n<li><strong>Tag-level diff<\/strong> \u2014 any tag that differs between the two records is listed explicitly.<\/li>\n<\/ul>\n<p>            <svg width=\"14\" height=\"14\" fill=\"none\" stroke=\"white\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><path d=\"M22 11.08V12a10 10 0 11-5.93-9.14\"\/><polyline points=\"22 4 12 14.01 9 11.01\"\/><\/svg><br \/>\n            Comparison Result<br \/>\n              Comparison Result<br \/>\n                  Public key (p=)<small>Different public keys \u2014 distinct key pairs<\/small><br \/>\n                  \u2717 Different<br \/>\n                  Key algorithm (k=)<small>A: RSA \u00b7 B: RSA<\/small><br \/>\n                  \u2713 Match<br \/>\n                  Hash algorithms (h=)<small>A: sha256 \u00b7 B: sha256<\/small><br \/>\n                  \u2713 Match<\/p>\n<p>In the example above, the public keys differ (expected after a rotation) but the algorithm and hash settings match \u2014 confirming a clean migration.<\/p>\n<p>  <!-- end .steps-container --><\/p>\n<hr>\n<p>  <!-- \u2500\u2500\u2500 COMMON ISSUES \u2500\u2500\u2500 --><\/p>\n<h2>Common DKIM Issues and How to Fix Them<\/h2>\n<p>The tool will surface these automatically, but it helps to understand what you&#8217;re looking at:<\/p>\n<p>      <svg width=\"15\" height=\"15\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" viewBox=\"0 0 24 24\"><path d=\"M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z\"\/><line x1=\"12\" y1=\"9\" x2=\"12\" y2=\"13\"\/><line x1=\"12\" y1=\"17\" x2=\"12.01\" y2=\"17\"\/><\/svg><br \/>\n      Empty p= tag (Revoked Key)<\/p>\n<p>An empty <code>p=<\/code> tag means the key has been intentionally revoked. The record exists in DNS, but it actively signals to receiving servers that the key is no longer valid. Any mail signed with the old key will fail verification. <strong>Fix:<\/strong> Add the new public key to your DNS, or remove the record entirely if the selector is no longer used.<\/p>\n<p>      <svg width=\"15\" height=\"15\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" viewBox=\"0 0 24 24\"><path d=\"M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z\"\/><line x1=\"12\" y1=\"9\" x2=\"12\" y2=\"13\"\/><line x1=\"12\" y1=\"17\" x2=\"12.01\" y2=\"17\"\/><\/svg><br \/>\n      1024-bit or Smaller RSA Key<\/p>\n<p>Keys of 1024 bits or smaller can be factored with modern computing resources and are no longer considered secure. Gmail and other providers may start penalizing senders using these keys. <strong>Fix:<\/strong> Generate a new 2048-bit key pair through your ESP, publish the new public key under a new selector, and retire the old one.<\/p>\n<p>      <svg width=\"15\" height=\"15\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" viewBox=\"0 0 24 24\"><path d=\"M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z\"\/><line x1=\"12\" y1=\"9\" x2=\"12\" y2=\"13\"\/><line x1=\"12\" y1=\"17\" x2=\"12.01\" y2=\"17\"\/><\/svg><br \/>\n      Wrong Selector<\/p>\n<p>If you enter the correct domain but get a &#8220;not found&#8221; result, the selector name you&#8217;re using doesn&#8217;t match what&#8217;s in DNS. <strong>Fix:<\/strong> Log into your ESP dashboard, find the DKIM configuration, and copy the selector name exactly. Case matters.<\/p>\n<p>      <svg width=\"15\" height=\"15\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"12\"\/><line x1=\"12\" y1=\"16\" x2=\"12.01\" y2=\"16\"\/><\/svg><br \/>\n      DNS Propagation Delay<\/p>\n<p>After adding or changing a DKIM record, DNS changes can take anywhere from a few minutes to 48 hours to propagate globally. If you just made a change and the tool isn&#8217;t finding it yet, wait and try again. Most changes propagate within 30\u201360 minutes.<\/p>\n<hr>\n<p>  <!-- \u2500\u2500\u2500 MYSMTP CONTEXT \u2500\u2500\u2500 --><\/p>\n<h2>Using the DKIM Checker with mySMTP<\/h2>\n<p>If you&#8217;re sending email through <strong>mySMTP<\/strong>, your DKIM selectors will typically be <strong>mysmtp<\/strong> and <strong>mysmtp2<\/strong> \u2014 which is why these are highlighted with a special chip in the tool&#8217;s interface.<\/p>\n<p>To verify your mySMTP DKIM setup:<\/p>\n<ol>\n<li>Open the DKIM Checker.<\/li>\n<li>Enter your sending domain in the first field.<\/li>\n<li>Click the <strong>\u2726 mysmtp<\/strong> chip to auto-fill the selector.<\/li>\n<li>Click <strong>Check DKIM<\/strong>.<\/li>\n<li>You should see a green &#8220;DKIM Record Found&#8221; banner and a Grade A or B score.<\/li>\n<\/ol>\n<p>If the check fails, contact mySMTP support \u2014 we&#8217;ll help you verify that your DNS records are correctly configured and that the DKIM keys match what your account expects.<\/p>\n<h3>Need reliable SMTP delivery with DKIM built in?<\/h3>\n<p>mySMTP handles DKIM signing, key rotation, and deliverability monitoring \u2014 so you can focus on sending, not troubleshooting DNS records.<\/p>\n<p>      <a href=\"https:\/\/mysmtp.com\/pricing\/marketing-transactional-emails\"><br \/>\n        <svg width=\"15\" height=\"15\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" viewBox=\"0 0 24 24\"><path d=\"M20 12V22H4V12\"\/><path d=\"M22 7H2v5h20V7z\"\/><path d=\"M12 22V7\"\/><path d=\"M12 7H7.5a2.5 2.5 0 010-5C11 2 12 7 12 7z\"\/><path d=\"M12 7h4.5a2.5 2.5 0 000-5C13 2 12 7 12 7z\"\/><\/svg><br \/>\n        See mySMTP Plans<br \/>\n      <\/a><br \/>\n      <a href=\"https:\/\/toolbox.smtp.ai\" style=\"background:transparent;color:#86efac;border-color:#86efac;\"><br \/>\n        Browse the Toolkit<br \/>\n      <\/a><br \/>\n  <!-- \u2500\u2500\u2500 RELATED TOOLS \u2500\u2500\u2500 --><\/p>\n<h2>Other Tools in the mySMTP Deliverability Toolkit<\/h2>\n<p>The DKIM Checker is one of 15+ free browser tools built for email deliverability. Here are some tools that pair naturally with a DKIM check:<\/p>\n<p>    <a href=\"https:\/\/toolbox.smtp.ai\/#spf-validator\"><br \/>\n      SPF Validator<\/p>\n<p>Parse and validate your SPF record, check for lookup limits, and detect common misconfigurations.<\/p>\n<p>    <\/a><br \/>\n    <a href=\"https:\/\/toolbox.smtp.ai\/#dmarc-wizard\"><br \/>\n      DMARC Wizard<\/p>\n<p>Create DMARC records for any domain, manage policies and feedback addresses, using current industry standards. <\/p>\n<p>    <\/a><br \/>\n    <a href=\"https:\/\/toolbox.smtp.ai\/#sender-checklist\"><br \/>\n      Sender Checklist<\/p>\n<p>A comprehensive pre-send checklist covering DKIM, SPF, DMARC, IP reputation, and more.<\/p>\n<p>    <\/a><br \/>\n  <!-- \u2500\u2500\u2500 FINAL CTA \u2500\u2500\u2500 --><\/p>\n<hr>\n<h3>Ready to check your DKIM?<\/h3>\n<p>Open the tool, enter your domain, and get your results in under 10 seconds. No account needed.<\/p>\n<p>      <a href=\"https:\/\/toolbox.smtp.ai\/#dkim-checker\"><br \/>\n        <svg width=\"15\" height=\"15\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" viewBox=\"0 0 24 24\"><circle cx=\"11\" cy=\"11\" r=\"8\"\/><path d=\"M21 21l-4.35-4.35\"\/><\/svg><br \/>\n        Open the DKIM Checker<br \/>\n      <\/a><br \/>\n      <a href=\"https:\/\/toolbox.smtp.ai\"><br \/>\n        Explore the Full Toolbox<br \/>\n      <\/a><br \/>\n<!-- end .post-body --><br \/>\n<\/body><br \/>\n<\/html><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A plain-language guide to what happens behind the scenes every time you look up a DKIM record.<\/p>\n","protected":false},"author":3,"featured_media":2069,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_oct_exclude_from_cache":false,"footnotes":""},"categories":[3],"tags":[27],"class_list":["post-2028","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-deliverability","tag-deliverability"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>The mySMTP DKIM Checker \u2014 Explained - mySMTP BLOG<\/title>\n<meta name=\"description\" content=\"Learn how the mySMTP DKIM Checker works and how to verify your DKIM setup to improve email deliverability, authentication, and inbox placement.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.mysmtp.blog\/2026\/04\/30\/the-mysmtp-dkim-checker-explained\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The mySMTP DKIM Checker \u2014 Explained - mySMTP BLOG\" \/>\n<meta property=\"og:description\" content=\"Learn how the mySMTP DKIM Checker works and how to verify your DKIM setup to improve email deliverability, authentication, and inbox placement.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mysmtp.blog\/2026\/04\/30\/the-mysmtp-dkim-checker-explained\/\" \/>\n<meta property=\"og:site_name\" content=\"mySMTP BLOG\" \/>\n<meta property=\"article:published_time\" content=\"2026-04-30T13:33:27+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-07T11:31:17+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.mysmtp.blog\/wp-content\/uploads\/2026\/04\/billede.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1365\" \/>\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Cristi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Cristi\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.mysmtp.blog\\\/2026\\\/04\\\/30\\\/the-mysmtp-dkim-checker-explained\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mysmtp.blog\\\/2026\\\/04\\\/30\\\/the-mysmtp-dkim-checker-explained\\\/\"},\"author\":{\"name\":\"Cristi\",\"@id\":\"https:\\\/\\\/www.mysmtp.blog\\\/#\\\/schema\\\/person\\\/c85143e0104413811a21da48d1747c81\"},\"headline\":\"The mySMTP DKIM Checker \u2014 Explained\",\"datePublished\":\"2026-04-30T13:33:27+00:00\",\"dateModified\":\"2026-07-07T11:31:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.mysmtp.blog\\\/2026\\\/04\\\/30\\\/the-mysmtp-dkim-checker-explained\\\/\"},\"wordCount\":2118,\"publisher\":{\"@id\":\"https:\\\/\\\/www.mysmtp.blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mysmtp.blog\\\/2026\\\/04\\\/30\\\/the-mysmtp-dkim-checker-explained\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.mysmtp.blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/billede.png\",\"keywords\":[\"Deliverability\"],\"articleSection\":[\"Deliverability\"],\"inLanguage\":\"en-GB\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.mysmtp.blog\\\/2026\\\/04\\\/30\\\/the-mysmtp-dkim-checker-explained\\\/\",\"url\":\"https:\\\/\\\/www.mysmtp.blog\\\/2026\\\/04\\\/30\\\/the-mysmtp-dkim-checker-explained\\\/\",\"name\":\"The mySMTP DKIM Checker \u2014 Explained - mySMTP BLOG\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mysmtp.blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.mysmtp.blog\\\/2026\\\/04\\\/30\\\/the-mysmtp-dkim-checker-explained\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mysmtp.blog\\\/2026\\\/04\\\/30\\\/the-mysmtp-dkim-checker-explained\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.mysmtp.blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/billede.png\",\"datePublished\":\"2026-04-30T13:33:27+00:00\",\"dateModified\":\"2026-07-07T11:31:17+00:00\",\"description\":\"Learn how the mySMTP DKIM Checker works and how to verify your DKIM setup to improve email deliverability, authentication, and inbox placement.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.mysmtp.blog\\\/2026\\\/04\\\/30\\\/the-mysmtp-dkim-checker-explained\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.mysmtp.blog\\\/2026\\\/04\\\/30\\\/the-mysmtp-dkim-checker-explained\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/www.mysmtp.blog\\\/2026\\\/04\\\/30\\\/the-mysmtp-dkim-checker-explained\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.mysmtp.blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/billede.png\",\"contentUrl\":\"https:\\\/\\\/www.mysmtp.blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/billede.png\",\"width\":1365,\"height\":1024},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.mysmtp.blog\\\/2026\\\/04\\\/30\\\/the-mysmtp-dkim-checker-explained\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.mysmtp.blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"The mySMTP DKIM Checker \u2014 Explained\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.mysmtp.blog\\\/#website\",\"url\":\"https:\\\/\\\/www.mysmtp.blog\\\/\",\"name\":\"mySMTP BLOG\",\"description\":\"We send emails, get valuable insights about sending emails\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.mysmtp.blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.mysmtp.blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.mysmtp.blog\\\/#organization\",\"name\":\"mySMTP BLOG\",\"url\":\"https:\\\/\\\/www.mysmtp.blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/www.mysmtp.blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.mysmtp.blog\\\/wp-content\\\/uploads\\\/2024\\\/08\\\/mySMTP-Logo-Final.svg\",\"contentUrl\":\"https:\\\/\\\/www.mysmtp.blog\\\/wp-content\\\/uploads\\\/2024\\\/08\\\/mySMTP-Logo-Final.svg\",\"width\":734,\"height\":225,\"caption\":\"mySMTP BLOG\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mysmtp.blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.mysmtp.blog\\\/#\\\/schema\\\/person\\\/c85143e0104413811a21da48d1747c81\",\"name\":\"Cristi\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/www.mysmtp.blog\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/cropped-cristi-blog-author-image150H-1-1-96x96.png\",\"url\":\"https:\\\/\\\/www.mysmtp.blog\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/cropped-cristi-blog-author-image150H-1-1-96x96.png\",\"contentUrl\":\"https:\\\/\\\/www.mysmtp.blog\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/cropped-cristi-blog-author-image150H-1-1-96x96.png\",\"caption\":\"Cristi\"},\"url\":\"https:\\\/\\\/www.mysmtp.blog\\\/author\\\/cristi\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"The mySMTP DKIM Checker \u2014 Explained - mySMTP BLOG","description":"Learn how the mySMTP DKIM Checker works and how to verify your DKIM setup to improve email deliverability, authentication, and inbox placement.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.mysmtp.blog\/2026\/04\/30\/the-mysmtp-dkim-checker-explained\/","og_locale":"en_GB","og_type":"article","og_title":"The mySMTP DKIM Checker \u2014 Explained - mySMTP BLOG","og_description":"Learn how the mySMTP DKIM Checker works and how to verify your DKIM setup to improve email deliverability, authentication, and inbox placement.","og_url":"https:\/\/www.mysmtp.blog\/2026\/04\/30\/the-mysmtp-dkim-checker-explained\/","og_site_name":"mySMTP BLOG","article_published_time":"2026-04-30T13:33:27+00:00","article_modified_time":"2026-07-07T11:31:17+00:00","og_image":[{"width":1365,"height":1024,"url":"https:\/\/www.mysmtp.blog\/wp-content\/uploads\/2026\/04\/billede.png","type":"image\/png"}],"author":"Cristi","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Cristi","Estimated reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.mysmtp.blog\/2026\/04\/30\/the-mysmtp-dkim-checker-explained\/#article","isPartOf":{"@id":"https:\/\/www.mysmtp.blog\/2026\/04\/30\/the-mysmtp-dkim-checker-explained\/"},"author":{"name":"Cristi","@id":"https:\/\/www.mysmtp.blog\/#\/schema\/person\/c85143e0104413811a21da48d1747c81"},"headline":"The mySMTP DKIM Checker \u2014 Explained","datePublished":"2026-04-30T13:33:27+00:00","dateModified":"2026-07-07T11:31:17+00:00","mainEntityOfPage":{"@id":"https:\/\/www.mysmtp.blog\/2026\/04\/30\/the-mysmtp-dkim-checker-explained\/"},"wordCount":2118,"publisher":{"@id":"https:\/\/www.mysmtp.blog\/#organization"},"image":{"@id":"https:\/\/www.mysmtp.blog\/2026\/04\/30\/the-mysmtp-dkim-checker-explained\/#primaryimage"},"thumbnailUrl":"https:\/\/www.mysmtp.blog\/wp-content\/uploads\/2026\/04\/billede.png","keywords":["Deliverability"],"articleSection":["Deliverability"],"inLanguage":"en-GB"},{"@type":"WebPage","@id":"https:\/\/www.mysmtp.blog\/2026\/04\/30\/the-mysmtp-dkim-checker-explained\/","url":"https:\/\/www.mysmtp.blog\/2026\/04\/30\/the-mysmtp-dkim-checker-explained\/","name":"The mySMTP DKIM Checker \u2014 Explained - mySMTP BLOG","isPartOf":{"@id":"https:\/\/www.mysmtp.blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.mysmtp.blog\/2026\/04\/30\/the-mysmtp-dkim-checker-explained\/#primaryimage"},"image":{"@id":"https:\/\/www.mysmtp.blog\/2026\/04\/30\/the-mysmtp-dkim-checker-explained\/#primaryimage"},"thumbnailUrl":"https:\/\/www.mysmtp.blog\/wp-content\/uploads\/2026\/04\/billede.png","datePublished":"2026-04-30T13:33:27+00:00","dateModified":"2026-07-07T11:31:17+00:00","description":"Learn how the mySMTP DKIM Checker works and how to verify your DKIM setup to improve email deliverability, authentication, and inbox placement.","breadcrumb":{"@id":"https:\/\/www.mysmtp.blog\/2026\/04\/30\/the-mysmtp-dkim-checker-explained\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.mysmtp.blog\/2026\/04\/30\/the-mysmtp-dkim-checker-explained\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.mysmtp.blog\/2026\/04\/30\/the-mysmtp-dkim-checker-explained\/#primaryimage","url":"https:\/\/www.mysmtp.blog\/wp-content\/uploads\/2026\/04\/billede.png","contentUrl":"https:\/\/www.mysmtp.blog\/wp-content\/uploads\/2026\/04\/billede.png","width":1365,"height":1024},{"@type":"BreadcrumbList","@id":"https:\/\/www.mysmtp.blog\/2026\/04\/30\/the-mysmtp-dkim-checker-explained\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.mysmtp.blog\/"},{"@type":"ListItem","position":2,"name":"The mySMTP DKIM Checker \u2014 Explained"}]},{"@type":"WebSite","@id":"https:\/\/www.mysmtp.blog\/#website","url":"https:\/\/www.mysmtp.blog\/","name":"mySMTP BLOG","description":"We send emails, get valuable insights about sending emails","publisher":{"@id":"https:\/\/www.mysmtp.blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.mysmtp.blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Organization","@id":"https:\/\/www.mysmtp.blog\/#organization","name":"mySMTP BLOG","url":"https:\/\/www.mysmtp.blog\/","logo":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.mysmtp.blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.mysmtp.blog\/wp-content\/uploads\/2024\/08\/mySMTP-Logo-Final.svg","contentUrl":"https:\/\/www.mysmtp.blog\/wp-content\/uploads\/2024\/08\/mySMTP-Logo-Final.svg","width":734,"height":225,"caption":"mySMTP BLOG"},"image":{"@id":"https:\/\/www.mysmtp.blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.mysmtp.blog\/#\/schema\/person\/c85143e0104413811a21da48d1747c81","name":"Cristi","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.mysmtp.blog\/wp-content\/uploads\/2024\/09\/cropped-cristi-blog-author-image150H-1-1-96x96.png","url":"https:\/\/www.mysmtp.blog\/wp-content\/uploads\/2024\/09\/cropped-cristi-blog-author-image150H-1-1-96x96.png","contentUrl":"https:\/\/www.mysmtp.blog\/wp-content\/uploads\/2024\/09\/cropped-cristi-blog-author-image150H-1-1-96x96.png","caption":"Cristi"},"url":"https:\/\/www.mysmtp.blog\/author\/cristi\/"}]}},"_links":{"self":[{"href":"https:\/\/www.mysmtp.blog\/wp-json\/wp\/v2\/posts\/2028","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mysmtp.blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mysmtp.blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mysmtp.blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mysmtp.blog\/wp-json\/wp\/v2\/comments?post=2028"}],"version-history":[{"count":25,"href":"https:\/\/www.mysmtp.blog\/wp-json\/wp\/v2\/posts\/2028\/revisions"}],"predecessor-version":[{"id":2105,"href":"https:\/\/www.mysmtp.blog\/wp-json\/wp\/v2\/posts\/2028\/revisions\/2105"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mysmtp.blog\/wp-json\/wp\/v2\/media\/2069"}],"wp:attachment":[{"href":"https:\/\/www.mysmtp.blog\/wp-json\/wp\/v2\/media?parent=2028"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mysmtp.blog\/wp-json\/wp\/v2\/categories?post=2028"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mysmtp.blog\/wp-json\/wp\/v2\/tags?post=2028"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}