- Leave the existing Open Mail button untouched during normal mailbox opens - Only run full recovery if the button is missing, hidden or re-parented - Match Otari-style normal behavior while keeping compatibility recovery - Keep Open All, inbox polling, sending and logging unchanged - Bump version to 1.4.12
📬 TurtleMail — Turtle WoW
A lightweight mailbox enhancement for World of Warcraft 1.12, maintained for Turtle WoW 1.18.x / Octo-like environments.
TurtleMail improves the Vanilla mail interface with faster mail handling, multiple attachments, recipient autocomplete, mail logging and useful Auction House / returned-mail indicators.
This fork keeps the original TurtleMail workflow while adding a compatibility and safety layer for modern Turtle WoW 1.12 environments.
📦 Installation
-
Download the addon.
-
Make sure the addon folder is named
TurtleMail. -
Copy it to:
World of Warcraft\Interface\AddOns\TurtleMail -
Restart the game.
-
Make sure TurtleMail is enabled in the AddOns menu.
No additional addon is required for the core functionality.
✨ Features
- Quickly open multiple mails.
- Quickly send multiple item attachments.
- Recipient name autocomplete.
- Automatically learns names from received mail.
- Auction House mail indicators.
- Returned-mail indicators.
- Displays the amount of gold collected while opening mail.
- Apply Cash on Delivery (COD) to the first attachment or all outgoing mails.
- Optional logging for sent and received mail.
- Dedicated mail log interface.
- Multiple localization support.
- Vanilla-style mailbox integration.
🖱️ Mail controls
Inbox
Right-click an inbox entry to automatically:
- Loot attached gold.
- Loot the attached item.
- Delete the empty letter.
COD mail is intentionally ignored by automatic opening and right-click collection.
Attachments
- Right-click an inventory item to add it to an outgoing mail.
- Left-drag an inventory item to add it to the attachment list.
- Right-click an inventory item to add it to the trade frame.
📝 Mail logging
Mail logging is disabled by default.
Enable or disable it with:
/tm log
When enabled, TurtleMail records sent and received mail information in its dedicated log.
⚙️ Commands
| Command | Description |
|---|---|
/tm |
Display TurtleMail help |
/turtlemail |
Long version of /tm |
/tm help |
Display TurtleMail commands |
/tm log |
Toggle mail logging |
/tm clear sent |
Clear the sent-mail log |
/tm clear received |
Clear the received-mail log |
/tm clear names |
Clear saved autocomplete recipient names |
🔧 Turtle WoW compatibility
Version 1.4.12 extends the compatibility, safety, and performance layer for Turtle WoW 1.18.x environments.
The compatibility work is isolated in TurtleMailFix.lua so the original TurtleMail code remains easier to compare with upstream versions.
Main fixes
- Fixed
MailHorizontalBarLeft/MailHorizontalBarRightnil crashes. - Added validation and repair for malformed autocomplete SavedVariables.
- Fixed learning sender names for recipient autocomplete.
- Fixed persistent autocomplete timestamp aging across client restarts.
- Fixed sent-money logging.
- Added safer inbox index and COD handling.
- Prevented stale Auction House and returned-mail icons.
- Added guards for missing or replaced mailbox frames.
- Improved package-frame safety.
- Added safer handling for malformed log entries.
- Fixed calendar tooltip nil/stale-value cases.
- Rebound the safer
OnUpdatehandler correctly after loading the compatibility layer. - Prevented the send queue from remaining stuck when an attachment becomes unavailable during sending.
- Fixed
MailMailButtonnil crashes while enabling/disabling or clearing the send form, and hardened the paired subject edit-box reference. - Restored the missing Open Mail button with an idempotent recovery path.
- Reduced first-open mailbox stutter by removing Open Mail layout repair from
MAIL_INBOX_UPDATEand only changing the button when its state is actually wrong. - Made Open Mail recovery fully lazy on mailbox open: normal openings now leave the existing button completely untouched, matching Otari-style behavior; full repair only runs if the button is missing, hidden, or re-parented.
The complete technical audit is available in AUDIT.md.
🛡️ Compatibility notes
TurtleMail directly interacts with several Blizzard mailbox functions and frames.
Most standard Turtle WoW setups should work normally, but addons that heavily replace or re-parent the default mail interface may conflict with TurtleMail.
The compatibility layer keeps the upstream workflow intact where possible and only replaces fragile paths when needed for compatibility or safety.
🌍 Localization
TurtleMail includes localization support for:
- English
- French
- German
- Spanish
- Russian
🔧 Compatibility
- World of Warcraft 1.12
- Interface version
11200 - Turtle WoW 1.18.x
- Octo-like Vanilla environments
- Vanilla Blizzard mailbox UI
- Optional pfUI integration
📜 Version
Current test version:
1.4.11
Based on upstream TurtleMail 1.4.5.
Version 1.4.10 keeps the Open Mail recovery from 1.4.9 but makes it lightweight: the button is repaired on load/mailbox open only when needed, instead of being re-parented and re-anchored on every inbox refresh. This avoids repeated layout work during the initial mailbox update burst.
Version 1.4.11 also removes the per-call pack()/unpack() allocation from TurtleMail's GetContainerItemInfo hook. The native return count is detected once at login and preserved exactly (up to 12 values), while normal bag queries use fixed local values. This reduces garbage collection pressure during bag/mailbox refreshes without changing mail behavior.
🖼️ Screenshots
📜 Project identity & licensing
TurtleMail is an independent community-maintained fork with this known source chain:
- shirsig/Mail
- sica42/TurtleMail
- this maintained fork
No explicit project-wide license was identified in the two known upstream repositories during the provenance audit, so this fork does not claim to relicense inherited code.
Compatibility with World of Warcraft, Turtle WoW / Octo-like environments, or pfUI does not imply affiliation, endorsement, or sponsorship.
For details, see:
- THIRD_PARTY_NOTICES.md
- PROJECT_IDENTITY.md
- Docs/CODE_PROVENANCE.md
- Docs/ASSET_PROVENANCE.md
- LICENSES/
🙏 Credits
Original TurtleMail addon by shirsig / sica.
Upstream maintenance by sica42.
Turtle WoW compatibility fixes and additional maintenance by Dusk-92.
This fork aims to preserve the original TurtleMail experience while improving compatibility and stability on modern Vanilla server environments.

