{"id":311419,"date":"2026-08-12T15:14:17","date_gmt":"2026-08-12T15:14:17","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/easymailer\/"},"modified":"2026-08-13T17:27:35","modified_gmt":"2026-08-13T17:27:35","slug":"authenticsender","status":"publish","type":"plugin","link":"https:\/\/pcd.wordpress.org\/plugins\/authenticsender\/","author":20815504,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"7.1","requires":"6.4","requires_php":"7.4","requires_plugins":null,"header_name":"AuthenticSender","header_author":"Alex Hedstr\u00f6m","header_description":"Configure WordPress to send email via SMTP instead of the built-in mail() function.","assets_banners_color":"1e776f","last_updated":"2026-08-13 17:27:35","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/authenticsender.com","header_author_uri":"https:\/\/alexhedstrom.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":140,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.1":{"tag":"1.0.1","author":"alexhedstrom","date":"2026-08-13 17:27:35"}},"upgrade_notice":{"1.0.1":"<p>Adds UseSend SMTP preset and UseSend HTTP API (cloud or self-hosted). Existing SMTP settings are unchanged.<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3643664,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3643664,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3643664,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3643664,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.1"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[267,450,6932,6696,275558],"plugin_category":[41],"plugin_contributors":[259029],"plugin_business_model":[],"class_list":["post-311419","plugin","type-plugin","status-publish","hentry","plugin_tags-email","plugin_tags-mail","plugin_tags-phpmailer","plugin_tags-smtp","plugin_tags-usesend","plugin_category-communication","plugin_contributors-alexhedstrom","plugin_committers-alexhedstrom"],"banners":{"banner":"https:\/\/ps.w.org\/authenticsender\/assets\/banner-772x250.png?rev=3643664","banner_2x":"https:\/\/ps.w.org\/authenticsender\/assets\/banner-1544x500.png?rev=3643664","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/authenticsender\/assets\/icon-128x128.png?rev=3643664","icon_2x":"https:\/\/ps.w.org\/authenticsender\/assets\/icon-256x256.png?rev=3643664","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>AuthenticSender replaces WordPress' default <code>mail()<\/code> function with a configurable SMTP connection or the UseSend HTTP API, giving you control over how your site delivers email.<\/p>\n\n<h4>Delivery Method<\/h4>\n\n<p>Choose <strong>SMTP<\/strong> (default) or <strong>UseSend API<\/strong>. Existing SMTP configurations keep working unchanged when SMTP is selected.<\/p>\n\n<h4>SMTP Configuration<\/h4>\n\n<p>Enable or disable SMTP routing with a single checkbox. When disabled (and not using UseSend API), WordPress falls back to its default <code>mail()<\/code> function. Configure your server connection with:<\/p>\n\n<ul>\n<li><strong>Host<\/strong> - your SMTP server hostname or IP address<\/li>\n<li><strong>Port<\/strong> - any valid port (1-65535), defaulting to 25<\/li>\n<li><strong>Encryption<\/strong> - None, TLS, or SSL<\/li>\n<li><strong>Authentication<\/strong> - optional username and password (stored encrypted with AES-256-GCM)<\/li>\n<\/ul>\n\n<h4>Provider Presets<\/h4>\n\n<p>Select a preset from the dropdown and the host, port, and encryption fields are filled in automatically. Supported providers:<\/p>\n\n<ul>\n<li>Gmail<\/li>\n<li>SendGrid<\/li>\n<li>Mailgun<\/li>\n<li>Postmark<\/li>\n<li>Hostinger<\/li>\n<li>UseSend (host <code>smtp.usesend.com<\/code>, username <code>usesend<\/code>, password = your API key)<\/li>\n<\/ul>\n\n<p>For a self-hosted UseSend SMTP proxy, use Custom and enter your proxy host with the same username\/API-key password pattern.<\/p>\n\n<h4>UseSend API<\/h4>\n\n<p>Send mail through the UseSend HTTP API instead of SMTP:<\/p>\n\n<ul>\n<li>Encrypted API key storage<\/li>\n<li>Cloud hosting (<code>app.usesend.com<\/code>) or self-hosted instance URL<\/li>\n<li>From, Reply-To, BCC, HTML\/text, and attachments are mapped to the API<\/li>\n<\/ul>\n\n<h4>Sender Identity<\/h4>\n\n<p>Override the From name and From email address on outgoing emails when SMTP is enabled or UseSend API is selected. Enable <strong>Force Identity<\/strong> to apply From, Reply-To, and BCC even when using WordPress default mail.<\/p>\n\n<h4>Additional Headers<\/h4>\n\n<p>Set global Reply-To (email and name) and BCC addresses. These apply when SMTP is enabled, UseSend API is selected, or when Force Identity is on. The BCC field accepts multiple comma-separated addresses.<\/p>\n\n<p>Password resets, email confirmations, and similar sensitive messages are never copied to BCC, so reset links and verification tokens are not shared with the BCC address.<\/p>\n\n<h4>Test Email<\/h4>\n\n<p>Send a test message directly from the settings page. AuthenticSender attempts delivery via <code>wp_mail()<\/code> and returns a clear success or error message, so a misconfiguration never leaves you guessing.<\/p>\n\n<h4>Email Log<\/h4>\n\n<p>Keep a database record of every email sent or failed. The log view includes:<\/p>\n\n<ul>\n<li>Timestamp, recipient, subject, status, and delivery method (SMTP, UseSend, or WP Default)<\/li>\n<li>Error message for failed deliveries<\/li>\n<li>Filter by All \/ Success \/ Failed<\/li>\n<li>Paginated table (20 entries per page)<\/li>\n<li>One-click Clear Log with confirmation prompt<\/li>\n<li>Configurable retention period (1-365 days); older entries are pruned automatically<\/li>\n<\/ul>\n\n<p>Logging can be toggled on or off at any time from the Settings tab.<\/p>\n\n<h4>Security<\/h4>\n\n<ul>\n<li>SMTP password and UseSend API key stored encrypted using AES-256-GCM with WordPress <code>AUTH_KEY<\/code> and <code>SECURE_AUTH_KEY<\/code><\/li>\n<li>Unique (non-default, non-identical) authentication keys are required before new SMTP passwords or UseSend API keys can be saved; English and localized sample phrases are detected<\/li>\n<li>Self-hosted UseSend URLs must use HTTPS; localhost, private\/reserved IPs, and unresolvable hosts are blocked by default; HTTP redirects are disabled<\/li>\n<li>Global BCC skips password resets, email confirmations, and similar sensitive mail by default<\/li>\n<li>Email log redacts subjects for the same sensitive-mail patterns<\/li>\n<li>Plugin settings (including credentials) are not autoloaded on front-end requests<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>authenticsender<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Activate the plugin through the Plugins menu in WordPress.<\/li>\n<li>Go to <strong>Settings &gt; AuthenticSender<\/strong> and choose SMTP or UseSend API.<\/li>\n<li>Open the <strong>Test Email<\/strong> tab and send a test message to verify everything is working.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20to%20disable%20wordpress%27%20default%20mail%28%29%20function%3F\"><h3>Do I need to disable WordPress' default mail() function?<\/h3><\/dt>\n<dd><p>No. AuthenticSender hooks into PHPMailer (SMTP) or <code>pre_wp_mail<\/code> (UseSend API) automatically. When SMTP is enabled or UseSend API is selected, the default <code>mail()<\/code> function is bypassed; otherwise it is restored.<\/p><\/dd>\n<dt id=\"can%20i%20use%20this%20with%20gmail%3F\"><h3>Can I use this with Gmail?<\/h3><\/dt>\n<dd><p>Yes. Select Gmail from the Provider Preset dropdown, then enter your Google account username and an App Password (not your regular Google password). App Passwords are generated at https:\/\/myaccount.google.com\/apppasswords<\/p><\/dd>\n<dt id=\"how%20do%20i%20use%20usesend%3F\"><h3>How do I use UseSend?<\/h3><\/dt>\n<dd><p>Two options:<\/p>\n\n<ol>\n<li><strong>SMTP<\/strong> \u2014 Delivery Method = SMTP, Provider Preset = UseSend, username <code>usesend<\/code>, password = your API key.<\/li>\n<li><strong>API<\/strong> \u2014 Delivery Method = UseSend API, enter your API key, choose Cloud or Self-hosted (and your instance URL).<\/li>\n<\/ol><\/dd>\n<dt id=\"where%20are%20the%20email%20logs%20stored%3F\"><h3>Where are the email logs stored?<\/h3><\/dt>\n<dd><p>Logs are stored in the WordPress database. No files are written to the filesystem. You can view, filter, and clear the log from the <strong>Email Log<\/strong> tab in the plugin settings.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20log%20all%20emails%20sent%20by%20wordpress%3F\"><h3>Does the plugin log all emails sent by WordPress?<\/h3><\/dt>\n<dd><p>Yes, when logging is enabled. This includes password reset emails, WooCommerce order notifications, contact form submissions, and any other email routed through <code>wp_mail()<\/code>.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20i%20disable%20logging%20after%20entries%20already%20exist%3F\"><h3>What happens if I disable logging after entries already exist?<\/h3><\/dt>\n<dd><p>Existing entries are preserved. No new entries are written while logging is off. You can re-enable logging at any time or clear the existing log manually.<\/p><\/dd>\n<dt id=\"is%20my%20smtp%20password%20stored%20securely%3F\"><h3>Is my SMTP password stored securely?<\/h3><\/dt>\n<dd><p>Yes. Passwords and UseSend API keys are encrypted with AES-256-GCM using a key derived from your WordPress <code>AUTH_KEY<\/code> and <code>SECURE_AUTH_KEY<\/code> constants before being written to the database.<\/p><\/dd>\n<dt id=\"when%20do%20from%2C%20reply-to%2C%20and%20bcc%20apply%3F\"><h3>When do From, Reply-To, and BCC apply?<\/h3><\/dt>\n<dd><p>They apply when SMTP is enabled or UseSend API is selected. Turn on <strong>Force Identity<\/strong> in Sender Identity if you want those overrides while using WordPress default mail.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Add UseSend SMTP provider preset.<\/li>\n<li>Add UseSend HTTP API delivery (cloud and self-hosted instance URL).<\/li>\n<li>Log delivery method as UseSend when the API path is active.<\/li>\n<li>Warn when WordPress AUTH_KEY \/ SECURE_AUTH_KEY still use sample defaults.<\/li>\n<li>Require unique AUTH_KEY \/ SECURE_AUTH_KEY (including localized samples) before saving new credentials.<\/li>\n<li>Require HTTPS for self-hosted UseSend; block localhost\/private IPs and unresolvable hosts by default; disable HTTP redirects.<\/li>\n<li>Reject invalid UseSend Instance URLs on save (keep previous value).<\/li>\n<li>Apply test-email rate limit when sending throws an exception.<\/li>\n<li>Redact sensitive email subjects in the email log.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Configure WordPress to send email via SMTP or the UseSend API instead of the built-in mail() function.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/311419","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=311419"}],"author":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/alexhedstrom"}],"wp:attachment":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=311419"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=311419"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=311419"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=311419"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=311419"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=311419"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}