PluginProbe ʕ •ᴥ•ʔ
Check & Log Email – Easy Email Testing & Mail logging / 2.0.15
Check & Log Email – Easy Email Testing & Mail logging v2.0.15
2.0.15 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 2.0 2.0.1 2.0.10 2.0.11 2.0.12 2.0.13 2.0.13.1 2.0.13.2 2.0.14 2.0.2 2.0.3 2.0.4 2.0.5 2.0.5.1 2.0.6 2.0.7 2.0.8 2.0.9 trunk 0.5.7 0.6.0 0.6.1 0.6.2 1.0.0 1.0.1 1.0.10 1.0.11 1.0.12 1.0.12.1 1.0.13 1.0.13.1 1.0.2 1.0.3
check-email / assets / js / admin / checkemail.min.js
check-email / assets / js / admin Last commit date
chart.js 1 week ago check-mail-jsPdf.js 1 week ago check_mail_push.js 1 week ago check_mail_wizard.js 1 week ago check_mail_wizard.min.js 1 week ago checkemail.js 1 week ago checkemail.min.js 1 week ago checkmail-dashboard-chart.js 1 week ago checkmail-dashboard-chart.min.js 1 week ago checkmail-sw.js 1 week ago ck_mail-newsletter-script.js 1 week ago ck_mail-newsletter-script.min.js 1 week ago export-logs.js 1 week ago export-logs.min.js 1 week ago feedback.js 1 week ago feedback.min.js 1 week ago firebase-app.js 1 week ago firebase-messaging.js 1 week ago support-settings.js 1 week ago support-settings.min.js 1 week ago view-logs.js 1 week ago view-logs.min.js 1 week ago
checkemail.min.js
45 lines
1 !function(e){e(document).ready(function(){e(".checkemail-hide").hide(),e("#check-email-enable-widget").parent().parent(),e("#check-email-enable-db-notifications").parent().parent(),e("#checkemail_autoheaders,#checkemail_customheaders").on("change",function(){e("#checkemail_autoheaders").is(":checked")&&(e("#customheaders").hide(),e("#autoheaders").show()),e("#checkemail_customheaders").is(":checked")&&(e("#autoheaders").hide(),e("#customheaders").show())});var c=e("#check-email-from_name").parent().parent(),s=e("#check-email-from_email").parent().parent();function i(c){e.ajax({async:!0,type:"GET",dataType:"html",url:c,success:function(){location.reload()}})}e("#check-email-overdide-from").is(":checked")||(c.hide(),s.hide()),e("#check-email-overdide-from").on("click",function(){e(this).is(":checked")?(c.show(),s.show()):(c.hide(),s.hide())}),e("#install_wp_smtp").on("click",c=>{c.preventDefault();let s=e(c.currentTarget),a=s.data("slug"),o=s.data("action"),n=s.data("activation_url");(s.attr("disabled",!0),"install"===o)?(s.addClass("updating-message"),wp.updates.installPlugin({slug:a,success(e){s.html("Activating plugin"),i(e.activateUrl)},error(e){s.removeClass("updating-message"),jQuery("#install_wp_smtp_info p").html(e.errorMessage),jQuery("#install_wp_smtp_info").addClass("notice-error notice")}})):"activate"===o&&i(n)}),e(document).on("click","#check-email-enable-smtp",function(c){e(this).is(":checked")?e(".check_email_all_smtp").show():e(".check_email_all_smtp").hide(),function c(){if(e("#check-email-enable-smtp").is(":checked")){var s=e(".check_email_mailer_type:checked").val();"outlook"==s&&(e("#check-email-outllook").show(),e("#check-email-smtp-form").hide()),("smtp"==s||"gmail"==s)&&(e("#check-email-outllook").hide(),e("#check-email-smtp-form").show())}}()}),e(document).on("click","#check_mail_resend_btn",function(e){t=jQuery(this),jQuery(".cm_js_error").html(""),jQuery(".cm_js_success").html("");var c=jQuery("#cm_ajax_url").val(),s=jQuery("#check-mail-resend-form").serialize();jQuery.ajax({url:c,method:"post",dataType:"json",data:s,beforeSend:function(e){t.html('Resend<span class="spinner is-active"></span>'),t.prop("disabled",!0)},success:function(e){200!=e.status?jQuery(".cm_js_error").html(e.message):(jQuery(".cm_js_success").html(e.message),location.reload())},complete:function(e){t.html("Resend"),t.prop("disabled",!1)}})}),e(".check-mail-import-plugins").on("click",function(c){c.preventDefault(),jQuery(".cm_js_error").html(""),jQuery(".cm_js_success").html("");var s,i,a,o=e(this),n=e(this).attr("data-id"),l=jQuery("#cm_ajax_url").attr("data");data={action:"check_mail_import_plugin_data",plugin_name:n,ck_mail_security_nonce:jQuery("#cm_security_nonce").attr("data")},s=l,i=data,a=o,jQuery.ajax({url:s,method:"post",dataType:"json",data:i,beforeSend:function(e){a.html('Import<span class="spinner is-active"></span>'),a.prop("disabled",!0)},success:function(e){200!=e.status?a.parents(".cm_js_migration").find(".cm_js_error").html(e.message):a.parents(".cm_js_migration").find(".cm_js_success").html(e.message)},complete:function(e){a.html("Import"),a.prop("disabled",!1)}})});var a=e(".check_email_forward_to"),o=e(".check_email_forward_cc"),n=e(".check_email_forward_bcc");e("#check-email-forward_email").is(":checked")||(a.hide(),o.hide(),n.hide()),e("#check-email-forward_email").on("click",function(){e(this).is(":checked")?(a.show(),o.show(),n.show()):(a.hide(),o.hide(),n.hide())});var l=e(".check_email_retention_amount");e("#check-email-is_retention_amount_enable").is(":checked")||l.hide(),e("#check-email-is_retention_amount_enable").on("click",function(){e(this).is(":checked")?l.show():l.hide()});var r=e(".check_email_log_retention_period"),d=e(".check_email_log_retention_period_in_days");e("#check-email-is_retention_period_enable").is(":checked")||(r.hide(),d.hide()),e("#check-email-is_retention_period_enable").on("click",function(){e(this).is(":checked")?(r.show(),e("#check-email-log_retention_period").trigger("change")):(r.hide(),d.hide())}),"custom_in_days"!=e("#check-email-log_retention_period").val()&&d.hide(),e("#check-email-log_retention_period").on("change",function(){"custom_in_days"==e(this).val()?d.show():d.hide()}),e(".check_main_js_display_checkbox").on("click",function(){e(this).is(":checked")?e(this).next(".check_mail_js_hidden_display").val(1):e(this).next(".check_mail_js_hidden_display").val(0)}),e(".check_main_js_error_tracking").on("click",function(){e(this).is(":checked")?e(this).next(".check_main_js_error_tracking_hidden").val(1):e(this).next(".check_main_js_error_tracking_hidden").val(0)}),e(".check-email-enable-widget_checkbox").on("click",function(){e(this).is(":checked")?e(this).next(".check-email-enable-widget_display").val(1):e(this).next(".check-email-enable-widget_display").val(0)})}),e(document).on("click",".check_email_mailer_type",function(c){e(".ck_radio_selected").removeClass("ck_radio_selected"),"outlook"==e(this).val()&&(e("#check-email-outllook").show(),e("#check-email-smtp-form").hide(),e(this).parents(".ce_radio-label").addClass("ck_radio_selected")),("smtp"==e(this).val()||"gmail"==e(this).val())&&(e("#check-email-outllook").hide(),e("#check-email-smtp-form").show(),e(this).parents(".ce_radio-label").addClass("ck_radio_selected"))}),e(document).on("click","#check-email-email-encode-options-is_enable",function(c){e(this).is(":checked")?e(".check-email-etr").show():e(".check-email-etr").hide()}),e(document).on("click","#check_email_remove_outlook",function(e){t=jQuery(this);var c=checkemail_data.ajax_url,s=checkemail_data.ck_mail_security_nonce;jQuery.ajax({url:c,method:"post",dataType:"json",data:{action:"check_email_remove_outlook",ck_mail_security_nonce:s},beforeSend:function(e){},success:function(e){200==e.status&&location.reload()},complete:function(e){}})}),e("#check_mail_request_uri").on("click",function(){var c;c=document.getElementById("check_mail_request_uri"),c.select(),navigator.clipboard.writeText(c.value),e("#check_mail_copy_text").html("Copied!")}),e(document).on("click","#check-email-email-notify-options-is_enable",function(c){e(this).is(":checked")?e("#ck-notify-table-id").show():e("#ck-notify-table-id").hide()}),e(document).on("click","#check-email-notify-by-sms-enable",function(c){e(this).is(":checked")?e(".check-email-twilio").show():e(".check-email-twilio").hide()}),e(document).on("click",".checkmail_trigger",function(c){parent_tr=e(this).parents("tr"),e(this).is(":checked")?(parent_tr.find(".checkmail_trigger_counts").show(),e(this).next("label").hide()):(parent_tr.find(".checkmail_trigger_counts").hide(),e(this).next("label").show())}),e("#ck_email_analyze").on("click",function(c){c.preventDefault(),jQuery(".cm_js_error").html(""),jQuery(".cm_js_success").html("");var s=e(this);let i=document.getElementById("ck_loader");var a=checkemail_data.ajax_url;data={action:"check_email_analyze",ck_mail_security_nonce:checkemail_data.ck_mail_security_nonce},jQuery.ajax({url:a,method:"post",dataType:"json",data:data,beforeSend:function(e){i.style.display="block",s.hide()},success:function(c){if(0==c.is_error){email_result=c.previous_email_result,blocklist=c.blocklist,previous_spam_score=c.previous_spam_score,links=c.data.links,authenticated=c.data.authenticated,report=c.data.spamcheck_result.report,scores=c.data.spamcheck_result.rules,data=c.data;var a=0,o=0;wrong_icon_svg='<svg viewBox="0 0 32 32" height="50px" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns" fill="#000000"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"> <title>cross-circle</title> <desc>Created with Sketch Beta.</desc> <defs> </defs> <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage"> <g id="Icon-Set-Filled" sketch:type="MSLayerGroup" transform="translate(-570.000000, -1089.000000)" fill="#fa0000"> <path d="M591.657,1109.24 C592.048,1109.63 592.048,1110.27 591.657,1110.66 C591.267,1111.05 590.633,1111.05 590.242,1110.66 L586.006,1106.42 L581.74,1110.69 C581.346,1111.08 580.708,1111.08 580.314,1110.69 C579.921,1110.29 579.921,1109.65 580.314,1109.26 L584.58,1104.99 L580.344,1100.76 C579.953,1100.37 579.953,1099.73 580.344,1099.34 C580.733,1098.95 581.367,1098.95 581.758,1099.34 L585.994,1103.58 L590.292,1099.28 C590.686,1098.89 591.323,1098.89 591.717,1099.28 C592.11,1099.68 592.11,1100.31 591.717,1100.71 L587.42,1105.01 L591.657,1109.24 L591.657,1109.24 Z M586,1089 C577.163,1089 570,1096.16 570,1105 C570,1113.84 577.163,1121 586,1121 C594.837,1121 602,1113.84 602,1105 C602,1096.16 594.837,1089 586,1089 L586,1089 Z" id="cross-circle" sketch:type="MSShapeGroup"> </path> </g> </g> </g></svg>',yes_icon_svg='<svg viewBox="0 0 32 32" height="50px" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns" fill="#000000"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"> <title>checkmark-circle</title> <desc>Created with Sketch Beta.</desc> <defs> </defs> <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage"> <g id="Icon-Set-Filled" sketch:type="MSLayerGroup" transform="translate(-102.000000, -1141.000000)" fill="#038608"> <path d="M124.393,1151.43 C124.393,1151.43 117.335,1163.73 117.213,1163.84 C116.81,1164.22 116.177,1164.2 115.8,1163.8 L111.228,1159.58 C110.85,1159.18 110.871,1158.54 111.274,1158.17 C111.677,1157.79 112.31,1157.81 112.688,1158.21 L116.266,1161.51 L122.661,1150.43 C122.937,1149.96 123.548,1149.79 124.027,1150.07 C124.505,1150.34 124.669,1150.96 124.393,1151.43 L124.393,1151.43 Z M118,1141 C109.164,1141 102,1148.16 102,1157 C102,1165.84 109.164,1173 118,1173 C126.836,1173 134,1165.84 134,1157 C134,1148.16 126.836,1141 118,1141 L118,1141 Z" id="checkmark-circle" sketch:type="MSShapeGroup"> </path> </g> </g> </g></svg>',warning_icon_svg='<svg viewBox="0 0 16 16" height="50px" xmlns="http://www.w3.org/2000/svg" fill="none"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"><path fill="#f9bc39" fill-rule="evenodd" d="M0 8a8 8 0 1116 0A8 8 0 010 8zm8-4a.75.75 0 01.75.75v3.5a.75.75 0 01-1.5 0v-3.5A.75.75 0 018 4zm0 6a1 1 0 100 2h.007a1 1 0 100-2H8z" clip-rule="evenodd"></path></g></svg>',e.each(scores,function(e,c){a+=parseFloat(c.score)}),e("#ck_top_subject").html("Subject : "+data.html_tab.subject),e("#ck_email_date").html("Received : "+function e(c){let s=new Date(c),i=Math.floor((new Date-s)/1e3),a;if(i<0)return"In the future";let o=[{label:"year",seconds:31536e3},{label:"month",seconds:2592e3},{label:"day",seconds:86400},{label:"hour",seconds:3600},{label:"minute",seconds:60},{label:"second",seconds:1}];for(let n=0;n<o.length;n++)if((a=Math.floor(i/o[n].seconds))>0)return`${a} ${o[n].label}${1!==a?"s":""} ago`;return"Just now"}(data.html_tab.date)),html_tab=`<div class="ck-accordion">
2 <div class="ck-accordion-header" onclick="ck_toggleAccordion(this)">
3 <div class="ck_icon_with_text">
4 <span class="">`+yes_icon_svg+`</span>
5 <span class="ck_header_span">Click here to view your message</span>
6 </div>
7 </div>
8 <div class="ck-accordion-content">
9 <p><strong>From : </strong>`+data.html_tab.from+`</p>
10 <p><strong>Email : </strong>`+data.html_tab.email+`</p>
11 <p><strong>Subject : </strong>`+data.html_tab.subject+`</p>
12 <p><strong>Date : </strong>`+data.html_tab.date+`</p>
13
14 <!-- Child Accordion -->
15 <div class="ck-child-accordion">
16 <div class="ck-child-accordion-header" onclick="ck_toggleAccordion(this)">
17 HTML version
18 </div>
19 <div class="ck-child-accordion-content">
20 <p>`+data.html_tab.body+`</p>
21 </div>
22 </div>
23 <div class="ck-child-accordion">
24 <div class="ck-child-accordion-header" onclick="ck_toggleAccordion(this)">
25 Text version
26 </div>
27 <div class="ck-child-accordion-content">
28 <p><pre>`+data.html_tab.body+`</pre></p>
29 </div>
30 </div>
31 <div class="ck-child-accordion">
32 <div class="ck-child-accordion-header" onclick="ck_toggleAccordion(this)">
33 Source
34 </div>
35 <div class="ck-child-accordion-content">
36 <p><pre>`+data.html_tab.source+`</pre></p>
37 </div>
38 </div>
39 </div>
40 </div>`,a.toFixed(1)>0?(spam_icon=yes_icon_svg,spam_text="SpamAssassin likes you",spam_score=2.5):0>a.toFixed(1)&&a.toFixed(1)>-5?(spam_icon=warning_icon_svg,spam_text="SpamAssassin warned you to <strong>improve</strong> your spam score",spam_score=1.5):(spam_icon=wrong_icon_svg,spam_text="SpamAssassin <strong>don't</strong> likes you",spam_score=0),html_tab+='<div class="ck-accordion"><div class="ck-accordion-header" onclick="ck_toggleAccordion(this)"><div class="ck_icon_with_text"><span class="">'+spam_icon+`</span>
41 <span class="ck_header_span">`+spam_text+'</span><span class="ck_score_span">Score : '+a.toFixed(1)+`</span></div></div><div class="ck-accordion-content">
42 <p><i>The famous spam filter SpamAssassin. </i> <strong>Score:`+a.toFixed(1)+"</strong></p><p><i>A score below -5 is considered spam.</i></p><hr/><p><pre>"+report+"</pre></p></div></div>",email_result_html="",email_result.email_valid?email_result_html+='<div class="ck-card"> <h4>Format <span class="ck-status">Valid</span></h4> <p>This email address has the correct format and is not gibberish.</p> </div>':email_result_html+='<div class="ck-card"> <h4>Format <span class="ck-status" style="background-color:pink;color:red;">Invalid</span></h4> <p>This email address is not correct.</p> </div>',email_result.email_valid&&(email_result_html+='<div class="ck-card"> <h4>Type <span class="ck-status" style="background-color: #cce5ff; color: #004085;">Professional</span></h4> <p>The domain name is not used for webmails or for creating temporary email addresses.</p> </div>'),email_result.dns_valid?email_result_html+='<div class="ck-card"> <h4>Server status <span class="ck-status">Valid</span></h4> <p>MX records are present for the domain and we can connect to the SMTP server these MX records point to.</p> </div>':email_result_html+='<div class="ck-card"> <h4>Server status <span class="ck-status" style="background-color:pink;color:red">Invalid</span></h4> <p>MX records are not present for the domain, or we cannot connect to the SMTP server</p> </div>',email_result.dns_valid?email_result_html+='<div class="ck-card"> <h4>Email status<span class="ck-status">Valid</span></h4> <p>This email address exists and can receive emails.</p> </div>':email_result_html+='<div class="ck-card"> <h4>Email status<span class="ck-status" style="background-color:pink;color:red">Invalid</span></h4> <p>This email address can not receive emails.</p> </div>',html_tab+='<div class="ck-accordion"><div class="ck-accordion-header" onclick="ck_toggleAccordion(this)"><div class="ck_icon_with_text"><span class="">'+yes_icon_svg+`</span>
43 <span class="ck_header_span">Email validation result</span></div></div><div class="ck-accordion-content">`+email_result_html+"</div></div>",html_content="",vuln="",vuln_count=0,e.each(authenticated,function(e,c){style="",c.status||(vuln_count+=1,vuln+='<span class="ck-status" style="'+(style="background-color:pink;color:red;")+'">'+e+"</span>"),html_content+='<div class="ck-card"> <h4><span class="ck-status" style="'+style+'">'+e+'</span></h4> <p style="color:blue; overflow-wrap:break-word;">'+c.message+"</p> </div>"}),0==vuln_count?(auth_icon=yes_icon_svg,auth_text="You're properly authenticated",auth_score=2.5):vuln_count>0&&vuln_count<3?(auth_icon=warning_icon_svg,auth_text="You're <strong>not</strong> properly authenticated need some improvement",auth_score=1.5):vuln_count>=3&&(auth_icon=wrong_icon_svg,auth_text="You're <strong>not</strong> properly authenticated",auth_score=0),vuln&&(html_content+='<div class="ck-card"> <h4>Summary'+vuln+'</h4> <p style="color:red; overflow-wrap: break-word;"><strong>Vulnerabilities detected :</strong>Recommendation: Address the identified vulnerabilities to improve DNS security.</p> </div>'),html_tab+='<div class="ck-accordion"><div class="ck-accordion-header" onclick="ck_toggleAccordion(this)"><div class="ck_icon_with_text"><span class="">'+auth_icon+'</span><span class="ck_header_span">'+auth_text+'</span></div></div><div class="ck-accordion-content">'+html_content+"</div></div>",blocklist_html="",block_count=0,e.each(blocklist,function(e,c){c.status?(block_count+=1,blocklist_html+=' <div class="ck-card" style="display:inline-flex; margin:5px; padding:5px; width:30%;"><h4><span class="ck-status" style="color:red; background-color:pink;">Listed : '+c.ip+"</span></h4></div>"):blocklist_html+=' <div class="ck-card" style="margin:5px; padding:5px;display:inline-flex; width:30%;"><h4><span class="ck-status" style="color:green;">Not Listed : '+c.ip+"</span></h4></div>"}),0==block_count?(block_icon=yes_icon_svg,block_text="You're not <strong>blocklisted</strong>",block_score=2.5):block_count>0&&block_count<=12?(block_icon=warning_icon_svg,block_text="You're <strong>blocklisted</strong> need some improvement",block_score=1.5):block_count>12&&(block_icon=wrong_icon_svg,block_text="You're <strong>blocklisted</strong>",block_score=0),html_tab+='<div class="ck-accordion"><div class="ck-accordion-header" onclick="ck_toggleAccordion(this)"><div class="ck_icon_with_text"><span class="">'+block_icon+`</span>
44 <span class="ck_header_span">`+block_text+'</span></div></div><div class="ck-accordion-content"><i><strong>Matches your server IP address ('+c.ip_address+") against 24 of the most common IPv4 blocklists.</strong></i><hr/>"+blocklist_html+"</div></div>",links_html="",link_count=0,e.each(links,function(e,c){c.status>200&&(link_count+=1),links_html+=" <p><strong>Status:"+c.status+"</strong> "+e+"</p>"}),0==link_count?(link_icon=yes_icon_svg,link_text="No broken links",link_score=2.5):(link_icon=warning_icon_svg,link_text="<strong>Found</strong> broken links",link_score=1.5),html_tab+='<div class="ck-accordion"><div class="ck-accordion-header" onclick="ck_toggleAccordion(this)"><div class="ck_icon_with_text"><span class="">'+link_icon+`</span>
45 <span class="ck_header_span">`+link_text+'</span></div></div><div class="ck-accordion-content"><i><strong>Checks if your email contains broken links.</strong></i><hr/>'+links_html+"</div></div>",e("#ck_email_analyze_result").html(html_tab),e(".ck_score_cls").show(),e(".ck_subject_bar").show(),final_score_text="Wow! Perfect",10==(o=link_score+auth_score+spam_score+block_score)?(final_score_text="Hey you need to improve",final_score_color="#038608"):9==o?(final_score_text="Good",final_score_color="#038608"):o<9&&o>5?(final_score_text="Need Improvement",final_score_color="#f9bc39"):o<=5&&(final_score_text="Need Fixing Urgently",final_score_color="#fa0000"),e("#ck_email_analyze_result").html(html_tab),e(".ck_score").css("background-color",final_score_color),e("#ck_score_text").text(final_score_text),e(".ck_score").html(o+" / 10")}else html_content="",c.error?html_content='<p style="color:red;">'+c.error+"</p>":c.response&&(html_content='<p style="color:red;">'+c.response+"</p>"),e("#ck_email_analyze_result").html(html_content),s.show();i.style.display="none"},complete:function(e){i.style.display="none"}})})}(jQuery);