{"id":365786,"date":"2026-09-08T09:57:48","date_gmt":"2026-09-08T09:57:48","guid":{"rendered":"https:\/\/fr.wordpress.org\/plugins\/inbox-bridge\/"},"modified":"2026-10-11T14:01:49","modified_gmt":"2026-10-11T14:01:49","slug":"tlloancy-outgoing-mail-inbox","status":"publish","type":"plugin","link":"https:\/\/it.wordpress.org\/plugins\/tlloancy-outgoing-mail-inbox\/","author":22011295,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.7.0","stable_tag":"1.7.0","tested":"7.1.3","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"tlloancy Outgoing Mail Inbox","header_author":"tlloancy","header_description":"Turns the WordPress outgoing mail log into an admin inbox and lets you reply to the real person.","assets_banners_color":"f1f8fd","last_updated":"2026-10-11 14:01:49","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/donorbox.org\/wordpress-plugins","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":10,"downloads":415,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"tlloancy","date":"2026-09-08 09:57:22","revision":3686348},"1.1.0":{"tag":"1.1.0","author":"tlloancy","date":"2026-09-09 17:19:11","revision":3688752},"1.3.0":{"tag":"1.3.0","author":"tlloancy","date":"2026-09-10 03:57:19","revision":3689271},"1.4.0":{"tag":"1.4.0","author":"tlloancy","date":"2026-09-18 19:19:23","revision":3702641},"1.5.0":{"tag":"1.5.0","author":"tlloancy","date":"2026-10-10 12:33:05","revision":3738046},"1.6.0":{"tag":"1.6.0","author":"tlloancy","date":"2026-10-10 13:41:11","revision":3738103},"1.6.1":{"tag":"1.6.1","author":"tlloancy","date":"2026-10-10 21:08:06","revision":3738711},"1.7.0":{"tag":"1.7.0","author":"tlloancy","date":"2026-10-11 14:01:49","revision":3739548}},"upgrade_notice":{"1.7.0":"<p>The list reads like a mailbox: one line per message, actions on hover. An address that receives mail through Cloudflare counts as yours, so contact-form notices sent to it land in For you. A notice WordPress sent to its own routed address no longer comes back as a second row.<\/p>","1.6.0":"<p>Reset links are masked in the log and only administrators keep the inbox capability on new installs. Attachment files on request, threaded replies, decoded accents. Copy the Worker again from Settings and deploy it.<\/p>","1.5.0":"<p>Optional Cloudflare Email Routing on Settings. Leave the secret empty and it stays off. After you save, the screen copies the address, the secret, and the Worker.<\/p>","1.4.0":"<p>Inbox layout uses the full admin width. HTML mails (WooCommerce) render as a real preview instead of leaking CSS as text.<\/p>","1.2.0":"<p>For you is people only. WordPress noise \u2014 including failed updates and recovery \u2014 moves to Automated WordPress. The open inbox refreshes via Heartbeat when a mail is logged.<\/p>","1.1.0":"<p>For you stops collecting auto-update noise; failed updates become red alerts with error details; optional AI reply drafts via approved connectors.<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3686348,"resolution":"256x256","location":"assets","locale":"","width":1024,"height":1024}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3686348,"resolution":"1544x500","location":"assets","locale":"","width":1536,"height":1024}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.1.0","1.3.0","1.4.0","1.5.0","1.6.0","1.6.1","1.7.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[358,267,4040,286,6695],"plugin_category":[41,45],"plugin_contributors":[232640],"plugin_business_model":[],"class_list":["post-365786","plugin","type-plugin","status-publish","hentry","plugin_tags-contact-form","plugin_tags-email","plugin_tags-inbox","plugin_tags-woocommerce","plugin_tags-wp_mail","plugin_category-communication","plugin_category-ecommerce","plugin_contributors-tlloancy","plugin_committers-tlloancy"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/tlloancy-outgoing-mail-inbox\/assets\/icon-256x256.png?rev=3686348","icon_2x":"https:\/\/ps.w.org\/tlloancy-outgoing-mail-inbox\/assets\/icon-256x256.png?rev=3686348","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>When a visitor fills in your contact form, you do not really receive a mail <em>from them<\/em>. Your own site builds an outgoing mail containing their message \u2014 often sent from your site address <strong>to<\/strong> your site address \u2014 and the visitor\u2019s real address is hidden in the Reply-To header or in the order. Hit \u201creply\u201d in a normal mail program and you write to yourself.<\/p>\n\n<p><strong>tlloancy Outgoing Mail Inbox<\/strong> captures those outgoing mails (the same <code>wp_mail()<\/code> source WP Mail Logging uses), files the ones meant for you like received mail, and makes Reply go to the actual visitor or customer:<\/p>\n\n<ul>\n<li><strong>For you<\/strong> \u2014 To matches an owner address (admin email, your reply From, or extra addresses you list). These rows are highlighted.<\/li>\n<li><strong>Automated WordPress<\/strong> \u2014 the site mailed itself (install welcome, successful auto-updates, mailer digests).<\/li>\n<li><strong>Sent<\/strong> \u2014 everything else the site mailed (customer confirmations, password resets\u2026).<\/li>\n<li><strong>Reply<\/strong> \u2014 sends a new message <strong>to the visitor or customer<\/strong>, From the site mailbox. It does <strong>not<\/strong> resend the original mail to the same To (that would write to yourself).<\/li>\n<\/ul>\n\n<p>While the inbox is open, a newly logged <code>wp_mail()<\/code> updates the list through the WordPress admin Heartbeat. Other plugins\u2019 admin notices are hidden on this screen.<\/p>\n\n<p>Background noise is filed automatically, in every language. The plugin recognizes system mail by <strong>who sends it<\/strong> (the WordPress auto-updater, <code>wp_new_blog_notification<\/code>, language packs, the WP Mail SMTP weekly summary), never by the subject text:<\/p>\n\n<ul>\n<li>Successful auto-update notices, the install welcome mail, and mailer digests are marked <strong>System<\/strong> and filed under <strong>Automated WordPress<\/strong>.<\/li>\n<li>A <strong>failed<\/strong> update or a recovery-mode crash becomes a highlighted <strong>Site alert<\/strong> in <strong>Automated WordPress<\/strong>, with the PHP error details pulled out of the mail (WordPress 7.2 adds the last fatal error to update-failure mails; recovery mails have carried it since 5.2).<\/li>\n<\/ul>\n\n<p><strong>AI, the WordPress way.<\/strong> Open <strong>Draft a reply with AI<\/strong> above the reply editor; with the WordPress AI plugin and a connector key, it writes a reply in the language of the original mail; nothing is sent until you click Send reply. Prompts only go to the connector checked for this plugin under Settings \u2192 Connectors \u2192 Approvals \u2014 never to an unapproved one. Developers can plug AI (or plain PHP rules) into the sorting itself through the <code>inbox_bridge_classify<\/code> filter and the <code>inbox_bridge_ai_prompt()<\/code> helper.<\/p>\n\n<p>The reply address is taken from the Reply-To header when it is not the site, then from the order number when WooCommerce itself sent the mail, then from the first non-owner email in the message. You can edit it before sending. The subject field is editable and starts with <code>Re:<\/code> in front of the original title, once, the way Gmail does.<\/p>\n\n<p>Replies go through <code>wp_mail()<\/code>. If <strong>WP Mail SMTP<\/strong> (or another mailer) is already talking to Brevo, the reply is authenticated on your domain like any other site mail.<\/p>\n\n<p>Mail written directly to <code>you@yourdomain.com<\/code> from Gmail does not pass through <code>wp_mail()<\/code>. An optional section in Inbox \u2192 Settings can copy a Cloudflare Email Routing Worker that files those messages too. Leave the secret empty and the inbox only keeps what WordPress sends.<\/p>\n\n<p>Not affiliated with inboxbridge.io, Proton Mail Bridge, or other products named Inbox Bridge.<\/p>\n\n<p>Step-by-step guides: <code>docs\/USER-GUIDE.md<\/code> (English) and <code>docs\/MODE-DEMPLOI.md<\/code> (French).<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>tlloancy-outgoing-mail-inbox<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate <strong>tlloancy Outgoing Mail Inbox<\/strong>.<\/li>\n<li>Open <strong>Inbox<\/strong> in the admin menu.<\/li>\n<li>Under <strong>Inbox \u2192 Settings<\/strong>, set the reply From address (your domain mailbox) and the owner addresses that mean \u201cthis mail is for me\u201d.<\/li>\n<li>Keep WP Mail SMTP (or equivalent) configured if you already use it.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20this%20wp%20mail%20logging%3F\"><h3>Is this WP Mail Logging?<\/h3><\/dt>\n<dd><p>Same raw material: every <code>wp_mail()<\/code> call. Different job. WP Mail Logging is a send log with <strong>Resend<\/strong>. tlloancy Outgoing Mail Inbox is an inbox: <strong>For you<\/strong> vs <strong>Sent<\/strong>, and <strong>Reply<\/strong> to the human.<\/p><\/dd>\n<dt id=\"why%20is%20a%20contact-form%20mail%20%E2%80%9Coutgoing%E2%80%9D%3F\"><h3>Why is a contact-form mail \u201coutgoing\u201d?<\/h3><\/dt>\n<dd><p>Because WordPress generated it. The visitor submitted a form; the site mailed you. In the inbox that row is <strong>For you<\/strong>.<\/p><\/dd>\n<dt id=\"who%20receives%20my%20reply%3F\"><h3>Who receives my reply?<\/h3><\/dt>\n<dd><p>The visitor or customer \u2014 Reply-To, billing email on an order, or an address found in the body. Never the site From, unless you type that on purpose.<\/p><\/dd>\n<dt id=\"can%20i%20change%20the%20subject%3F\"><h3>Can I change the subject?<\/h3><\/dt>\n<dd><p>Yes. The reply form has a Subject field, filled in with <code>Re:<\/code> and the original title. The prefix is added once, as in Gmail. Edit the field before sending if this reply needs a different subject.<\/p><\/dd>\n<dt id=\"can%20i%20attach%20earlier%20messages%3F\"><h3>Can I attach earlier messages?<\/h3><\/dt>\n<dd><p>Yes. <strong>History sent with the reply<\/strong> sets how many earlier replies to this same address go under the new message. They are dated lines, oldest first.<\/p><\/dd>\n<dt id=\"is%20this%20related%20to%20inboxbridge.io%20or%20proton%20mail%20bridge%3F\"><h3>Is this related to inboxbridge.io or Proton Mail Bridge?<\/h3><\/dt>\n<dd><p>No. This is an independent plugin by tlloancy. It only logs WordPress <code>wp_mail()<\/code> into wp-admin. It is not affiliated with those products.<\/p><\/dd>\n<dt id=\"which%20from%20address%20is%20used%20for%20replies%3F\"><h3>Which From address is used for replies?<\/h3><\/dt>\n<dd><p>The default is the WordPress admin email (Settings \u2192 General). You can change it under Inbox \u2192 Settings. Replies still go through <code>wp_mail()<\/code>. If WP Mail SMTP has <strong>Force From Email<\/strong> enabled, that SMTP From address is the one recipients see.<\/p><\/dd>\n<dt id=\"do%20i%20need%20the%20cloudflare%20worker%3F\"><h3>Do I need the Cloudflare worker?<\/h3><\/dt>\n<dd><p>No. Mail WordPress sends is logged either way. Inbox \u2192 Settings \u2192 Cloudflare Email Routing is optional: leave the secret empty and it stays off. Turn it on only for mail people write directly to an address on your domain. After you save, that screen has the address, the secret, <strong>Copy the Worker<\/strong>, and the Cloudflare steps in order.<\/p>\n\n<p>First the domain. In the account menu, Domains only lists Overview, Registrations, and Transfers. Open Overview, then click the domain name. Email \u2192 Email Routing in the left menu sends you to the account page Email Routing, under Compute \u2192 Email Service, which lists only domains already onboarded. Press Onboard Domain, pick the Zone, Continue. Verify DNS records adds the MX records that send the domain's mail to Cloudflare, one DKIM TXT, and one SPF TXT. A second SPF TXT on the domain name is invalid: add include:_spf.mx.cloudflare.net to the SPF already there. If existing non-Cloudflare MX records conflict, that MX is the domain's mail server; Email Routing stays off while it is there, and removing it sends every address on the domain to Cloudflare. Press Activate.<\/p>\n\n<p>Then the Worker. Open the domain in the table, Email Routing \u2192 Destination Workers \u2192 Create, Create my own, Deploy. Open View Workers account, the worker, Edit code; paste the script, Deploy, then click the worker name to leave the editor. Settings is the last tab. Under Runtime variables and secrets, Add variable, Production checked, Previews unchecked: INBOX_URL (inbox address, Secret off), INBOX_SECRET (shared secret, Secret on), and only when a copy should also reach a mailbox, FORWARD_TO (a destination address already verified in Email Routing, Secret off). Press the blue button that counts the variables and deploys.<\/p>\n\n<p>Then the rule. Back on the domain, Routing rules. A row whose action is an email address does not call the Worker: open it, or Create routing rule, and set the action to Send to a Worker. One rule for that address. Leave a Catch-all set to Drop disabled.<\/p>\n\n<p>A mail WordPress sent to its own address, such as a contact-form notice to contact@yoursite.com, comes back through the Worker and is recognized as the outgoing mail already in the log: one row, not two. That address counts as one of yours from the first routed message, so the notice itself lands in For you. The reply To is the sender's Reply-To when there is one, otherwise the From address people see, never the bounce address of a mailing service. A message whose domain failed SPF, DKIM, or DMARC shows a Sender not authenticated notice. Save attachment files keeps the files with the message; unchecked, only the names are kept. The reply continues the thread when the message has a Message-ID, and the From is the address that received it when that address is on the same domain as the From address in Settings.<\/p><\/dd>\n<dt id=\"who%20can%20read%20the%20log%3F\"><h3>Who can read the log?<\/h3><\/dt>\n<dd><p>Administrators. The capability is <code>manage_inbox_bridge<\/code>; grant it to another role with a role editor only when that role should see every mail the site sends. Password reset, set-password, and activation links are stored with the key replaced by <code>***<\/code>, so a link read in the inbox cannot be used.<\/p><\/dd>\n<dt id=\"do%20contact%20forms%20need%20a%20special%20setup%3F\"><h3>Do contact forms need a special setup?<\/h3><\/dt>\n<dd><p>Most already set Reply-To to the visitor. If they do not, add the visitor email as Reply-To, or type the address on the reply form.<\/p><\/dd>\n<dt id=\"will%20password%20resets%20show%20up%3F\"><h3>Will password resets show up?<\/h3><\/dt>\n<dd><p>Yes, under <strong>Sent<\/strong> (and <strong>All<\/strong>). They are not highlighted unless they were addressed to an owner mailbox.<\/p><\/dd>\n<dt id=\"why%20do%20some%20messages%20show%20a%20styled%20preview%20and%20others%20look%20like%20plain%20text%3F\"><h3>Why do some messages show a styled preview and others look like plain text?<\/h3><\/dt>\n<dd><p>WooCommerce (and some forms) send HTML with their own stylesheet. The inbox shows that HTML in an isolated preview, so the CSS cannot spill into wp-admin. WordPress core notices are plain text, so they stay text.<\/p><\/dd>\n<dt id=\"why%20did%20the%20list%20not%20update%20until%20i%20refreshed%3F\"><h3>Why did the list not update until I refreshed?<\/h3><\/dt>\n<dd><p>The inbox page is already loaded in the browser. A <code>wp_mail()<\/code> runs in another request. While the inbox is open, WordPress admin Heartbeat asks \u201cdid a new row get logged?\u201d and only then redraws the list. There is no extra timer.<\/p><\/dd>\n<dt id=\"why%20are%20%E2%80%9Cplugins%20were%20automatically%20updated%E2%80%9D%20mails%20not%20in%20for%20you%3F\"><h3>Why are \u201cplugins were automatically updated\u201d mails not in For you?<\/h3><\/dt>\n<dd><p>They are addressed to you, but nobody is on the other side \u2014 there is nothing to reply to. The plugin recognizes the WordPress auto-updater, the install welcome mail, and similar background senders by the sending code, not by the subject, so this works in every language. Successful updates go to <strong>Automated WordPress<\/strong> as <strong>System<\/strong>; a failed update or a crash is a red <strong>Site alert<\/strong> in the same folder, not in For you.<\/p><\/dd>\n<dt id=\"how%20does%20the%20ai%20draft%20work%2C%20and%20which%20connector%20does%20it%20use%3F\"><h3>How does the AI draft work, and which connector does it use?<\/h3><\/dt>\n<dd><p>Install the WordPress AI plugin and add a connector key, then check this plugin under Settings \u2192 Connectors \u2192 Approvals. The Draft button on a message asks the approved connector for a reply in the language of the original mail and puts it in the editor \u2014 you review and send. The approval matrix is re-read on every request, so switching the checked connector takes effect immediately. If no connector is checked, you get a clear error instead of a silent call to an unapproved one.<\/p><\/dd>\n<dt id=\"can%20ai%20re-sort%20the%20inbox%3F\"><h3>Can AI re-sort the inbox?<\/h3><\/dt>\n<dd><p>The classification of every logged mail passes through the <code>inbox_bridge_classify<\/code> filter (folder, unread state, category, reply target). Combine it with <code>inbox_bridge_ai_prompt()<\/code> \u2014 which honors the same connector approvals \u2014 to build an AI triage, or use plain PHP rules.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.7.0<\/h4>\n\n<ul>\n<li>Improved: the list reads like a mailbox. One line per message: sender, subject, then the first words in grey, date on the right. Unread is bold with a blue dot, replied and alerts keep their mark. Move to and Delete appear when the pointer or the keyboard reaches the row; on a phone they sit under the message. Mail the site sent shows To and the recipient.<\/li>\n<li>Improved: an address that receives mail through Cloudflare Email Routing counts as one of yours from the first message. A contact-form notice WordPress sends to that address then lands in For you. Settings lists these addresses under Owner addresses.<\/li>\n<li>Improved: Draft a reply with AI is one line above the editor; open it to type what the reply should say. The editor no longer shows the p path under the text.<\/li>\n<li>Fixed: a notice WordPress sent to its own routed address came back through the Worker as a second row. Outgoing mail now carries a Message-ID the plugin recognizes. When a mailing API replaces it, a copy whose From is the address WordPress sends from, or whose subject matches a mail sent to that address in the last fifteen minutes, is also recognized. A person writing from the admin or owner mailbox to the routed address is still a message.<\/li>\n<li>Fixed: the retention cleanup compared dates in UTC against a log kept in the site's time zone, so the cut fell a few hours early or late depending on the zone.<\/li>\n<\/ul>\n\n<h4>1.6.0<\/h4>\n\n<ul>\n<li>Security: password reset, set-password, and activation links are stored with their key replaced by ***. Only administrators receive the inbox capability on activation; grant it to other roles on purpose.<\/li>\n<li>New: Save attachment files, unchecked by default. Checked, the Worker sends the files and they are kept in a private folder with the message, with a download link on the message screen. Unchecked, only the names are kept. Deleting a message or the retention cleanup removes the files.<\/li>\n<li>New: a reply to a routed message carries In-Reply-To and References, so the recipient's mail program keeps it in the same thread. The From of that reply is the address that received the message when it is on the same domain as the reply address in Settings.<\/li>\n<li>New: routed messages reply to the sender's Reply-To when there is one, otherwise to the From address people see, never to the bounce address of a mailing service. A message whose domain failed SPF, DKIM, or DMARC shows a Sender not authenticated notice.<\/li>\n<li>Improved: subjects, sender names, and attachment names with accents arrive decoded.<\/li>\n<li>Improved: the Worker forwards to FORWARD_TO only when that variable is set, retries the copy three times, and bounces to the sender only when neither WordPress nor the forward received the message. A failed insert on the WordPress side now tells the Worker to retry.<\/li>\n<li>Improved: the Cloudflare steps on Settings, in both guides, and in the FAQ start with the domain, then the Worker, then the routing rule. Each card on Settings is one action, with the long part folded under it. Creating or replacing the secret confirms what to do next.<\/li>\n<li>New: remote images in an HTML message stay hidden until you press Show images, so a tracking pixel does not report that you opened it.<\/li>\n<li>New: on a message, R opens the reply and puts the cursor in the editor; Esc returns to the list. When someone is waiting, the reply form sits above the earlier replies.<\/li>\n<li>Improved: the list marks messages received through Cloudflare and messages with attachments. A search with no result says so and offers the whole folder; Clear removes the search.<\/li>\n<li>Fixed: the Worker read the MIME boundary in lower case, so mail from Apple Mail, Outlook, or Thunderbird was stored as raw MIME with no attachments.<\/li>\n<li>Fixed: a #123 typed in a contact form could resolve to a WooCommerce order and offer another customer's address as the reply target. The order lookup now runs only for mail WooCommerce itself sends.<\/li>\n<\/ul>\n\n<h4>1.5.0<\/h4>\n\n<ul>\n<li>New: optional Cloudflare Email Routing on Settings. Leave the secret empty and it stays off. After you save, the screen copies the address, the secret, and the Worker, and lists the steps. A copied message is marked Received through Cloudflare Email Routing.<\/li>\n<li>Improved: those steps are numbered cards, and Copy confirms on the button.<\/li>\n<li>Improved: the English and French guides, and the Cloudflare FAQ, follow the current dashboard \u2014 DNS records, an existing mail-server MX, and a routing rule whose action is the Worker.<\/li>\n<li>New: the reply form has a Subject field. It starts as Re: plus the original title, once. Edit it before sending.<\/li>\n<li>New: History sent with the reply. Choose how many earlier replies to that same address go under the new message. The row kept in the inbox is the text you wrote. The history is only in the mail that goes out. Each reply in the thread shows its subject.<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Improved: inbox and message screens use the full admin content width instead of a 960px column.<\/li>\n<li>Improved: page header and empty state use the plugin mark; list badges are calmer; folders and rows follow native admin patterns on desktop and mobile.<\/li>\n<li>New: message headers, attachments, thread, and the reply composer sit in fold-out sections. Reply starts open when someone is waiting.<\/li>\n<li>Fixed: WooCommerce (and other HTML) mails no longer dump their stylesheet as text above the body. The preview keeps those styles isolated from wp-admin.<\/li>\n<li>Improved: user guides (EN\/FR) and a FAQ entry on HTML vs plain-text previews.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>New: delete a message straight from the list \u2014 click Delete twice within a few seconds to confirm, no browser confirm() dialog.<\/li>\n<li>New: \"Move to\u2026\" per row to re-file a message into another folder without opening it.<\/li>\n<li>Fixed: the admin JS file was enqueued with a static version number, so browsers could keep serving a stale cached copy after an update; it now busts on file change like the CSS already did.<\/li>\n<li>Fixed: French (fr_FR) translation bundled in \/languages.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>New: Automated WordPress folder. Install welcome, auto-updates, mailer digests, failed updates, and recovery mail leave For you.<\/li>\n<li>New: Site alerts stay red (unread, error panel) but live in Automated WordPress, not For you.<\/li>\n<li>New: List updates through the WordPress admin Heartbeat after a mail is logged \u2014 no extra polling loop.<\/li>\n<li>Improved: other plugins\u2019 admin notices are hidden on Inbox and Settings.<\/li>\n<li>Improved: Settings is split into Reply identity \/ For you \/ Logs.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>New: language-independent triage. Auto-update and digest mails are recognized by sender (core updater filters, call stack), filed under Sent as System \u2014 For you keeps only real messages.<\/li>\n<li>New: Site alerts. Failed auto-updates and recovery-mode mails stay in For you, highlighted in red, with the PHP fatal error extracted (ready for the WordPress 7.2 update-failure mails).<\/li>\n<li>New: Draft a reply with AI, pinned to the connector approved for this plugin under Settings \u2192 Connectors \u2192 Approvals; clear error when none is checked.<\/li>\n<li>New: <code>inbox_bridge_classify<\/code> filter and <code>inbox_bridge_ai_prompt()<\/code> helper so AI or custom rules can re-file any logged mail.<\/li>\n<li>Improved: list badges (Site alert \/ System), alert panel on the message screen, refreshed row styles.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release: wp_mail log, For you \/ Sent folders, highlighted owner notices, reply to the correspondent.<\/li>\n<\/ul>","raw_excerpt":"Turns the WordPress mail log into an inbox: highlight notices the site sent to itself, and reply to the real person.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/365786","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=365786"}],"author":[{"embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/tlloancy"}],"wp:attachment":[{"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=365786"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=365786"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=365786"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=365786"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=365786"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=365786"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}