| 开发者 | tlloancy |
|---|---|
| 更新时间 | 2026年10月11日 05:08 |
| 捐献地址: | 去捐款 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
wp_mail() source WP Mail Logging uses), files the ones meant for you like received mail, and makes Reply go to the actual visitor or customer:
wp_mail() updates the list through the WordPress admin Heartbeat. Other plugins’ admin notices are hidden on this screen.
Background noise is filed automatically, in every language. The plugin recognizes system mail by who sends it (the WordPress auto-updater, wp_new_blog_notification, language packs, the WP Mail SMTP weekly summary), never by the subject text:
inbox_bridge_classify filter and the inbox_bridge_ai_prompt() helper.
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 Re: in front of the original title, once, the way Gmail does.
Replies go through wp_mail(). If WP Mail SMTP (or another mailer) is already talking to Brevo, the reply is authenticated on your domain like any other site mail.
Mail written directly to you@yourdomain.com from Gmail does not pass through wp_mail(). An optional section in Inbox → 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.
Not affiliated with inboxbridge.io, Proton Mail Bridge, or other products named Inbox Bridge.
Step-by-step guides: docs/USER-GUIDE.md (English) and docs/MODE-DEMPLOI.md (French).
tlloancy-outgoing-mail-inbox folder to /wp-content/plugins/.Same raw material: every wp_mail() call. Different job. WP Mail Logging is a send log with Resend. tlloancy Outgoing Mail Inbox is an inbox: For you vs Sent, and Reply to the human.
Because WordPress generated it. The visitor submitted a form; the site mailed you. In the inbox that row is For you.
The visitor or customer — Reply-To, billing email on an order, or an address found in the body. Never the site From, unless you type that on purpose.
Yes. The reply form has a Subject field, filled in with Re: and the original title. The prefix is added once, as in Gmail. Edit the field before sending if this reply needs a different subject.
Yes. History sent with the reply sets how many earlier replies to this same address go under the new message. They are dated lines, oldest first.
No. This is an independent plugin by tlloancy. It only logs WordPress wp_mail() into wp-admin. It is not affiliated with those products.
The default is the WordPress admin email (Settings → General). You can change it under Inbox → Settings. Replies still go through wp_mail(). If WP Mail SMTP has Force From Email enabled, that SMTP From address is the one recipients see.
No. Mail WordPress sends is logged either way. Inbox → Settings → 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, Copy the Worker, and the Cloudflare steps in order. First the domain. In the account menu, Domains only lists Overview, Registrations, and Transfers. Open Overview, then click the domain name. Email → Email Routing in the left menu sends you to the account page Email Routing, under Compute → 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. Then the Worker. Open the domain in the table, Email Routing → Destination Workers → 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. 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. 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. 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.
Administrators. The capability is manage_inbox_bridge; 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 ***, so a link read in the inbox cannot be used.
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.
Yes, under Sent (and All). They are not highlighted unless they were addressed to an owner mailbox.
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.
The inbox page is already loaded in the browser. A wp_mail() runs in another request. While the inbox is open, WordPress admin Heartbeat asks “did a new row get logged?” and only then redraws the list. There is no extra timer.
They are addressed to you, but nobody is on the other side — 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 Automated WordPress as System; a failed update or a crash is a red Site alert in the same folder, not in For you.
Install the WordPress AI plugin and add a connector key, then check this plugin under Settings → Connectors → 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 — 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.
The classification of every logged mail passes through the inbox_bridge_classify filter (folder, unread state, category, reply target). Combine it with inbox_bridge_ai_prompt() — which honors the same connector approvals — to build an AI triage, or use plain PHP rules.
inbox_bridge_classify filter and inbox_bridge_ai_prompt() helper so AI or custom rules can re-file any logged mail.