Repository navigation
0.2.2
Signatures, and the mails your website sends through the mailbox no longer count as yours.
Added
- [new] Signatures. Several per mailbox, set up in the new "Signaturen" tab of the mailbox form: a
name, plain text (line breaks stay, web addresses become links), one of them the default, and
optionally LeadHub tags. For a contact with one of those tags that signature is preselected; the
first one from the top wins, without a match the default. Placeholders:{{ sender.name }}and
{{ mailbox.email }}. The reply form has a picker with a preview underneath, "Keine" included.
The signature goes under the text and above the quote, after--in the text part. - [new] Replies are sent with an HTML part next to the text: everything escaped, links clickable, the
quote as a blockquote. - [new] With a signature chosen, the AI draft ends without a closing line carrying a name.
Changed
- The Migadu and All-Inkl presets send over port 587 with STARTTLS instead of 465. Many hosts block outbound
465, and the connection test then times out. Sites that publishedconfig/inbox.phpkeep their
own value; existing mailboxes keep their saved port. - Mails the website sends through the mailbox are system mails. Order and booking
confirmations, invoices, access mails in Sent no longer make a conversation relevant, no longer
set it to "waiting", and no longer make the recipient a known correspondent. On their own they
open no conversation (skip reasonsystem); inside one that exists anyway they show folded and
marked "automatisch". Recognised byAuto-Submitted,X-Auto-Response-SuppressorX-Suite-*
headers; otherwise never when a person clearly wrote it (a reply from the inbox, Gmail's
webmail, a mail program inUser-Agent/X-Mailersuch as Roundcube, Thunderbird, Apple Mail or
Outlook, or a mail that answers another); then by subject (inbox.system_mail.subjects, by
default the subjects the suite sends, in both forms of address), or by a Symfony/Laravel
Message-ID together with a sender name frominbox.system_mail.senders. The Message-ID alone
never decides: Roundcube builds the same shape. info+anything@domainis one of your own addresses wheninfo@domainis the mailbox address
or an alias: mail to or from it makes no conversation.inbox:reclassifyapplies both to what is stored: conversations made only of system mails or
only of mail to your own (plus) addresses are deleted with skip records, system mails in the
others are marked. It prints "only system mails" and "marked as automatic".
Fixed
- [fix] A reply sent from the inbox gets its IMAP UID once the fetch meets it in Sent, so
inbox:reclassifycan read its headers later.
Security
- The clean-up that deletes conversations (hiding a sender,
inbox:reclassify) took a reason
given as text for a callable when the text named a PHP function. In 0.2.1 only the fixed
reasonsselfandblockedreached it, never outside input, so it was not reachable; the
reasonsystemof this release would have been. A reason is now only ever called when it is a
closure.
Upgrading
php artisan migrate(addsinbox_mailboxes.signaturesandinbox_messages.automatic), then
php artisan inbox:reclassify --dry-run, then without--dry-run.