[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fGelx2MyFeltR056AlQTnk__nF2SfSiyedPkuw7fRgxY":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":25,"download_link":26,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29,"vulnerabilities":30,"developer":31,"crawl_stats":28,"alternatives":36,"analysis":130,"fingerprints":421},"oderland-smtp-postal-mailer","Oderland SMTP & Postal Mailer","1.3.2","Oderland Webbhotell AB","https:\u002F\u002Fprofiles.wordpress.org\u002Foderlandab\u002F","\u003Cp>Oderland SMTP & Postal Mailer is a plugin that allows you to send transactional emails using \u003Ca href=\"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSimple_Mail_Transfer_Protocol\" rel=\"nofollow ugc\">SMTP\u003C\u002Fa> or \u003Ca href=\"https:\u002F\u002Fdocs.postalserver.io\u002F\" rel=\"nofollow ugc\">Postal\u003C\u002Fa> API. Easy-to-use for e-mail logging and making sure your e-mails make it all the way to your intended target.\u003C\u002Fp>\n\u003Cp>The plugin works with any SMTP mailer you’re using, including but not limited to \u003Ca href=\"https:\u002F\u002Fwww.oderland.se\u002Fpostal\" rel=\"nofollow ugc\">Oderland Postal\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>What is SMTP and why do you need it?\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>SMTP (Simple Mail Transfer Protocol) is the standard that ensures that emails actually arrive at their destination. It’s a protocol that delivers your email between servers when you click “send” in your email client.\u003C\u002Fp>\n\u003Cp>You could say that with an SMTP plugin or service, you want to confirm to the email servers that what you’re sending isn’t spam, which lends authenticity to your mailings.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Features:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Send transactional emails via SMTP, Postal API or PHP mail()\u003C\u002Fli>\n\u003Cli>Multiple mail account support with priority-based failover\u003C\u002Fli>\n\u003Cli>Automatic retry on temporary failures with exponential backoff\u003C\u002Fli>\n\u003Cli>Comprehensive email logging with configurable retention\u003C\u002Fli>\n\u003Cli>Statistics dashboard — email volume over time, delivery success rates, per-account breakdown, failure analysis, recipient domain insights, and send time patterns\u003C\u002Fli>\n\u003Cli>CSV export of all dashboard statistics\u003C\u002Fli>\n\u003Cli>WordPress admin dashboard widget with 7-day email summary\u003C\u002Fli>\n\u003Cli>Engagement tracking (opens, clicks) for Postal accounts\u003C\u002Fli>\n\u003Cli>Postal webhook integration for delivery status tracking\u003C\u002Fli>\n\u003Cli>Per-account webhook debug logging for Postal accounts\u003C\u002Fli>\n\u003Cli>Secure credential storage with AES-256 encryption\u003C\u002Fli>\n\u003Cli>Protocol-level SMTP debugging\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Services Supported:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>SMTP\u003C\u002Fstrong> – Connect to any SMTP server\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fdocs.postalserver.io\u002F\" rel=\"nofollow ugc\">Postal\u003C\u002Fa>\u003C\u002Fstrong> – Integration with Postal mail delivery platform\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Local\u003C\u002Fstrong> – Fallback to PHP mail() function\u003C\u002Fli>\n\u003C\u002Ful>\n","Send transactional emails from WordPress using SMTP or Postal with logging and delivery tracking.",10,419,100,1,"2026-03-11T16:53:00.000Z","6.9.4","5.7","8.1",[20,21,22,23,24],"deliverability","email","mail","postal","smtp","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Foderland-smtp-postal-mailer.1.3.2.zip",0,null,"2026-03-15T15:16:48.613Z",[],{"slug":32,"display_name":7,"profile_url":8,"plugin_count":14,"total_installs":11,"avg_security_score":13,"avg_patch_time_days":33,"trust_score":34,"computed_at":35},"oderlandab",30,94,"2026-04-05T09:57:47.799Z",[37,59,80,97,114],{"slug":38,"name":39,"version":40,"author":41,"author_profile":42,"description":43,"short_description":44,"active_installs":45,"downloaded":46,"rating":34,"num_ratings":47,"last_updated":48,"tested_up_to":16,"requires_at_least":49,"requires_php":50,"tags":51,"homepage":54,"download_link":55,"security_score":56,"vuln_count":57,"unpatched_count":27,"last_vuln_date":58,"fetched_at":29},"wp-mail-logging","WP Mail Logging","1.16.0","Syed Balkhi","https:\u002F\u002Fprofiles.wordpress.org\u002Fsmub\u002F","\u003Cp>WP Mail Logging is the most popular plugin for logging emails sent from your WordPress site. Simply activate it and it will work immediately, no extra configuration is needed.\u003C\u002Fp>\n\u003Ch3>Are your WordPress emails not being sent or delivered?\u003C\u002Fh3>\n\u003Cp>Use this plugin to log all outgoing emails from your WordPress site. If there are any errors when sending the email from your site, our email logs will catch that error and display it to you.\u003C\u002Fp>\n\u003Cp>This will allow you to debug and fix your email sending issue.\u003C\u002Fp>\n\u003Ch3>Did a client not receive your email?\u003C\u002Fh3>\n\u003Cp>Our email logs allow you to resend any email that was sent from your site. No more lost emails!\u003C\u002Fp>\n\u003Ch3>Do you just want to keep a record of all emails sent from your site?\u003C\u002Fh3>\n\u003Cp>By default, WordPress and your web host do not log, store or keep track of emails sent from your website.\u003C\u002Fp>\n\u003Cp>This plugin will allow you to do just that. Our email logs will store every email that is sent from your WordPress site.\u003C\u002Fp>\n\u003Cp>You can search and view a particular email log, inspect its content or attachments, and even resend that email.\u003C\u002Fp>\n\u003Ch3>What email information is logged?\u003C\u002Fh3>\n\u003Cp>All emails sent from your WordPress site are logged. And here is the information that is stored:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Email Subject\u003C\u002Fli>\n\u003Cli>Email Content (HTML or text)\u003C\u002Fli>\n\u003Cli>Email Attachments\u003C\u002Fli>\n\u003Cli>Email Headers (to, from, reply-to, cc, bcc, …)\u003C\u002Fli>\n\u003Cli>Error Message (in case there was an error while attempting to send the email)\u003C\u002Fli>\n\u003Cli>IP Address of originating server (can be enabled in the settings)\u003C\u002Fli>\n\u003Cli>Date and Time of the email\u003C\u002Fli>\n\u003Cli>Receiver (the TO email address)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Why are my logged emails still not delivered to the inbox?\u003C\u002Fh3>\n\u003Cp>There are a lot of steps that emails have to make in order to be delivered to the recipient’s inbox.\u003C\u002Fp>\n\u003Cp>When your WordPress site sends an email, there’s no guarantee it will be delivered.\u003C\u002Fp>\n\u003Cp>This is what the email’s journey looks like:\u003C\u002Fp>\n\u003Col>\n\u003Cli>WordPress creates an email\u003C\u002Fli>\n\u003Cli>WordPress passes the email to your website host and that email gets logged by our plugin\u003C\u002Fli>\n\u003Cli>The host server takes the email and sends it (SMTP or Mail Transfer Agent)\u003C\u002Fli>\n\u003Cli>Recipient server receives or blocks the email\u003C\u002Fli>\n\u003Cli>If the email is accepted, the spam filter decides if it goes to the inbox or the spam folder\u003C\u002Fli>\n\u003Cli>Recipients see the email and might open it.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>This plugin does not track delivery after step 2.\u003C\u002Fp>\n\u003Cp>If you have deliverability issues, we suggest installing the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwp-mail-smtp\u002F\" rel=\"ugc\">WP Mail SMTP\u003C\u002Fa> plugin.\u003C\u002Fp>\n\u003Cp>WP Mail SMTP fixes WordPress email deliverability problems, you can choose between 12 email providers (Gmail, Outlook, SendLayer, Mailgun, …) to resolve your email sending issue and it’s super easy to set up. WP Mail SMTP is trusted by more than 3 million websites.\u003C\u002Fp>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cp>The plugin was created and launched in 2014 by \u003Ca href=\"https:\u002F\u002Fno3x.de\u002F\" rel=\"nofollow ugc\">Christian Zöller\u003C\u002Fa>.\u003C\u002Fp>\n","Log, view, and resend all emails sent from your WordPress site. Great for resolving email sending issues or keeping a copy for auditing.",300000,4360548,349,"2026-02-19T07:13:00.000Z","5.3","7.4",[20,21,52,24,53],"email-log","spam","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwp-mail-logging\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-mail-logging.1.16.0.zip",89,6,"2026-02-27 17:58:35",{"slug":60,"name":61,"version":62,"author":63,"author_profile":64,"description":65,"short_description":66,"active_installs":67,"downloaded":68,"rating":13,"num_ratings":69,"last_updated":70,"tested_up_to":71,"requires_at_least":72,"requires_php":50,"tags":73,"homepage":76,"download_link":77,"security_score":78,"vuln_count":14,"unpatched_count":27,"last_vuln_date":79,"fetched_at":29},"mail-control","Mail Control – Email Customizer, SMTP Deliverability, logging, open and click Tracking","0.3.9","Rahal Aboulfeth","https:\u002F\u002Fprofiles.wordpress.org\u002Frahalaboulfeth\u002F","\u003Cp>Design and customize your emails using WordPress native customizer (compatible with WooCommerce), control your SMTP email deliverability, track your emails clicks and openings (reads), and allow defering the emails as a background process to speed up your pages.\u003C\u002Fp>\n\u003Cp>With Mail Control, you will have a better control over how your emails are handled by wordpress (and WooCommerce) from email design and customization to smtp delivery and click tracking.\u003C\u002Fp>\n\u003Ch3>Email Designer using WordPress native customizer\u003C\u002Fh3>\n\u003Cp>Design beautiful emails using the WooCommerce compatible Email Customizer. The UI provided by WordPress Native Customizer makes it easy to customize the look and feel of your emails.\u003C\u002Fp>\n\u003Ch3>Tracking and logging emails opening and clicks\u003C\u002Fh3>\n\u003Cp>This will allow you to optimize how you craft your emails content and get the better of your email marketing.\u003C\u002Fp>\n\u003Ch3>Sending Emails via an SMTP server\u003C\u002Fh3>\n\u003Cp>For a better deliverability for your emails, Mail Control lets you setup easily you favorite SMTP server.\u003C\u002Fp>\n\u003Ch3>Testing Email Deliverability of your SMTP server\u003C\u002Fh3>\n\u003Cp>Help you make sure your smtp servers checks all the requierements for the perfect deliverability by testing your SFP, DKIM and DMARC setup (and more on this to come).\u003C\u002Fp>\n\u003Ch3>Sending the emails by a background process to speed up your pages\u003C\u002Fh3>\n\u003Cp>No more page timeout because the smtp server take too much time to respond, defer your emails and let a cronjob take care of sending your emails in a separate process.\u003C\u002Fp>\n\u003Ch3>Having a log of all the emails sent (or failed) by wordpress\u003C\u002Fh3>\n\u003Cp>You can find all the emails handled by wordpress (or still in the queue), and resend them if needed.\u003C\u002Fp>\n\u003Ch3>More features and documentation coming\u003C\u002Fh3>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.wpmailcontrol.com\u002Fdocs\u002F\" rel=\"nofollow ugc\">Mail Control Online Documentation\u003C\u002Fa> writing is in progress.\u003C\u002Fp>\n","Design and customize email templates, control your SMTP email deliverability, track your emails clicks and openings, and send them as background task.",60,2305,4,"2025-03-22T17:45:00.000Z","6.7.5","5.0",[21,74,75,52,24],"email-customizer","email-deliverability","https:\u002F\u002Fwww.wpmailcontrol.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmail-control.0.3.9.zip",91,"2023-07-10 00:00:00",{"slug":81,"name":82,"version":83,"author":84,"author_profile":85,"description":86,"short_description":87,"active_installs":88,"downloaded":89,"rating":27,"num_ratings":27,"last_updated":90,"tested_up_to":16,"requires_at_least":91,"requires_php":50,"tags":92,"homepage":95,"download_link":96,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"email-essentials","Email Essentials","6.0.3","Acato","https:\u002F\u002Fprofiles.wordpress.org\u002Facato\u002F","\u003Cp>Email Essentials vastly reduces the chances of your emails being marked as spam or being rejected. Originally a debugging tool, it has grown into a full-fledged email enhancement plugin.\u003C\u002Fp>\n\u003Cp>Please note that this plugin is not a “we support any type of transport” Email plugin. For other protocols than SMTP, but rather to enhance the email sending capabilities of WordPress.\u003Cbr \u002F>\nIf you need to send emails with other protocols than SMTP, this plugin is not for you. You might want to look at plugins like Post SMTP (not affiliated).\u003C\u002Fp>\n\u003Cp>And since version 6.0.0, after more than 10 years of development, this plugin is now a FOSS plugin, meaning it is free to use, modify and distribute under the GPLv2 license.\u003C\u002Fp>\n\u003Cp>In return, we ask you to support the development of this plugin by contributing to the codebase, reporting bugs, and helping others in the community.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Responsible disclosure:\u003C\u002Fstrong>\u003Cbr \u002F>\nIf you find a vulnerability, please email us at \u003Ca href=\"mailto:responsibledisclosure@acato.nl\" rel=\"nofollow ugc\">responsibledisclosure@acato.nl\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Set a good From name and email address, automatically correcting it if needed. For example, a contact form is sent from the visitors email address, resulting in an invalid Sender address. This plugin will correct it to a valid email address. This plugin automatically corrects it.\u003C\u002Fli>\n\u003Cli>Correct envelope-from address; often forgotten, but important for deliverability.\u003C\u002Fli>\n\u003Cli>Reformat as HTML with plain text alternative; will detect the use of HTML ensures that emails are sent as HTML with a plain text alternative.\u003C\u002Fli>\n\u003Cli>Process shortcodes in your email content.\u003C\u002Fli>\n\u003Cli>UTF8 recoding, to ensure that special characters are correctly encoded in the email.\u003C\u002Fli>\n\u003Cli>Email Essentials allows for adding CSS, header, footer, and body template using filters, see below.\u003C\u002Fli>\n\u003Cli>Convert CSS to inline styles for better support in email clients\u003C\u002Fli>\n\u003Cli>SMTP configuration\u003C\u002Fli>\n\u003Cli>Send emails to multiple addressees as separate emails\u003C\u002Fli>\n\u003Cli>S\u002FMIME signing, using a supplied certificate, to ensure the authenticity of the email.\u003C\u002Fli>\n\u003Cli>DKIM signing, and providing all information needed to set up DKIM signing for your domain.\u003C\u002Fli>\n\u003Cli>Allow redirecting emails sent to the administrator to other email addresses based on the email subject.\u003C\u002Fli>\n\u003Cli>Allow redirecting emails sent to the moderators (e.g., for comments).\u003C\u002Fli>\n\u003Cli>Keep a history of outgoing emails (debugging, cleared on deactivation)\u003C\u002Fli>\n\u003Cli>Email receipt tracking (for investigative purposes only, see GDPR note)\u003C\u002Fli>\n\u003Cli>Re-send button for failed emails\u003C\u002Fli>\n\u003Cli>Allow sending emails delayed, to prevent sending too many emails at once. (Beta feature)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Important Note\u003C\u002Fh3>\n\u003Cp>This tool is for users who understand email delivery. If unsure, ask for help.\u003C\u002Fp>\n\u003Cp>\u003Cem>Under GDPR, storing and tracking emails is prohibited. The history feature is for investigative purposes only!\u003C\u002Fem>\u003C\u002Fp>\n\u003Ch3>External services\u003C\u002Fh3>\n\u003Cp>Email Essentials uses one external service by default, two if you create and define your own IP services.\u003C\u002Fp>\n\u003Col>\n\u003Cli>CloudFlare DNS over HTTPS (DoH). This is used to resolve domain names to IP addresses when (for example) checking SPF or DKIM records. In theory, it is possible to use PHPs own \u003Ccode>dns_get_record\u003C\u002Fcode> function, but in practice this often fails due to server DNS-resolve misconfiguration. Using CloudFlare’s DoH service ensures reliable DNS resolution. We only send the hostname (the domain part) to CloudFlare, no other data. Explicitly, we do NOT send any other information.\u003C\u002Fli>\n\u003Cli>The plugin can use an IP-address relay service to accurately determine the sender’s IP address. This is required to accurately check that the sender’s IP address is authorized to send email for the domain (SPF check). To use this, you will need to set up your own service, see documentation on filter \u003Ccode>acato_email_essentials_ip_services\u003C\u002Fcode>. Without this service, IP detection can be inaccurate because it will use the website itself as a relay. Use of a reverse proxy, load balancer etc. can lead to incorrect IP detection.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>WordPress Filters\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ccode>acato_email_essentials_settings\u003C\u002Fcode> — Filter plugin settings.\u003C\u002Fli>\n\u003Cli>\u003Ccode>acato_email_essentials_defaults\u003C\u002Fcode> — Filter default settings.\u003C\u002Fli>\n\u003Cli>\u003Ccode>acato_email_essentials_subject\u003C\u002Fcode> — Filter email subject.\u003C\u002Fli>\n\u003Cli>\u003Ccode>acato_email_essentials_body\u003C\u002Fcode> — Filter HTML body of the email.\u003C\u002Fli>\n\u003Cli>\u003Ccode>acato_email_essentials_head\u003C\u002Fcode> — Filter HEAD section of HTML email.\u003C\u002Fli>\n\u003Cli>\u003Ccode>acato_email_essentials_css\u003C\u002Fcode> — Filter CSS for the email.\u003C\u002Fli>\n\u003Cli>\u003Ccode>acato_email_essentials_minify_css\u003C\u002Fcode> — Filter CSS minification.\u003C\u002Fli>\n\u003Cli>\u003Ccode>acato_email_essentials_mail_is_throttled\u003C\u002Fcode> — Check if mail should be throttled.\u003C\u002Fli>\n\u003Cli>\u003Ccode>acato_email_essentials_mail_throttle_time_window\u003C\u002Fcode> — Set mail throttle time window.\u003C\u002Fli>\n\u003Cli>\u003Ccode>acato_email_essentials_mail_throttle_max_count_per_time_window\u003C\u002Fcode> — Set max emails per time window.\u003C\u002Fli>\n\u003Cli>\u003Ccode>acato_email_essentials_mail_throttle_batch_size\u003C\u002Fcode> — Set mail batch size.\u003C\u002Fli>\n\u003Cli>\u003Ccode>acato_email_essentials_ip_services\u003C\u002Fcode> — Define custom IP services for accurately determining the sender’s IP address.\u003C\u002Fli>\n\u003Cli>\u003Ccode>acato_email_essentials_ip_service\u003C\u002Fcode> — Filter individual IP service URLs.\u003C\u002Fli>\n\u003Cli>\u003Ccode>acato_email_essentials_website_root_path\u003C\u002Fcode> — Filter to supply the correct website root path in case of non-standard setups.\u003C\u002Fli>\n\u003Cli>\u003Ccode>acato_email_essentials_development_tlds\u003C\u002Fcode> — Filter development\u002Flocal TLDs.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>WordPress Filters in detail\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Plugin Settings\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>acato_email_essentials_settings\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Parameters:\u003Cbr \u002F>\n– (array) \u003Ccode>$settings\u003C\u002Fcode> The current settings of the plugin.\u003C\u002Fp>\n\u003Cp>Expected return:\u003Cbr \u002F>\n– (array) The new settings of the plugin.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>acato_email_essentials_defaults\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Parameters:\u003Cbr \u002F>\n– (array) \u003Ccode>$defaults\u003C\u002Fcode> The current default settings of the plugin.\u003C\u002Fp>\n\u003Cp>Expected return:\u003Cbr \u002F>\n– (array) The new default settings of the plugin.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Email Content\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>acato_email_essentials_subject\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Parameters:\u003Cbr \u002F>\n– (string) \u003Ccode>$the_subject\u003C\u002Fcode> Subject for the email.\u003Cbr \u002F>\n– (PHPMailer) \u003Ccode>$mailer\u003C\u002Fcode> The PHPMailer object (by reference).\u003C\u002Fp>\n\u003Cp>Expected return:\u003Cbr \u002F>\n– (string) The (altered) Subject.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>acato_email_essentials_body\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Parameters:\u003Cbr \u002F>\n– (string) \u003Ccode>$should_be_html\u003C\u002Fcode> A text that should be html, but might not yet be, your job to make a nice HTML body.\u003Cbr \u002F>\n– (PHPMailer) \u003Ccode>$mailer\u003C\u002Fcode> The PHPMailer object (by reference).\u003C\u002Fp>\n\u003Cp>Expected return:\u003Cbr \u002F>\n– (string) A text that should be html.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>acato_email_essentials_head\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Parameters:\u003Cbr \u002F>\n– (string) \u003Ccode>$the_head_section\u003C\u002Fcode> HTML that is the HEAD section of the HTML email.\u003Cbr \u002F>\n– (PHPMailer) \u003Ccode>$mailer\u003C\u002Fcode> The PHPMailer object (by reference).\u003C\u002Fp>\n\u003Cp>Expected return:\u003Cbr \u002F>\n– (string) The altered HEAD section of the HTML email.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>acato_email_essentials_css\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Parameters:\u003Cbr \u002F>\n– (string) \u003Ccode>$the_css\u003C\u002Fcode> CSS for the email (empty by default).\u003Cbr \u002F>\n– (PHPMailer) \u003Ccode>$mailer\u003C\u002Fcode> The PHPMailer object (by reference).\u003C\u002Fp>\n\u003Cp>Expected return:\u003Cbr \u002F>\n– (string) The (altered) CSS.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>acato_email_essentials_minify_css\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Parameters:\u003Cbr \u002F>\n– (string) \u003Ccode>$css\u003C\u002Fcode> CSS to be minified.\u003C\u002Fp>\n\u003Cp>Expected return:\u003Cbr \u002F>\n– (string) The minified CSS.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Mail Throttling\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>acato_email_essentials_mail_is_throttled\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Parameters:\u003Cbr \u002F>\n– (bool) \u003Ccode>$is_throttled\u003C\u002Fcode> Whether the mail is currently throttled.\u003Cbr \u002F>\n– (string) \u003Ccode>$ip\u003C\u002Fcode> The sender’s IP address.\u003Cbr \u002F>\n– (int) \u003Ccode>$mails_recently_sent\u003C\u002Fcode> Number of mails recently sent from this IP.\u003C\u002Fp>\n\u003Cp>Expected return:\u003Cbr \u002F>\n– (bool) Whether the mail should be throttled.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>acato_email_essentials_mail_throttle_time_window\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Parameters:\u003Cbr \u002F>\n– (int) \u003Ccode>$time_window\u003C\u002Fcode> Time window in seconds for counting sent emails.\u003C\u002Fp>\n\u003Cp>Expected return:\u003Cbr \u002F>\n– (int) The (altered) time window in seconds.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>acato_email_essentials_mail_throttle_max_count_per_time_window\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Parameters:\u003Cbr \u002F>\n– (int) \u003Ccode>$count\u003C\u002Fcode> Maximum number of emails allowed per time window.\u003C\u002Fp>\n\u003Cp>Expected return:\u003Cbr \u002F>\n– (int) The (altered) maximum count.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>acato_email_essentials_mail_throttle_batch_size\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Parameters:\u003Cbr \u002F>\n– (int) \u003Ccode>$size\u003C\u002Fcode> Number of emails to send in a single batch.\u003C\u002Fp>\n\u003Cp>Expected return:\u003Cbr \u002F>\n– (int) The (altered) batch size.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>IP Detection\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>acato_email_essentials_ip_services\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Parameters:\u003Cbr \u002F>\n– (array) \u003Ccode>$services\u003C\u002Fcode> The current list of IP services used to determine the sender’s IP address.\u003C\u002Fp>\n\u003Cp>Expected return:\u003Cbr \u002F>\n– (array) The (altered) list of IP services.\u003C\u002Fp>\n\u003Cp>The services must be keyed with \u003Ccode>ipv4\u003C\u002Fcode>, \u003Ccode>ipv6\u003C\u002Fcode> and \u003Ccode>dual-stack\u003C\u002Fcode>. The values must be URLs that return the IP address in plain text.\u003Cbr \u002F>\nThe dual-stack service should return an IPv6 address if available, otherwise an IPv4 address, never both.\u003C\u002Fp>\n\u003Cp>You can set-up your own service like this;\u003C\u002Fp>\n\u003Cul>\n\u003Cli>You will need a webserver that can run PHP, and you need a DNS service that allows you to manually add records.\u003C\u002Fli>\n\u003Cli>You will need three webspaces, for example; ipv4.myservice.com, ipv6.myservice.com and dual-stack.myservice.com.\n\u003Cul>\n\u003Cli>You could use the same webspace for all three, but you will still need three subdomains on the service.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>For the ipv4 subdomain, ONLY register an A record, pointing to the webserver’s IP address.\u003C\u002Fli>\n\u003Cli>For the ipv6 subdomain, ONLY register an AAAA record, pointing to the webserver’s IPv6 address.\u003C\u002Fli>\n\u003Cli>For the dual-stack subdomain, register both an A and an AAAA record, pointing to the webserver’s IP addresses.\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Create a file called \u003Ccode>index.php\u003C\u002Fcode> in each of the webspaces with the following content:\u003C\u002Fp>\n\u003Cp>\u003Ccode>php\u003Cbr \u002F>\n\u003C?php\u003Cbr \u002F>\nheader('Content-Type: text\u002Fplain');\u003Cbr \u002F>\nprint $_SERVER['REMOTE_ADDR'];\u003C\u002Fcode>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>That’s it. You can now use these services in the plugin settings like this;\u003C\u002Fp>\n\u003Cpre>\u003Ccode>`php\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>add_filter(‘acato_email_essentials_ip_services’, ‘my_custom_ip_services’);\u003Cbr \u002F>\nfunction my_custom_ip_services($services) {\u003Cbr \u002F>\n    \u002F\u002F Add your custom services here\u003Cbr \u002F>\n    $services[‘ipv4’] = ‘https:\u002F\u002Fipv4.myservice.com’;\u003Cbr \u002F>\n    $services[‘ipv6’] = ‘https:\u002F\u002Fipv6.myservice.com’;\u003Cbr \u002F>\n    $services[‘dual-stack’] = ‘https:\u002F\u002Fdual-stack.myservice.com’;\u003Cbr \u002F>\n    return $services;\u003Cbr \u002F>\n}\u003Cbr \u002F>\n    `\u003C\u002Fp>\n\u003Cpre>\u003Ccode>acato_email_essentials_ip_service\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Parameters:\u003Cbr \u002F>\n– (string) \u003Ccode>$service\u003C\u002Fcode> The URL of the IP service for the given type.\u003Cbr \u002F>\n– (string) \u003Ccode>$type\u003C\u002Fcode> The type of IP service (‘ipv4’, ‘ipv6’, or ‘dual-stack’).\u003C\u002Fp>\n\u003Cp>Expected return:\u003Cbr \u002F>\n– (string) The (altered) IP service URL.\u003C\u002Fp>\n\u003Cp>Filter to modify individual IP service URLs based on type.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>acato_email_essentials_website_root_path\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Parameters:\u003Cbr \u002F>\n– (string) \u003Ccode>$path\u003C\u002Fcode> The current website root path.\u003C\u002Fp>\n\u003Cp>Expected return:\u003Cbr \u002F>\n– (string) The (possibly altered) website root path.\u003C\u002Fp>\n\u003Cp>Filter to supply the correct website root path in case of non-standard setups.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>acato_email_essentials_development_tlds\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Parameters:\u003Cbr \u002F>\n– (array) \u003Ccode>$tlds\u003C\u002Fcode> Array of top-level domains considered as development environments.\u003C\u002Fp>\n\u003Cp>Expected return:\u003Cbr \u002F>\n– (array) The (altered) array of development TLDs.\u003C\u002Fp>\n\u003Cp>Filter to modify which TLDs are treated as development\u002Flocal environments. Default values are ‘local’ and ‘test’.\u003C\u002Fp>\n\u003Ch3>Scripts\u002Fstyles\u003C\u002Fh3>\n\u003Cp>In the \u003Ccode>public\u002Fscripts\u003C\u002Fcode> and \u003Ccode>public\u002Fstyles\u003C\u002Fcode> folder you find the JS and CSS files used in the plugin admin area.\u003Cbr \u002F>\nThese files are processed with Webpack, just so it works in all recent browsers. Script is nearly identical to the source.\u003C\u002Fp>\n\u003Cp>You can find the source files in the \u003Ccode>src\u002Fscripts\u003C\u002Fcode> and \u003Ccode>src\u002Fstyles\u003C\u002Fcode> folders.\u003C\u002Fp>\n\u003Cp>If you feel the need to modify these files, you can change them there, and run \u003Ccode>npm install ; npm run build\u003C\u002Fcode> to create the production files.\u003C\u002Fp>\n\u003Ch3>Translation files\u003C\u002Fh3>\n\u003Cp>You can use \u003Ccode>npm run i18n\u003C\u002Fcode> to generate the POT file for translation, update the PO files in the \u003Ccode>languages\u003C\u002Fcode> folder, and compile to MO\u002Fphp files.\u003Cbr \u002F>\nThis is a one-task-does-all; run it, change the translations, run it again. Done.\u003Cbr \u002F>\nSee package.json for more details or individual commands.\u003C\u002Fp>\n\u003Ch3>Tools\u003C\u002Fh3>\n\u003Cp>In the \u003Ccode>tools\u003C\u002Fcode> folder you will find a script to generate DKIM keys, should you want to use DKIM signing.\u003Cbr \u002F>\nrename to remove the .txt extension and run it in a shell.\u003C\u002Fp>\n\u003Cp>Tools are provided as-is, without support. Use at your own risk. Read the scripts before using them.\u003C\u002Fp>\n\u003Cp>You DO NOT HAVE TO USE these scripts, you can generate DKIM keys with any tool you like.\u003C\u002Fp>\n\u003Ch3>Arbitrary section\u003C\u002Fh3>\n\u003Cp>For advanced configuration and custom IP services, see the plugin documentation or source code.\u003C\u002Fp>\n","A plugin to make WordPress outgoing emails better and less likely to be marked as spam.",40,146,"2026-03-03T12:44:00.000Z","5.6",[20,93,21,94,24],"dkim","smime","https:\u002F\u002Fgithub.com\u002Facato-plugins\u002Femail-essentials","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Femail-essentials.6.0.3.zip",{"slug":98,"name":99,"version":100,"author":101,"author_profile":102,"description":103,"short_description":104,"active_installs":27,"downloaded":105,"rating":13,"num_ratings":14,"last_updated":106,"tested_up_to":107,"requires_at_least":72,"requires_php":25,"tags":108,"homepage":111,"download_link":112,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":113},"ecom-email-health-check","eCommerce Email Health Check","1.0.2","Ahmed Saeed","https:\u002F\u002Fprofiles.wordpress.org\u002Fengahmeds3ed\u002F","\u003Cp>Stop worrying about lost eCommerce emails! This free, simple plugin helps you diagnose your store’s email delivery health in minutes. It runs a series of checks to identify common issues that cause emails to end up in spam or fail to send altogether.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Key Features:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Email Sending Test:\u003C\u002Fstrong> A one-click test to confirm if your site can send emails.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Sender Address Check:\u003C\u002Fstrong> Verifies that your “From” address is configured correctly to avoid being flagged as spam.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>SPF Record Validation:\u003C\u002Fstrong> Checks if your domain has a crucial SPF record to authenticate your emails.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Easy-to-Read Health Report:\u003C\u002Fstrong> Get a clear, actionable report with a summary of your email delivery status.\u003C\u002Fli>\n\u003C\u002Ful>\n","A free, simple tool to diagnose and test your eCommerce email delivery, ensuring orders and notifications reach customers.",225,"2025-08-25T20:31:00.000Z","6.8.5",[20,109,21,24,110],"e-commerce","woocommerce","https:\u002F\u002Fgithub.com\u002Fcodesir-co\u002Fecom-email-health-check","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fecom-email-health-check.1.0.2.zip","2026-03-15T14:54:45.397Z",{"slug":115,"name":116,"version":117,"author":118,"author_profile":119,"description":120,"short_description":121,"active_installs":27,"downloaded":122,"rating":27,"num_ratings":27,"last_updated":25,"tested_up_to":16,"requires_at_least":123,"requires_php":50,"tags":124,"homepage":127,"download_link":128,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":129},"mesh-smtp","Mesh SMTP","1.2.4","Mesh Creation","https:\u002F\u002Fprofiles.wordpress.org\u002Fmeshcrea\u002F","\u003Cp>Mesh SMTP helps route WordPress emails through an SMTP server for better deliverability and reliability.\u003C\u002Fp>\n\u003Cp>It is built for site owners, agencies, and developers who want a lightweight SMTP plugin with a simple and modern admin interface.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Simple SMTP configuration for host, port, encryption, username, and password\u003C\u002Fli>\n\u003Cli>Provider presets with auto-detect help for known email domains, SMTP hosts, and site mail-routing hints\u003C\u002Fli>\n\u003Cli>Test email tool with clear success and error feedback\u003C\u002Fli>\n\u003Cli>Last test status and timestamp summary\u003C\u002Fli>\n\u003Cli>Better setup hints for popular providers\u003C\u002Fli>\n\u003Cli>Clean and modern admin UI\u003C\u002Fli>\n\u003Cli>Capability checks, nonce verification, and sanitized settings handling\u003C\u002Fli>\n\u003Cli>Passwords are not shown back in the UI after saving\u003C\u002Fli>\n\u003Cli>Saved SMTP details stay intact when you temporarily disable the SMTP override\u003C\u002Fli>\n\u003Cli>Works with WordPress emails sent through \u003Ccode>wp_mail()\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Supported provider presets\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Gmail\u003C\u002Fli>\n\u003Cli>Outlook \u002F Microsoft 365\u003C\u002Fli>\n\u003Cli>Zoho Mail\u003C\u002Fli>\n\u003Cli>Hostinger\u003C\u002Fli>\n\u003Cli>SendGrid\u003C\u002Fli>\n\u003Cli>Mailgun\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Why use Mesh SMTP?\u003C\u002Fh4>\n\u003Cp>Many WordPress sites face email delivery issues such as contact form emails not arriving, password reset emails failing, or transactional emails landing in spam. Mesh SMTP gives you a straightforward way to connect WordPress to a trusted SMTP provider and improve email reliability.\u003C\u002Fp>\n\u003Ch4>Security notes\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Settings are processed with WordPress sanitization and nonce verification\u003C\u002Fli>\n\u003Cli>Access is restricted to authorized administrators\u003C\u002Fli>\n\u003Cli>SMTP debug output is not exposed in the admin UI\u003C\u002Fli>\n\u003Cli>Saved passwords are not displayed back in the settings form after saving\u003C\u002Fli>\n\u003C\u002Ful>\n","A lightweight, secure SMTP plugin for WordPress with provider presets, test email support, and a clean admin experience.",108,"6.0",[20,21,125,24,126],"mailer","wp-mail","https:\u002F\u002Fmeshcreation.com\u002Fplugins\u002Fmesh-smtp","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmesh-smtp.1.2.4.zip","2026-03-15T10:48:56.248Z",{"attackSurface":131,"codeSignals":299,"taintFlows":370,"riskAssessment":411,"analyzedAt":420},{"hooks":132,"ajaxHandlers":295,"restRoutes":296,"shortcodes":297,"cronEvents":298,"entryPointCount":27,"unprotectedCount":27},[133,139,142,147,151,157,161,163,165,169,173,177,181,182,184,188,192,197,201,205,209,212,215,219,223,227,231,236,240,243,248,251,255,258,261,263,264,266,270,274,277,281,283,284,285,286,288,289,294],{"type":134,"name":135,"callback":136,"file":137,"line":138},"action","admin_enqueue_scripts","run_enqueue_styles","includes\\Admin\\AdminAssets.php",16,{"type":134,"name":135,"callback":140,"file":137,"line":141},"run_enqueue_scripts",17,{"type":143,"name":144,"callback":145,"priority":11,"file":137,"line":146},"filter","oderland_smtp_postal_mailer_admin_enqueue_styles","enqueue_styles",18,{"type":143,"name":148,"callback":149,"priority":11,"file":137,"line":150},"oderland_smtp_postal_mailer_admin_enqueue_scripts","enqueue_scripts",19,{"type":143,"name":152,"callback":153,"priority":154,"file":155,"line":156},"oderland_smtp_postal_mailer_admin_tabs","tabs",5,"includes\\Admin\\AdminDashboard.php",23,{"type":143,"name":158,"callback":159,"priority":154,"file":155,"line":160},"oderland_smtp_postal_mailer_admin_views","views",24,{"type":143,"name":144,"callback":145,"priority":11,"file":155,"line":162},25,{"type":143,"name":148,"callback":149,"priority":11,"file":155,"line":164},26,{"type":134,"name":166,"callback":167,"file":155,"line":168},"wp_dashboard_setup","register_widget",27,{"type":134,"name":170,"callback":171,"file":155,"line":172},"admin_head-index.php","widget_css",28,{"type":134,"name":174,"callback":175,"file":176,"line":141},"admin_notices","render","includes\\Admin\\AdminNotices.php",{"type":134,"name":178,"callback":179,"file":180,"line":146},"admin_menu","add_root_page","includes\\Admin\\AdminPages.php",{"type":143,"name":152,"callback":153,"file":180,"line":150},{"type":143,"name":158,"callback":159,"file":180,"line":183},20,{"type":134,"name":185,"callback":186,"file":180,"line":187},"oderland_smtp_postal_mailer_admin_view_pre_load","view_pre_load",21,{"type":134,"name":189,"callback":190,"file":180,"line":191},"oderland_smtp_postal_mailer_admin_view_post_load","view_post_load",22,{"type":143,"name":193,"callback":194,"priority":11,"file":195,"line":196},"set-screen-option","set_screen_option","includes\\Admin\\AdminScreenOptions.php",15,{"type":134,"name":198,"callback":199,"priority":11,"file":200,"line":146},"oderland_smtp_postal_mailer_log","log_to_error_log","includes\\Core\\Logger.php",{"type":134,"name":202,"callback":203,"priority":11,"file":204,"line":146},"oderland_smtp_postal_mailer_send_mail","send_mail","includes\\Core\\Mailer.php",{"type":134,"name":206,"callback":207,"file":208,"line":191},"admin_init","add_privacy_policy_content","includes\\Core\\Privacy.php",{"type":143,"name":210,"callback":211,"file":208,"line":156},"wp_privacy_personal_data_exporters","register_exporter",{"type":143,"name":213,"callback":214,"file":208,"line":160},"wp_privacy_personal_data_erasers","register_eraser",{"type":134,"name":206,"callback":216,"file":217,"line":218},"register_settings","includes\\Core\\Settings.php",37,{"type":143,"name":220,"callback":221,"priority":11,"file":222,"line":146},"pre_wp_mail","on_wp_mail","includes\\Core\\WPMail.php",{"type":134,"name":224,"callback":225,"priority":11,"file":226,"line":33},"oderland_smtp_postal_mailer_mail_event","on_mail_event","includes\\Models\\Event.php",{"type":134,"name":228,"callback":229,"priority":11,"file":226,"line":230},"oderland_smtp_postal_mailer_mail_failed_account","on_mail_failed_account",31,{"type":143,"name":232,"callback":233,"file":234,"line":235},"oderland_smtp_postal_mailer_send_mail_msg","on_mail_msg","includes\\Models\\Mail.php",32,{"type":134,"name":237,"callback":238,"priority":11,"file":234,"line":239},"oderland_smtp_postal_mailer_mail_sent","on_mail_sent",33,{"type":143,"name":232,"callback":233,"priority":241,"file":242,"line":230},11,"includes\\Models\\Recipient.php",{"type":134,"name":244,"callback":245,"file":246,"line":247},"rest_api_init","run_rest","includes\\Plugin.php",84,{"type":134,"name":206,"callback":249,"file":246,"line":250},"deactivate_old_plugin",87,{"type":143,"name":252,"callback":253,"file":254,"line":150},"oderland_smtp_postal_mailer_services","add_service","includes\\Services\\Local\\Local.php",{"type":143,"name":256,"callback":257,"priority":11,"file":254,"line":183},"oderland_smtp_postal_mailer_service_mailer","get_mailer",{"type":143,"name":259,"callback":260,"priority":11,"file":254,"line":187},"oderland_smtp_postal_mailer_service_info","get_service_info",{"type":143,"name":252,"callback":253,"file":262,"line":235},"includes\\Services\\Postal\\Postal.php",{"type":143,"name":256,"callback":257,"priority":11,"file":262,"line":239},{"type":143,"name":259,"callback":260,"priority":11,"file":262,"line":265},34,{"type":134,"name":267,"callback":268,"priority":11,"file":262,"line":269},"oderland_smtp_postal_mailer_service_data_form","service_data_form",35,{"type":143,"name":271,"callback":272,"priority":11,"file":262,"line":273},"oderland_smtp_postal_mailer_service_data_save","service_data_save",36,{"type":143,"name":275,"callback":276,"priority":11,"file":262,"line":218},"oderland_smtp_postal_mailer_validate_account_props","validate_account_props",{"type":143,"name":278,"callback":279,"priority":11,"file":262,"line":280},"oderland_smtp_postal_mailer_get_status_from_events","get_status_from_events",38,{"type":143,"name":252,"callback":253,"file":282,"line":162},"includes\\Services\\SMTP\\SMTP.php",{"type":143,"name":256,"callback":257,"priority":11,"file":282,"line":164},{"type":143,"name":259,"callback":260,"priority":11,"file":282,"line":168},{"type":134,"name":267,"callback":268,"priority":11,"file":282,"line":172},{"type":143,"name":271,"callback":272,"priority":11,"file":282,"line":287},29,{"type":143,"name":275,"callback":276,"priority":11,"file":282,"line":269},{"type":134,"name":290,"callback":291,"file":292,"line":293},"oderland_smtp_postal_mailer_mail_failed","closure","views\\Admin\\test-account.php",64,{"type":134,"name":237,"callback":291,"file":292,"line":78},[],[],[],[],{"dangerousFunctions":300,"sqlUsage":301,"outputEscaping":317,"fileOperations":363,"externalRequests":27,"nonceChecks":364,"capabilityChecks":365,"bundledLibraries":366},[],{"prepared":302,"raw":154,"locations":303},13,[304,308,310,313,315],{"file":305,"line":306,"context":307},"includes\\Migrations\\V1_1_0.php",129,"$wpdb->get_var() with variable interpolation",{"file":305,"line":309,"context":307},131,{"file":305,"line":311,"context":312},136,"$wpdb->query() with variable interpolation",{"file":305,"line":314,"context":312},142,{"file":305,"line":316,"context":312},147,{"escaped":318,"rawEcho":150,"locations":319},236,[320,323,325,327,329,331,333,335,338,341,343,346,348,351,353,354,357,359,361],{"file":217,"line":321,"context":322},204,"raw output",{"file":217,"line":324,"context":322},279,{"file":217,"line":326,"context":322},384,{"file":282,"line":328,"context":322},126,{"file":282,"line":330,"context":322},145,{"file":282,"line":332,"context":322},164,{"file":282,"line":334,"context":322},183,{"file":336,"line":337,"context":322},"views\\Admin\\accounts.php",41,{"file":339,"line":340,"context":322},"views\\Admin\\Components\\AccountForm.php",315,{"file":339,"line":342,"context":322},355,{"file":344,"line":345,"context":322},"views\\Admin\\Components\\LogDetails.php",216,{"file":344,"line":347,"context":322},226,{"file":349,"line":350,"context":322},"views\\Admin\\Components\\PostalServiceForm.php",200,{"file":352,"line":162,"context":322},"views\\Admin\\create-account.php",{"file":352,"line":273,"context":322},{"file":355,"line":356,"context":322},"views\\Admin\\edit-account.php",159,{"file":355,"line":358,"context":322},186,{"file":355,"line":360,"context":322},248,{"file":362,"line":160,"context":322},"views\\Admin\\Partials\\header.php",3,9,7,[367],{"name":368,"version":28,"knownCves":369},"Guzzle",[],[371,391,400],{"entryPoint":372,"graph":373,"unsanitizedCount":389,"severity":390},"\u003Caccounts> (views\\Admin\\accounts.php:0)",{"nodes":374,"edges":386},[375,380],{"id":376,"type":377,"label":378,"file":336,"line":379},"n0","source","$_REQUEST (x2)",69,{"id":381,"type":382,"label":383,"file":336,"line":384,"wp_function":385},"n1","sink","echo() [XSS]",73,"echo",[387],{"from":376,"to":381,"sanitized":388},false,2,"low",{"entryPoint":392,"graph":393,"unsanitizedCount":389,"severity":390},"\u003Clogs> (views\\Admin\\logs.php:0)",{"nodes":394,"edges":398},[395,397],{"id":376,"type":377,"label":378,"file":396,"line":168},"views\\Admin\\logs.php",{"id":381,"type":382,"label":383,"file":396,"line":230,"wp_function":385},[399],{"from":376,"to":381,"sanitized":388},{"entryPoint":401,"graph":402,"unsanitizedCount":27,"severity":390},"\u003Ctest-account> (views\\Admin\\test-account.php:0)",{"nodes":403,"edges":408},[404,406],{"id":376,"type":377,"label":405,"file":292,"line":150},"$_POST",{"id":381,"type":382,"label":383,"file":292,"line":407,"wp_function":385},194,[409],{"from":376,"to":381,"sanitized":410},true,{"summary":412,"deductions":413},"The \"oderland-smtp-postal-mailer\" plugin v1.3.2 exhibits a generally strong security posture with several good practices in place. The absence of any known vulnerabilities (CVEs) and a low number of observed taint flows are positive indicators. The code demonstrates a commendable effort in using prepared statements for SQL queries and proper output escaping, which significantly mitigates common risks like SQL injection and cross-site scripting (XSS).  The presence of nonce and capability checks further reinforces its security, though the low number of identified entry points means these checks are not extensively tested across a broad attack surface.",[414,416,418],{"reason":415,"points":11},"Flows with unsanitized paths found",{"reason":417,"points":154},"Some SQL queries not using prepared statements",{"reason":419,"points":363},"Some output potentially unescaped","2026-03-16T23:47:08.446Z",{"wat":422,"direct":443},{"assetPaths":423,"generatorPatterns":432,"scriptPaths":433,"versionParams":434},[424,425,426,427,428,429,430,431],"\u002Fwp-content\u002Fplugins\u002Foderland-smtp-postal-mailer\u002Fassets\u002Fcss\u002Fsmtp-postal-admin.css","\u002Fwp-content\u002Fplugins\u002Foderland-smtp-postal-mailer\u002Fassets\u002Fvendor\u002Ftippyjs\u002Ftippy.css","\u002Fwp-content\u002Fplugins\u002Foderland-smtp-postal-mailer\u002Fassets\u002Fjs\u002Fsmtp-postal-admin.js","\u002Fwp-content\u002Fplugins\u002Foderland-smtp-postal-mailer\u002Fassets\u002Fjs\u002Fsmtp-postal-admin-footer.js","\u002Fwp-content\u002Fplugins\u002Foderland-smtp-postal-mailer\u002Fassets\u002Fjs\u002Fadmin-forms.js","\u002Fwp-content\u002Fplugins\u002Foderland-smtp-postal-mailer\u002Fassets\u002Fjs\u002Fdatetime.js","\u002Fwp-content\u002Fplugins\u002Foderland-smtp-postal-mailer\u002Fassets\u002Fvendor\u002Fpopperjs\u002Fpopper.min.js","\u002Fwp-content\u002Fplugins\u002Foderland-smtp-postal-mailer\u002Fassets\u002Fvendor\u002Ftippyjs\u002Ftippy.umd.min.js",[],[],[435,436,437,438,439,440,441,442],"oderland-smtp-postal-mailer\u002Fassets\u002Fcss\u002Fsmtp-postal-admin.css?ver=","oderland-smtp-postal-mailer\u002Fassets\u002Fvendor\u002Ftippyjs\u002Ftippy.css?ver=","oderland-smtp-postal-mailer\u002Fassets\u002Fjs\u002Fsmtp-postal-admin.js?ver=","oderland-smtp-postal-mailer\u002Fassets\u002Fjs\u002Fsmtp-postal-admin-footer.js?ver=","oderland-smtp-postal-mailer\u002Fassets\u002Fjs\u002Fadmin-forms.js?ver=","oderland-smtp-postal-mailer\u002Fassets\u002Fjs\u002Fdatetime.js?ver=","oderland-smtp-postal-mailer\u002Fassets\u002Fvendor\u002Fpopperjs\u002Fpopper.min.js?ver=","oderland-smtp-postal-mailer\u002Fassets\u002Fvendor\u002Ftippyjs\u002Ftippy.umd.min.js?ver=",{"cssClasses":444,"htmlComments":446,"htmlAttributes":447,"restEndpoints":455,"jsGlobals":458,"shortcodeOutput":460},[445],"smtp-postal-body",[],[448,449,450,451,452,453,454],"data-i18n-cancel","data-i18n-add-new-api-key","data-i18n-show","data-i18n-hide","data-i18n-copied","data-i18n-copy-webhook","data-i18n-required",[456,457],"\u002Fwp-json\u002Foderland-smtp-postal-mailer\u002Fv1\u002Fgenerate-password","\u002Fwp-json\u002Foderland-smtp-postal-mailer\u002Fv1\u002Fmail-event\u002Fpostal",[459],"oderlandSmtpPostalMailer",[]]