{"id":48,"date":"2020-09-24T11:08:03","date_gmt":"2020-09-24T11:08:03","guid":{"rendered":"https:\/\/nldmar-mariquita.savviihq.com\/?page_id=48"},"modified":"2024-11-06T16:28:04","modified_gmt":"2024-11-06T15:28:04","slug":"dkim-validator","status":"publish","type":"page","link":"https:\/\/dmarcadvisor.com\/dkim-validator\/","title":{"rendered":"DKIM Validator"},"content":{"rendered":"[vc_row type=&#8221;in_container&#8221; full_screen_row_position=&#8221;middle&#8221; column_margin=&#8221;default&#8221; column_direction=&#8221;default&#8221; column_direction_tablet=&#8221;default&#8221; column_direction_phone=&#8221;default&#8221; scene_position=&#8221;center&#8221; bottom_padding=&#8221;2%&#8221; text_color=&#8221;dark&#8221; text_align=&#8221;left&#8221; row_border_radius=&#8221;none&#8221; row_border_radius_applies=&#8221;bg&#8221; overflow=&#8221;visible&#8221; overlay_strength=&#8221;0.3&#8243; gradient_direction=&#8221;left_to_right&#8221; shape_divider_position=&#8221;bottom&#8221; bg_image_animation=&#8221;none&#8221; shape_type=&#8221;&#8221;][vc_column column_padding=&#8221;no-extra-padding&#8221; column_padding_tablet=&#8221;inherit&#8221; column_padding_phone=&#8221;inherit&#8221; column_padding_position=&#8221;all&#8221; column_element_direction_desktop=&#8221;default&#8221; column_element_spacing=&#8221;default&#8221; desktop_text_alignment=&#8221;default&#8221; tablet_text_alignment=&#8221;default&#8221; phone_text_alignment=&#8221;default&#8221; background_color_opacity=&#8221;1&#8243; background_hover_color_opacity=&#8221;1&#8243; column_backdrop_filter=&#8221;none&#8221; column_shadow=&#8221;none&#8221; column_border_radius=&#8221;none&#8221; column_link_target=&#8221;_self&#8221; column_position=&#8221;default&#8221; gradient_direction=&#8221;left_to_right&#8221; overlay_strength=&#8221;0.3&#8243; width=&#8221;1\/1&#8243; tablet_width_inherit=&#8221;default&#8221; animation_type=&#8221;default&#8221; bg_image_animation=&#8221;none&#8221; border_type=&#8221;simple&#8221; column_border_width=&#8221;none&#8221; column_border_style=&#8221;solid&#8221;][divider line_type=&#8221;No Line&#8221;][vc_column_text]Our DKIM Validator is a diagnostic tool that validates the content of DKIM records.<\/p>\n<p><strong>Why validate your DKIM record?<\/strong><\/p>\n<ul>\n<li>To verify your DKIM public key prior to adding it to your DNS<\/li>\n<li>Because incorrect formatting of the DKIM record will cause DKIM validation issues<\/li>\n<\/ul>\n[\/vc_column_text][\/vc_column][\/vc_row][vc_row type=&#8221;in_container&#8221; full_screen_row_position=&#8221;middle&#8221; column_margin=&#8221;default&#8221; column_direction=&#8221;default&#8221; column_direction_tablet=&#8221;default&#8221; column_direction_phone=&#8221;default&#8221; scene_position=&#8221;center&#8221; text_color=&#8221;dark&#8221; text_align=&#8221;left&#8221; row_border_radius=&#8221;none&#8221; row_border_radius_applies=&#8221;bg&#8221; overflow=&#8221;visible&#8221; overlay_strength=&#8221;0.3&#8243; gradient_direction=&#8221;left_to_right&#8221; shape_divider_position=&#8221;bottom&#8221; bg_image_animation=&#8221;none&#8221; shape_type=&#8221;&#8221;][vc_column column_padding=&#8221;no-extra-padding&#8221; column_padding_tablet=&#8221;inherit&#8221; column_padding_phone=&#8221;inherit&#8221; column_padding_position=&#8221;all&#8221; column_element_direction_desktop=&#8221;default&#8221; column_element_spacing=&#8221;default&#8221; desktop_text_alignment=&#8221;default&#8221; tablet_text_alignment=&#8221;default&#8221; phone_text_alignment=&#8221;default&#8221; background_color_opacity=&#8221;1&#8243; background_hover_color_opacity=&#8221;1&#8243; column_backdrop_filter=&#8221;none&#8221; column_shadow=&#8221;none&#8221; column_border_radius=&#8221;none&#8221; column_link_target=&#8221;_self&#8221; column_position=&#8221;default&#8221; gradient_direction=&#8221;left_to_right&#8221; overlay_strength=&#8221;0.3&#8243; width=&#8221;1\/1&#8243; tablet_width_inherit=&#8221;default&#8221; animation_type=&#8221;default&#8221; bg_image_animation=&#8221;none&#8221; border_type=&#8221;simple&#8221; column_border_width=&#8221;none&#8221; column_border_style=&#8221;solid&#8221;][vc_column_text]<script type=\"text\/x-template\" id=\"dm-input-label-template\">\n    <div class=\"minimal-form-input\">\n        <label>\n            <span class=\"text\">\n                <span class=\"text-inner\">{{ label }}<\/span>\n            <\/span>\n        <\/label>\n        <slot><\/slot>\n    <\/div>\n<\/script>\n\n<script type=\"text\/javascript\">\n    Vue.component('input-label', {\n        template: '#dm-input-label-template',\n        props: ['label']\n    });\n<\/script>\n\n<script type=\"text\/x-template\" id=\"dm-form-input-template\">\n    <div class=\"dm-form-input\" :class=\"finalClasses\">\n        <label :for=\"id\">\n            <span class=\"text\">\n                <span class=\"text-inner\">{{ label }}<\/span>\n            <\/span>\n        <\/label>\n\n        <input v-if=\"type === 'input'\" type=\"text\" autocomplete=\"off\" :id=\"id\" :value=\"value\"\n               @input=\"$emit('input', $event.target.value)\" @focus=\"focus\" @blur=\"blur\" \/>\n        <textarea v-if=\"type === 'textarea'\" :id=\"id\" :value=\"value\" rows=\"5\"\n                  @input=\"$emit('input', $event.target.value)\" @focus=\"focus\" @blur=\"blur\"><\/textarea>\n    <\/div>\n<\/script>\n\n<script type=\"text\/javascript\">\n    Vue.component('form-input', {\n        template: '#dm-form-input-template',\n        props: {\n            label: String,\n            value: String,\n            type: {\n                type: String,\n                default: 'input',\n                validator: function (value) {\n                    return ['input', 'textarea'].indexOf(value) !== -1;\n                }\n            },\n            isValid: {\n                type: Boolean,\n                default: true\n            },\n            isLight: {\n                type: Boolean,\n                default: false\n            }\n        },\n        data: function () {\n            return {\n                classes: {\n                    'filled': false,\n                    'has-text': false,\n                    'no-text': true\n                }\n            };\n        },\n        mounted: function () {\n            this.blur();\n        },\n        computed: {\n            id: function () {\n                return dmarcadvisorTools.reserveId();\n            },\n            finalClasses: function () {\n                \/\/ add a valid class dynamically based on external validation\n                var classes = JSON.parse(JSON.stringify(this.classes));\n                classes['textarea'] = this.type === 'textarea';\n                classes['dm-form-input-light'] = this.isLight;\n                classes['dm-invalid-form-input'] = !this.isValid;\n                return classes;\n            }\n        },\n        methods: {\n            focus: function () {\n                this.classes['filled'] = true;\n                this.classes['no-text'] = false;\n            },\n            blur: function () {\n                this.classes['filled'] = false;\n                this.classes['has-text'] = Boolean(this.value);\n                this.classes['no-text'] = !Boolean(this.value);\n            }\n        }\n    });\n<\/script>\n\n<script type=\"text\/x-template\" id=\"dm-just-button-template\">\n    <a href=\"#\"\n       class=\"nectar-button dm-visible dm-button\"\n       :title=\"disabled ? disabledTip : ''\"\n       :style=\"disabled ? 'background-color: #bababa !important;' : ''\"\n       @click.prevent=\"click\">\n        <span><slot><\/slot><\/span>\n    <\/a>\n<\/script>\n\n<script type=\"text\/javascript\">\n    Vue.component('just-button', {\n        template: '#dm-just-button-template',\n        props: {\n            disabled: {\n                type: Boolean,\n                default: false\n            },\n            disabledTip: {\n                type: String,\n                default: ''\n            }\n        },\n        methods: {\n            click: function () {\n                if (!this.disabled) {\n                    this.$emit('click');\n                }\n            }\n        }\n    });\n<\/script>\n\n<script type=\"text\/x-template\" id=\"dm-submit-button-template\">\n    <button type=\"submit\"\n            class=\"dm-button-icon\"\n            :disabled=\"disabled\"\n            :title=\"disabled ? disabledTip : ''\"\n            :style=\"disabled ? 'background-color: #bababa !important;' : ''\"\n            @click=\"submit\">\n        <span :class=\"{'dm-button-icon-inner': loading}\">\n            {{ label }}\n            <i v-if=\"loading\" class=\"dm-icon fa fa-spinner fa-pulse\"><\/i>\n        <\/span>\n    <\/button>\n<\/script>\n\n<script type=\"text\/javascript\">\n    Vue.component('submit-button', {\n        template: '#dm-submit-button-template',\n        props: {\n            loading: {\n                type: Boolean,\n                default: false\n            },\n            label: String,\n            disabled: {\n                type: Boolean,\n                default: false\n            },\n            disabledTip: {\n                type: String,\n                default: ''\n            }\n        },\n        methods: {\n            submit: function () {\n                this.$emit('submit');\n            }\n        }\n    });\n<\/script>\n\n<div class=\"dm-none\" id=\"dm-service-unavailable-texts\">\n    <p data-name=\"maintenance\">Our tools are under maintenance. Please try again later.<\/p>\n<\/div>\n\n<script type=\"text\/x-template\" id=\"dm-service-unavailable-template\">\n    <div>\n        <h3 style=\"font-size: 22px !important; line-height: 34px !important;\"\n            :style=\"{paddingTop: offset + 'px'}\">{{ texts.maintenance }}<\/h3>\n    <\/div>\n<\/script>\n\n<script type=\"text\/javascript\">\n    Vue.component('service-unavailable', {\n        template: '#dm-service-unavailable-template',\n        props: {\n            offset: {\n                type: Number,\n                default: 55\n            }\n        },\n        computed: {\n            texts: function () {\n                return dmarcadvisorTools.extractTexts('dm-service-unavailable-texts');\n            }\n        }\n    });\n<\/script>\n\n<div class=\"dm-none\" id=\"dm-message-list-texts\">\n    <p data-name=\"warning\">Warning<\/p>\n    <p data-name=\"error\">Error<\/p>\n<\/div>\n\n<script type=\"text\/x-template\" id=\"dm-message-list-template\">\n    <div class=\"nectar-fancy-ul\">\n        <ul :class=\"listClasses\">\n            <li v-for=\"message in errors\">\n                <i class=\"fa fa-exclamation-triangle dm-list-icon dm-text-orange\" :class=\"iconClasses\"><\/i>\n                {{ texts.error }}! {{ message.text }}\n            <\/li>\n            <li v-for=\"message in warnings\">\n                <i class=\"fa fa-exclamation-triangle dm-list-icon dm-text-yellow\" :class=\"iconClasses\"><\/i>\n                {{ texts.warning }}! {{ message.text }}\n            <\/li>\n        <\/ul>\n    <\/div>\n<\/script>\n\n<script type=\"text\/javascript\">\n    Vue.component('message-list', {\n        template: '#dm-message-list-template',\n        props: {\n            listClasses: {\n                default: []\n            },\n            iconClasses: {\n                default: []\n            },\n            messages: Array\n        },\n        computed: {\n            errors: function () {\n                return dmarcadvisorTools.extractErrorMessages(this.messages);\n            },\n            warnings: function () {\n                return dmarcadvisorTools.extractWarningMessages(this.messages);\n            },\n            texts: function () {\n                return dmarcadvisorTools.extractTexts('dm-message-list-texts');\n            }\n        }\n    });\n<\/script>\n\n<script type=\"text\/x-template\" id=\"dm-toggle-template\">\t\n\t<div class=\"toggle\" data-inner-wrap=\"true\">\n\t\t<h3>\n\t\t\t<a href=\"#\">\n\t\t\t\t{{ label }}\n\t\t\t<\/a>\n\t\t<\/h3>\n\t\t<div>\n\t\t\t<slot><\/slot>\n\t\t<\/div>\n\t<\/div>\n<\/script>\n\n<script type=\"text\/javascript\">\n    Vue.component('toggle', {\n        template: '#dm-toggle-template',\n        props: ['label']\n    });\n<\/script>\n\n<div class=\"dm-none\" id=\"dm-bookmark-texts\">\n    <p data-name=\"bookmark\">Access\/bookmark this inspection at<\/p>\n<\/div>\n\n<script type=\"text\/x-template\" id=\"dm-bookmark-template\">\n    <em>{{ texts.bookmark }} <a :href=\"url\" target=\"_blank\">{{ url }}<\/a><\/em>\n<\/script>\n\n<script type=\"text\/javascript\">\n    Vue.component('bookmark', {\n        template: '#dm-bookmark-template',\n        props: ['params'],\n        computed: {\n            url: function () {\n                return dmarcadvisorTools.addParamsToCurrentUrl(this.params);\n            },\n            texts: function () {\n                return dmarcadvisorTools.extractTexts('dm-bookmark-texts');\n            }\n        }\n    });\n<\/script>\n\n<div class=\"dm-none\" id=\"dm-http-www-in-domain-texts\">\n    <p data-name=\"suggestion\">Did you mean <\/p>\n    <p data-name=\"qmark\">?<\/p>\n<\/div>\n\n<script type=\"text\/x-template\" id=\"dm-http-www-in-domain-template\">\n        <h3 v-if=\"domainName\" style=\"margin-top:20px;\">{{ texts.suggestion }}<a :href=\"url\">{{ domainName }}<\/a>{{ texts.qmark }}<\/h3>\n<\/script>\n\n<script type=\"text\/javascript\">\n    Vue.component('http-www-in-domain', {\n        template: '#dm-http-www-in-domain-template',\n        props: {\n            domain: String,\n            selector: {\n                type: String,\n                default: ''\n            },\n            check3w: {\n                type: Boolean,\n                default: false\n            }\n        },\n        computed: {\n            url: function () {\n                if (this.selector) {\n                    return dmarcadvisorTools.addParamsToCurrentUrl({domain: this.domainName, selector: this.selector});\n                } else {\n                    return dmarcadvisorTools.addParamsToCurrentUrl({domain: this.domainName});\n                }\n            },\n            texts: function () {\n                return dmarcadvisorTools.extractTexts('dm-http-www-in-domain-texts');\n            },\n            domainName: function () {\n                var www = 'www.';\n                var httpPattern = \/^((http|https):\\\/\\\/)\/;\n                var domName = '';\n                if (this.check3w == true) {\n                \/\/remove \"http(s):\/\/www.\" if any\n                    if (this.domain.startsWith(www) || httpPattern.test(this.domain)) {\n                        domName = this.domain.replace(\/^(?:https?:\\\/\\\/)?(?:www\\.)?\/i, \"\").split('\/')[0];\n                        if (dmarcadvisorTools.isValidDomain(domName)) {\n                            return domName;\n                        }\n                    }\n                }\n                \/\/remove \"http(s):\/\/\" if any\n                if ((this.check3w == false) && (httpPattern.test(this.domain))) {    \n                    domName = this.domain.replace(\/^http(s?):\\\/\\\/\/i, \"\");\n                    if (dmarcadvisorTools.isValidDomain(domName)) {\n                        return domName;\n                    }\n                }\n                return domName;\n            }\n        }\n    });\n<\/script><div class=\"dm-none\" id=\"dm-dkim-record-texts\">\n    <p data-name=\"publicKeyLength\">Public key length<\/p>\n    <p data-name=\"notes\">Notes<\/p>\n    <p data-name=\"warningsErrors\">Warnings \/ Errors<\/p>\n    <p data-name=\"details\">Details<\/p>\n    <p data-name=\"tag\">Tag<\/p>\n    <p data-name=\"name\">Name<\/p>\n    <p data-name=\"value\">Value<\/p>\n    <p data-name=\"default\">Default<\/p>\n    <p data-name=\"none\">None<\/p>\n<\/div>\n\n<script type=\"text\/x-template\" id=\"dm-dkim-record-template\">\n    [toggle title=\"Record\"]\n        <code class=\"dm-code\" style=\"margin-bottom: 10px;\">{{ record.txt }}<\/code>\n        <p v-if=\"record.public_key_length\" style=\"padding-bottom: 10px;\">\n            {{ texts.publicKeyLength }}: {{ record.public_key_length }}\n        <\/p>\n\n        <template v-if=\"record.messages.length\">\n            <div class=\"dm-alert dm-alert-warning\">\n                <h5 v-if=\"record.valid\">{{ texts.notes }}<\/h5>\n                <h5 v-else>{{ texts.warningsErrors }}<\/h5>\n\n                <p v-for=\"message in record.messages\" v-html=\"message.text\" style=\"padding-bottom: 10px;\"><\/p>\n            <\/div>\n        <\/template>\n\n        <template v-if=\"record.tags.length\">\n            <h5>{{ texts.details }}<\/h5>\n\n            <div class=\"dm-fit-table-wrap\" style=\"margin-bottom: 20px !important;\">\n                <table class=\"dm-fit-table dm-margin-none\">\n                    <thead>\n                        <tr>\n                            <th width=\"50\"><\/th>\n                            <th width=\"70\">{{ texts.tag }}<\/th>\n                            <th width=\"130\">{{ texts.name }}<\/th>\n                            <th width=\"200\">{{ texts.value }}<\/th>\n                            <th width=\"200\">{{ texts.warningsErrors }}<\/th>\n                        <\/tr>\n                    <\/thead>\n                    <tbody>\n                        <tr v-for=\"tag in record.tags\">\n                            <template v-if=\"tag.valid\">\n                                <td v-if=\"tag.supported\">\n                                    <i class=\"fa fa-check-square-o dm-text-green\"><\/i>\n                                <\/td>\n                                <td v-else>\n                                    <i class=\"fa fa-question-circle dm-text-grey\"><\/i>\n                                <\/td>\n                            <\/template>\n                            <td v-else>\n                                <i class=\"fa fa-exclamation-triangle dm-text-orange\"><\/i>\n                            <\/td>\n\n                            <td>{{ tag.key }}<\/td>\n                            <td>{{ tag.name }}<\/td>\n\n                            <td class=\"dm-cut-table-cell\">\n                                <i class=\"fa fa-question-circle dm-text-grey tag-tip\"\n                                   :title=\"getTagTitle(tag)\"><\/i>\n                                {{ tag.value }}\n                            <\/td>\n                            <td>\n                                <span v-for=\"message in tag.messages\" v-html=\"message.text\"><\/span>\n                            <\/td>\n                        <\/tr>\n                    <\/tbody>\n                <\/table>\n            <\/div>\n        <\/template>\n    [\/toggle]\n<\/script>\n\n<script type=\"text\/javascript\">\n    Vue.component('dkim-record', {\n        template: '#dm-dkim-record-template',\n        props: ['record', 'expanded'],\n        data: function () {\n            return {\n                texts: dmarcadvisorTools.extractTexts('dm-dkim-record-texts')\n            };\n        },\n        mounted: function () {\n            this.update();\n        },\n        watch: {\n            record: {\n                handler: function () {\n                    this.update();\n                },\n                deep: true\n            }\n        },\n        methods: {\n            getTagTitle: function (tag) {\n                var tagDefault = (tag.default) ? tag.default : this.texts.none;\n                return this.texts.default + ': ' + tagDefault;\n            },\n            update: function () {\n                this.addColors();\n                this.addTips();\n\n                \/\/ expand if configured\n                if (this.expanded) {\n                    this.expand();\n                }\n            },\n            expand: function () {\n                dmarcadvisorTools.expandToggle(this.$el);\n            },\n            addColors: function () {\n                dmarcadvisorTools.colorizeToggle(this.$el, this.record.valid);\n            },\n            addTips: function () {\n                tippy('.tag-tip');\n            }\n        }\n    });\n<\/script>\n\n<div class=\"dm-none\" id=\"dm-dkim-inspection-texts\">\n    <p data-name=\"dkimValid\">Congratulations! Your DKIM record is valid.<\/p>\n    <p data-name=\"dkimInvalid\">There is something wrong with your DKIM record.<\/p>\n    <p data-name=\"query\">Query<\/p>\n<\/div>\n\n<script type=\"text\/x-template\" id=\"dm-dkim-inspection-template\">\n    <div>\n        [divider line_type=\"No Line\" custom_height=\"55\"]\n        <div :class=\"['dm-alert', inspection.valid ? 'dm-alert-success' : 'dm-alert-danger']\">\n            <div class=\"dm-padding-bottom-more\">\n                <h3 v-if=\"inspection.valid\">{{ texts.dkimValid }}<\/h3>\n                <h3 v-else>{{ texts.dkimInvalid }}<\/h3>\n                <bookmark v-if=\"showBookmark\"\n                        :params=\"{domain: inspection.domain, selector: inspection.selector}\"><\/bookmark>\n            <\/div>\n\n            <h5 v-if=\"inspection.messages.length\">\n                <span v-for=\"message in inspection.messages\">{{ message.text }}<br\/><\/span>\n            <\/h5>\n        <\/div>\n\n        <p v-if=\"inspection.query\" style=\"padding-bottom: 0px;\">{{ texts.query }}: {{ inspection.query }}<\/p>\n\n        <template v-if=\"inspection.records.length\">\n            [divider line_type=\"No Line\" custom_height=\"50\"]\n\n            [toggles]\n                <dkim-record v-for=\"record, index in inspection.records\"\n                             :record=\"record\"\n                             :expanded=\"index === 0\"><\/dkim-record>\n            [\/toggles]\n        <\/template>\n    <\/div>\n<\/script>\n\n<script type=\"text\/javascript\">\n    Vue.component('dkim-inspection', {\n        template: '#dm-dkim-inspection-template',\n        props: ['inspection', 'showBookmark'],\n        data: function () {\n            return {\n                texts: dmarcadvisorTools.extractTexts('dm-dkim-inspection-texts')\n            };\n        }\n    });\n<\/script>\n<div class=\"dm-none\" id=\"dm-validate-dkim-texts\">\n    <p data-name=\"enterDkimRecord\">Enter DKIM record<\/p>\n    <p data-name=\"validateDkim\">Validate DKIM<\/p>\n<\/div>\n\n<div id=\"dm-validate-dkim\">\n    <form @submit.prevent class=\"dm-form\">\n        <h5 class=\"dm-textarea-wrapper\" ref=\"recordInput\">\n            <form-input v-model=\"record\" :label=\"texts.enterDkimRecord\" type=\"textarea\" :is-valid=\"!errors.record\"><\/form-input>\n        <\/h5>\n\n        <submit-button :label=\"texts.validateDkim\"\n                       :loading=\"loading\"\n                       @submit=\"validate\"><\/submit-button>\n    <\/form>\n\n    <service-unavailable v-if=\"ajaxFailed\"><\/service-unavailable>\n\n    <dkim-inspection v-if=\"inspection\"\n                     :inspection=\"inspection\"\n                     :show-bookmark=\"false\"><\/dkim-inspection>\n<\/div>\n\n<script type=\"text\/javascript\">\n    new Vue({\n        el: '#dm-validate-dkim',\n        data: {\n            loading: false,\n            record: '',\n            inspection: null,\n            texts: dmarcadvisorTools.extractTexts('dm-validate-dkim-texts'),\n            errors: {\n                record: ''\n            },\n            ajaxFailed: false\n        },\n        watch: {\n            errors: {\n                handler: function () {\n                    dmarcadvisorTools.renderError(this.$refs.recordInput, this.texts.enterDkimRecord, this.errors.record);\n                },\n                deep: true\n            }\n        },\n        methods: {\n            validate: function () {\n                var self = this;\n                this.loading = true;\n                dmarcadvisorAPI.validateDKIM(this.record).done(function (response) {\n                    setTimeout(function () {\n                        self.loading = false;\n                    }, 200);\n\n                    self.ajaxFailed = !response.success;\n                    self.inspection = response.payload;\n                    self.errors = dmarcadvisorTools.buildFormErrors(response.errors, self.errors);\n                });\n            }\n        }\n    });\n<\/script>\n[\/vc_column_text][\/vc_column][\/vc_row]\n","protected":false},"excerpt":{"rendered":"<p>[vc_row type=&#8221;in_container&#8221; full_screen_row_position=&#8221;middle&#8221; column_margin=&#8221;default&#8221; column_direction=&#8221;default&#8221; column_direction_tablet=&#8221;default&#8221; column_direction_phone=&#8221;default&#8221; scene_position=&#8221;center&#8221; bottom_padding=&#8221;2%&#8221; text_color=&#8221;dark&#8221; text_align=&#8221;left&#8221; row_border_radius=&#8221;none&#8221; row_border_radius_applies=&#8221;bg&#8221; overflow=&#8221;visible&#8221; overlay_strength=&#8221;0.3&#8243; gradient_direction=&#8221;left_to_right&#8221; shape_divider_position=&#8221;bottom&#8221; bg_image_animation=&#8221;none&#8221; shape_type=&#8221;&#8221;][vc_column column_padding=&#8221;no-extra-padding&#8221; column_padding_tablet=&#8221;inherit&#8221; column_padding_phone=&#8221;inherit&#8221; column_padding_position=&#8221;all&#8221; column_element_direction_desktop=&#8221;default&#8221; column_element_spacing=&#8221;default&#8221; desktop_text_alignment=&#8221;default&#8221; tablet_text_alignment=&#8221;default&#8221; phone_text_alignment=&#8221;default&#8221; background_color_opacity=&#8221;1&#8243; background_hover_color_opacity=&#8221;1&#8243;&#8230;<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"inline_featured_image":false,"footnotes":""},"class_list":["post-48","page","type-page","status-publish"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Free DKIM Validator: The Key to a Valid DKIM Signature<\/title>\n<meta name=\"description\" content=\"Use DMARC Advisor\u2019s free DKIM Validator to identify and fix potential issues with a DKIM record before they impact your email delivery.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/dmarcadvisor.com\/dkim-validator\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Free DKIM Validator: The Key to a Valid DKIM Signature\" \/>\n<meta property=\"og:description\" content=\"Use DMARC Advisor\u2019s free DKIM Validator to identify and fix potential issues with a DKIM record before they impact your email delivery.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/dmarcadvisor.com\/dkim-validator\/\" \/>\n<meta property=\"og:site_name\" content=\"dmarcadvisor.com\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/dmarcadvisor\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-06T15:28:04+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@dmarcadvisor\" \/>\n<meta name=\"twitter:label1\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/dmarcadvisor.com\\\/dkim-validator\\\/\",\"url\":\"https:\\\/\\\/dmarcadvisor.com\\\/dkim-validator\\\/\",\"name\":\"Free DKIM Validator: The Key to a Valid DKIM Signature\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/dmarcadvisor.com\\\/#website\"},\"datePublished\":\"2020-09-24T11:08:03+00:00\",\"dateModified\":\"2024-11-06T15:28:04+00:00\",\"description\":\"Use DMARC Advisor\u2019s free DKIM Validator to identify and fix potential issues with a DKIM record before they impact your email delivery.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/dmarcadvisor.com\\\/dkim-validator\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/dmarcadvisor.com\\\/dkim-validator\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/dmarcadvisor.com\\\/dkim-validator\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/dmarcadvisor.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"DKIM Validator\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/dmarcadvisor.com\\\/#website\",\"url\":\"https:\\\/\\\/dmarcadvisor.com\\\/\",\"name\":\"DMARC Advisor\",\"description\":\"Protect your domains against email abuse and phishing with DMARC Advisor\",\"publisher\":{\"@id\":\"https:\\\/\\\/dmarcadvisor.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/dmarcadvisor.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/dmarcadvisor.com\\\/#organization\",\"name\":\"DMARC Advisor\",\"url\":\"https:\\\/\\\/dmarcadvisor.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/dmarcadvisor.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/dmarcadvisor.com\\\/wp-content\\\/uploads\\\/2023\\\/03\\\/DMARC_Advisor_Inline.svg\",\"contentUrl\":\"https:\\\/\\\/dmarcadvisor.com\\\/wp-content\\\/uploads\\\/2023\\\/03\\\/DMARC_Advisor_Inline.svg\",\"width\":100,\"height\":100,\"caption\":\"DMARC Advisor\"},\"image\":{\"@id\":\"https:\\\/\\\/dmarcadvisor.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/dmarcadvisor\",\"https:\\\/\\\/x.com\\\/dmarcadvisor\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/dmarc-advisor\\\/\",\"https:\\\/\\\/www.instagram.com\\\/dmarcadvisor\\\/\",\"https:\\\/\\\/www.youtube.com\\\/@dmarcadvisor\",\"https:\\\/\\\/www.reddit.com\\\/user\\\/DMARC-Advisor\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Free DKIM Validator: The Key to a Valid DKIM Signature","description":"Use DMARC Advisor\u2019s free DKIM Validator to identify and fix potential issues with a DKIM record before they impact your email delivery.","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:\/\/dmarcadvisor.com\/dkim-validator\/","og_locale":"en_GB","og_type":"article","og_title":"Free DKIM Validator: The Key to a Valid DKIM Signature","og_description":"Use DMARC Advisor\u2019s free DKIM Validator to identify and fix potential issues with a DKIM record before they impact your email delivery.","og_url":"https:\/\/dmarcadvisor.com\/dkim-validator\/","og_site_name":"dmarcadvisor.com","article_publisher":"https:\/\/www.facebook.com\/dmarcadvisor","article_modified_time":"2024-11-06T15:28:04+00:00","twitter_card":"summary_large_image","twitter_site":"@dmarcadvisor","twitter_misc":{"Estimated reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/dmarcadvisor.com\/dkim-validator\/","url":"https:\/\/dmarcadvisor.com\/dkim-validator\/","name":"Free DKIM Validator: The Key to a Valid DKIM Signature","isPartOf":{"@id":"https:\/\/dmarcadvisor.com\/#website"},"datePublished":"2020-09-24T11:08:03+00:00","dateModified":"2024-11-06T15:28:04+00:00","description":"Use DMARC Advisor\u2019s free DKIM Validator to identify and fix potential issues with a DKIM record before they impact your email delivery.","breadcrumb":{"@id":"https:\/\/dmarcadvisor.com\/dkim-validator\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/dmarcadvisor.com\/dkim-validator\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/dmarcadvisor.com\/dkim-validator\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dmarcadvisor.com\/"},{"@type":"ListItem","position":2,"name":"DKIM Validator"}]},{"@type":"WebSite","@id":"https:\/\/dmarcadvisor.com\/#website","url":"https:\/\/dmarcadvisor.com\/","name":"DMARC Advisor","description":"Protect your domains against email abuse and phishing with DMARC Advisor","publisher":{"@id":"https:\/\/dmarcadvisor.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/dmarcadvisor.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Organization","@id":"https:\/\/dmarcadvisor.com\/#organization","name":"DMARC Advisor","url":"https:\/\/dmarcadvisor.com\/","logo":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/dmarcadvisor.com\/#\/schema\/logo\/image\/","url":"https:\/\/dmarcadvisor.com\/wp-content\/uploads\/2023\/03\/DMARC_Advisor_Inline.svg","contentUrl":"https:\/\/dmarcadvisor.com\/wp-content\/uploads\/2023\/03\/DMARC_Advisor_Inline.svg","width":100,"height":100,"caption":"DMARC Advisor"},"image":{"@id":"https:\/\/dmarcadvisor.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/dmarcadvisor","https:\/\/x.com\/dmarcadvisor","https:\/\/www.linkedin.com\/company\/dmarc-advisor\/","https:\/\/www.instagram.com\/dmarcadvisor\/","https:\/\/www.youtube.com\/@dmarcadvisor","https:\/\/www.reddit.com\/user\/DMARC-Advisor\/"]}]}},"_links":{"self":[{"href":"https:\/\/dmarcadvisor.com\/wp-json\/wp\/v2\/pages\/48","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dmarcadvisor.com\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/dmarcadvisor.com\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/dmarcadvisor.com\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/dmarcadvisor.com\/wp-json\/wp\/v2\/comments?post=48"}],"version-history":[{"count":4,"href":"https:\/\/dmarcadvisor.com\/wp-json\/wp\/v2\/pages\/48\/revisions"}],"predecessor-version":[{"id":16627,"href":"https:\/\/dmarcadvisor.com\/wp-json\/wp\/v2\/pages\/48\/revisions\/16627"}],"wp:attachment":[{"href":"https:\/\/dmarcadvisor.com\/wp-json\/wp\/v2\/media?parent=48"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}