Postal
About Postal
Postal offers enhanced mailbox support by providing the following features:
- BlackBook: Adds a contact list next to the To: field.
- Tracks all your characters (as you log each one on) and list them if they are on the same realm/faction on an "Alts" list
- Tracks all your characters (as you log each one on) and list them in the "All Alts" list
- Tracks the last 20 players you mailed on a "Recently Mailed" list.
- Autocomplete names from Alts/Recently Mailed/Contacts/Friends/Guild list. You can choose which of these lists to use.
- Option to autofill in the last person mailed to the To: field.
- Option to disable Blizzard's name auto-completion popup.
- CarbonCopy: Allows you to copy the contents of a mail.
- DoNotWant: Shows a clickable visual icon as to whether a mail will be returned or deleted on expiry.
- Express: Adds shortcuts
- Shift-Click to take item/money from mail
- Ctrl-Click to return mail
- Alt-Click to move an item from your inventory to the current outgoing mail (same as right click in default UI)
- Added option to disable multiple item mail tooltips.
- Forward: Allows you to forward the contents of a mail.
- OpenAll: Allows you to open all mails of selected types at one go in your inbox unattended.
- All AH Cancelled mail
- All AH Expired mail
- All AH Outbidded mail
- All AH Success mail
- All AH Won mail
- Non-AH mail with attachments
- AH settings are divided into neutral and faction-specific settings.
- Shift-Click on the OpenAll button will open all mail and override your filter settings.
- Choose to have a number of bag slots always left free when opening mail.
- QuickAttach: Allows you to quickly attach different trade items types to a mail.
- A default recipient name can be specified by right clicking on a button.
- Which bags are used by this feature can be set in the main menu.
- Rake: Displays summary of money gained from opening mail.
- Select: Adds checkboxes to the inbox with buttons for selective opening/returning
- Added mail indicator numbers above the checkboxes.
- Added help note that you can Shift-Click 2 checkboxes to select everything between them.
- Added help note that you can Ctrl-Click a checkbox to select all mail from that sender.
- Choose to have a number of bag slots always left free when opening mail.
- TradeBlock: Block trades and guild charter signature invites from people while you are at the Inbox.
- Wire: Autoupdate the subject field with money amount if blank.
Postal's menu and settings can be accessed at the upper right corner of your mailbox.
Please post bugs or suggestions at https://www.curseforge.com/wow/addons/postal/issues.
Postal Profiles
While this might not be too intuitive to some users, each character that you log on will have its own initial Postal profile (settings). If you wish that some or all your characters share the same profile (and hence share the same contact list), then you can create a New Profile, call it anything you want such as "Shared by Alts", and have all your other characters change to that profile.
Mass Mailing Abilities
Postal does not come with any abilities to send out mass mails (i.e. messages to more than 1 person at a time). There is no intention to add such functionality to Postal.
Change Logs
Changes from v3.8.0 to v3.9.5
- Merged Postal Classic, BCC, and Retail all into one build.
- Updated some Russian language pack strings (Thanks Hollicsh for the corrections.)
- Added support for WotLK.
- Added support for the new reagent bag for WoW 10.0 release.
- Updated Postal to fully use the new event system for WoW 10.0 release.
- Updated Postal to account for the WotLK classic 3.4.1 changes.
- Code cleanup, and optimization.
Changes from v3.6.9 to v3.7.8
- Added Forward functionality (Issue #94).
- Added QuickAttach functionality
- Allow QuickAttach buttons to autofill in a specific character name automatically (Issue #269).
Changes from v3.5.0 to v3.6.9
- In patch 8.3.0 the mailbox size was increased from 50 to 100. Postal now updated for this change.
- Fixed Express feature ctrl-clicking did not account for soulbound items (Issue #241).
- Alt's list now correctly filters by faction (Issue #238).
- Alt's and All Alt's lists now break into sub lists when they exceed 25 in length, similar to groups and friends list (Issue #116).
- Fixed Lua errors in option to disable Blizzard's name auto-completion popup (Details are in issues #231, #236).
- Added support to disable delay opening of mail (Issue #129).
- Optimized attachment logic for Express sending, by KyrosKrane (Details are in issues #230).
- Updated for 9.1.0
Changes from v3.4.13 to v3.5.0
- Updated for and works with Mists of Pandaria!
- Add Control-Click to attach similar items to Express module, by oscarucb.
- Show buyer/seller name in chat log output when opening AH mails, by jmbarlow.
- Realign buttons properly in MoP.
- Blizzard's guild autocomplete is broken, so we implement our own in the Send name editbox in Blackbook module.
- Fix autocomplete for BattleTag/RealID friends to work.
- Add Italian localization.
Changes from v3.4.12 to v3.4.13
- Add solution (provided by paxi) for mailbox not opening past the first 50 mails for users of other addons that also regularly check the mailbox for changes such as "Tradeskillmaster Mailing".
- Add Brazilian Portugese (ptBR) localization.
Changes from v3.4.10 to v3.4.12
- Updated the TOC number to 40300.
- Apply fix for PTR crash when opening a mail containing more than 2^31 gold, by Cybeloras.
- More accurate timings on when new mail will arrive when someone else is doing CheckInbox() calls, by Mikk.
- Add option to disable having Mr.Plow addon be triggered on opening/returning mails in Select and OpenAll modules. Defaults to On.
Changes from v3.4.9 to v3.4.10
- Updated the TOC number to 40200.
Changes from v3.4.8 to v3.4.9
- Fix "OpenAll.lua:497: 'end' expected (to close 'function' at line 158)" error in v3.4.8.
Changes from v3.4.7 to v3.4.8
- Fix another issue with OpenAll not opening all that resulted from the code simplification.
Changes from v3.4.6 to v3.4.7
- Use a different function to determine if a mail can be returned in the Select module. Should fix return mail issues.
- Simplify OpenAll's mail refreshing code. Fixes the mailbox not auto-refreshing sometimes when you have more mail than 50 to open.
- Add menu option to select which chat window to output Postal's text to. Defaults to ChatFrame1.
- BlackBook will now also record the faction and realm of players you have recently mailed, and only show/use/autocomplete the ones from the same realm/faction as you. This is so that you can use the same profile across multiple servers/factions.
- The recently mailed list is increased in size from 10 to 20 and the list is wiped with this update.
Changes from v3.4.5 to v3.4.6
- If new mails are detected while opening mails, OpenAll will now restart from opening the last mail (in patch 4.0.3, the inbox will now refresh itself on a mailbox change with any new mail if at least 60 seconds has passed).
- Add code to the Select Module to deal with any new mails that might appear at the front of your mailbox at any time, due to flipping inbox pages or a MAIL_INBOX_UPDATE event.
- CheckInbox() behavior changed slightly. It now fires MAIL_INBOX_UPDATE immediately (synchronous) if called within 60 seconds of the last inbox update, but doesn't do it immediately otherwise (asynchronous). Change code in OpenAll module to take this into account to speed up continuing OpenAll by not waiting an extra 10 seconds while doing mailbox refreshes.
Changes from v3.4.4 to v3.4.5
- Fix error that happens when you have no friends on your friends list.
Changes from v3.4.3 to v3.4.4
- Remove RealID friend features from the BlackBook module, along with deleting the realID friend database. Addons are no longer able to obtain real names or any unique realIDs in any manner since patch 4.0.1. Special thanks to Cerala.
Changes from v3.4.2 to v3.4.3
- The Rake module will now properly report the amount of money taken from the mailbox if you right-clicked on the mailbox in the 3D world while it is already open (this bug is new in patch 4.0.1)
- BlackBook module will now add your alt to the alts list on login rather than on visiting the mailbox unless Postal is LoD (due to AddonLoader or otherwise).
- In the OpenAll module, when the mailbox is refreshed during an OpenAll, delay the continuation of OpenAll by 3 seconds to allow for other addons (such as BeanCounter) to do stuff.
Changes from v3.4.0 to v3.4.2
- Fix the annoying error about passing nil to format's #3 argument. The error itself didn't cause any harm, so I didn't tag a release immediately.
- In OpenAll and Select modules, when your bag space is nearly reaching the Keep Free Space setting (1 free above it), Postal will now slow down opening mails to 1 second (if opening speed is below 1 second) to avoid opening mails too quickly and thus avoid going below the Keep Free Space setting. It goes back to opening full speed after you hit the Keep Free Space setting.
- If your inventory is full, OpenAll and Select modules will now loot any items that can combine with any partial stacks in your bags instead of skipping them.
Changes from v3.3.2 to v3.4.0
- Updated for and works with Cataclysm!
- New module CarbonCopy. Allows you to copy the contents of a mail into the clipboard.
- OpenAll module will now really open all your mails - even if you have more than 50 of them. It will now automatically refresh your mailbox and continue opening mails.
- OpenAll and Select modules will stop spamming your chat in verbose mode when your bags are full.
- BlackBook module will now remember your Real ID friend's characters.
- BlackBook module will now show the level and class of your alts, Real ID friends and your guild members in the menus. You may need to log on each alt and visit the mailbox at least once for Postal to remember your alts' level and class.
Changes from v3.3.1 to v3.3.2
- Updated for patch 3.3.5!
- Fix friends list in the BlackBook module. The friends menu dropdown will now show all eligible friends on the same faction and realm that Postal can determine (from friends and RealID).
Changes from v3.3.0 to v3.3.1
- Add option to ignore randoms you interacted with for auto-complete in Blackbook.
- Fix minor bug where "Processing Message 0:" is printed when performing an Open All.
- Fixed unintended bug where Postal allowed CoD amounts larger than 10000g to be sent if the Wire module is active (Blizzard just reduces the CoD amount to 10000g if it was larger). This is now fixed and the default UI behavior to disable the Send button if the amount is larger than 10000g is restored (reported by thefluffyrocker).
Changes from v3.2.2 to v3.3.0
- Updated for patch 3.3!
- Add backward compatibility for MrPlow API function call change.
- Tweak mail opening algorithm so that it won't skip mails when the opening speed is really fast (such as 0.3).
- In BlackBook module, Friends will now auto-complete if Guild disabled and they are in Guild (and vice-versa).
- Raise frame level of some buttons by 1.
- Add workaround to Blizzard's patch 3.3 menu buttons showing behind the menu itself hence they appear disabled.
Changes from v3.2.1 to v3.2.2
- Fix the annoying error about editbox being nil caused by Postman's improper hooking.
- Change the "Please delete some mail..." standard Blizzard message into a more useful one that:
- Shows you how MANY mails remain after the current 50.
- Tells you how long (in seconds) it is until you get to refresh for more.
- Add a setting for "Keep free space", defaults to keeping 1 regular bagslot free in the Select and OpenAll modules. You may need to slow down your opening speed option or leave more empty bag space due to server/client latency.
- Make our BlackBook autocomplete complete before Blizzard's reinstated one. Make the Friends/Guild list BlackBook options affect Blizzard's autocomplete instead in its popup menu (if it is enabled).
- Add an option to turn on or off Postal's auto-complete (default on).
Changes from v3.2.0 to v3.2.1
- Fix the occasional issue where auto-complete will not start working until at least 2 letters are typed.
- Fix the Send button not enabling itself when typing in a name to send to after putting items into the mail first.
Changes from v3.1.2 to v3.2.0
- Updated for patch 3.2!
- TradeBlock module now also blocks guild charter signature invites while the mailbox is open.
- New module: DoNotWant. Shows a clickable visual icon as to whether a mail will be returned or deleted on expiry. Allows fast deleting/returning of mail by clicking the icon (bye Lunar festival mail!). Standard popup warnings will still show for deleting items though.
- Fix name auto-completion in BlackBook module. Now works with Blizzard's one and still retains previous behavior.
- Additionally, you can now choose which lists (Alts/Recent/Contacts/Friends/Guild) Postal will auto-complete names from, as well as disable Blizzard's name auto-completion popup in the BlackBook module options.
- Postal now shows a tooltip containing the mail subject on mouseover if the subject line is too long to fit in the default MailFrame.
- The mailbox will no longer show the silly red "Not all of your mail could be delivered. Please delete some mail to make room." message under our Open and Return buttons in the Select module when you have more than 50 mails. Postal will print it to chat once instead.
Changes from v3.1.1 to v3.1.2
- Hides the minimap unread mail button if there are no unread mail on closing the mailbox. Does not scan past the first 50 items since only the first 50 are viewable.
- Change the opening speed menu to show speeds between 0.3 to 1.0 (with 0.05 steps) and 1.0 to 5.0 (with 0.5 steps). Change the default opening speed from 0.75 to 0.50.
- Add separate OpenAll filters specific to your Faction AH and Neutral AH.
Changes from v3.1.0 to v3.1.1
- Attempt to fix autocomplete in IME char composition mode.
- Fix mouse wheel scrolling in the MailFrame.
- Update passing arguments for some hooks in patch 3.1.
Changes from v3.0.0 to v3.1.0
You are recommended to delete your old Postal folder before installing the new one because it is a Ace3 rewrite and there are a lot of old files and libraries that are no longer needed.
- Framework: Upgraded from Ace2 to Ace3.
- Libraries: DewdropLib is gone. Now uses UIDropDownMenu in the default UI.
- Profile system: Now actually works. The old Postal saved profiles in character specific SVs, so it was useless for copying or sharing.
- Localization: Now uses the wowace localization app at http://www.wowace.com/projects/postal/localization/ to auto-generate the locale files. As such, all 8 locale files are now merged into 1 file since it no longer needs to be maintained manually.
- Slash command /postal: Removed. I don't think anyone used it.
- DejaVu module: Removed. Its functions are now in BlackBook module.
Note: Your old settings (from v3.0.0) are NOT migrated. It should only take at most 30 seconds to look at the 10 or so settings anyway.
In reply to Panzearon:
Hi, there is currently no feature in Postal to search through mail attachments and I have no plans to add one at this time.
There have been some requests for Postal to support a default profile. The original design of Postal was that each character got a unique profile by default. This design was implemented a long time ago and is rather basic to the overall design. I have spent some time thinking about how a default profile could be implemented while at the same time not breaking the profile per character's that people have already made and are used to. I have come up with a solution that leaves the current profile per character in place by default. However, the user can now go to the profile section and check "Default" on. From that point onward all characters that don't have an existing profile will share the same default profile. If you want this to apply to a character that already has a default profile, then simply delete that character's profile and next character login it will use the default profile.
There also was a request to have default profiles per realm. This will not happen.
You can find this change in the latest release v4.0.0.
i will confess before asking i did not search the comments for my question, but ill give it a shot, didnt there used to be a confirmation dialog option when you would send gold?
In reply to minniegarfeeld:
Yes. The dialog was generated by Blizzard code not Postal. Blizzard took the dialog out some years ago.
Postal has always informed me in chat what gold I collected, sent or spent in postage fees in both classic wrath and retail. I like this mod very much, and am glad it has been kept updated.
But after today's update, classic wrath no longer lists postage fees spent, or gold sent to an alt. It does list gold collected.
Retail does list the gold sent or collected, but no longer lists postage fees.
Please fix, and thank you.
In reply to teer88:
Actually, Postal has not done that. Postal has a feature called Rake which tells you about the change in gold from when you opened the mailbox until when you close it. This feature has not changed in many years. Blizzard never provided any information on money spent, lost, or gained from mailboxes. A few years ago, Blizzard added the detailed summary of mailbox transactions you're referring to. People even requested I disable the one in Postal but one of Postal's messages was a duplicate of what Blizzard provided (That ability turn on/off Postal's message is an option in Postal's main menu.) It appears that Blizzard has now taken out their detailed mailbox money messages. This is a Blizzard change and has nothing to do with Postal.
In reply to Zimzarina: Hmm, ok. Yes, Rake tells me both what I spent or collected when I close the mailbox window. And it says it's from Postal in chat. Retail still does both as of this morning.
But it still isn't telling me what I SPENT (or SENT) on classic. It does still tell me what I collected.
So would you please fix classic wrath.
I guess postal fees are gone.
Anyway, Postal was one of the first mods I ever acquired and I had just become used to it over so many years. And I still like it.
And, thanks for your response.
In reply to teer88:
Maybe, I am missing something. But I have looked through the code and don't see any place where it does anything other than a summary. Can you send or post a screen shot of postal showing both what you spent and collected? Blizzard postal fees are still there. It's 30 copper per mail set and extra if there are attachments. I have posted the Rake code below with relevant lines in blue.
local Postal = LibStub("AceAddon-3.0"):GetAddon("Postal")
local Postal_Rake = Postal:NewModule("Rake", "AceEvent-3.0")
local L = LibStub("AceLocale-3.0"):GetLocale("Postal")
Postal_Rake.description = L["Prints the amount of money collected during a mail session."]
local money
local flag = false
function Postal_Rake:OnEnable()
if Postal.WOWClassic or Postal.WOWBCClassic then
self:RegisterEvent("MAIL_SHOW")
else
Postal_Rake:RegisterEvent("PLAYER_INTERACTION_MANAGER_FRAME_SHOW")
end
end
-- Disabling modules unregisters all events/hook automatically
--function Postal_Rake:OnDisable()
--end
-- WoW 10.0 Release Show/Hide Frame Handlers
function Postal_Rake:PLAYER_INTERACTION_MANAGER_FRAME_SHOW(eventName, ...)
local paneType = ...
if paneType == Enum.PlayerInteractionType.MailInfo then Postal_Rake:MAIL_SHOW() end
end
function Postal_Rake:PLAYER_INTERACTION_MANAGER_FRAME_HIDE(eventName, ...)
local paneType = ...
if paneType == Enum.PlayerInteractionType.MailInfo then Postal_Rake:MAIL_CLOSED() end
end
function Postal_Rake:MAIL_SHOW()
if not flag then
money = GetMoney()
if Postal.WOWClassic or Postal.WOWBCClassic then
self:RegisterEvent("MAIL_CLOSED")
else
Postal_Rake:RegisterEvent("PLAYER_INTERACTION_MANAGER_FRAME_HIDE")
end
flag = true
end
end
function Postal_Rake:MAIL_CLOSED()
flag = false
if Postal.WOWClassic or Postal.WOWBCClassic then
self:UnregisterEvent("MAIL_CLOSED")
else
self:UnregisterEvent("PLAYER_INTERACTION_MANAGER_FRAME_HIDE")
end
money = GetMoney() - money
if money > 0 then
Postal:Print(L["Collected"].." "..Postal:GetMoneyString(money))
end
end
In reply to Zimzarina: My apologies. I'm sorry to have wasted your time. I'll just blame my old eyes. Anyway, it doesn't look to be Postal.
Your code is greek to me. But I did go back to retail again and experimented again, specifically looking for your "Postal" "speaker" in chat. And you are correct, I did not see "Postal" when I sent coin to an alt. So, I have no clue what else is doing it. But please know I still very much like Postal and appreciate your time and effort on it.
in Retail version is there a way you can make it so cross faction alts can be listed under the alts section? Since with the cross faction guilds and mail options you can send mail to your alts on the other faction on the same realm and connected realms.
In reply to shadowkusa:
Yes, this could be done but I have no plants to do so. There are two different alt's list as described in the addon description above and repasted below. The Alt's list is specifically for same realm/faction. The all Alt's list is for cross realm/faction.
In reply to Zimzarina: Was just asking because I am a altholic and my all alts list is a bit long. So going through 3 parts to find the alt was a bit tedious to say the least. giving I spread them out over the three connected realms.
In reply to shadowkusa:t
If you have a subset of alts that you mail to often you consider using the contacts list or friends list. These lists allow the user to specify whose is on them.
Anyone who has installed Alpha Build r584 please upgrade to build v3.9.9 immediately! I mentioned in the release notes for the r584 alpha build that I had added a DeleteInboxItem(mailIndex) call to remove work order mails that were empty. AlexL1118 below has found a case where mail with attachments was unintentionality deleted and the items were lost. My apologies for this, it was not intended. The new build removes the delete code that was added to the r584 alpha build.
For now, I don't have any plans to add any code back that will clean up the left-over empty crafting order mails as this has risk of unintentional item loss despite my efforts to avoid it.
Zimzarina, I just got a terrible (to my opinion) problem: several dozens of items (several mails filled by items) have been deleted from my mailbox.
Of course, I wrote a ticket. I thought that it's a game bug.
Then I found that it may be (though not fuly sure) a problem of the "Postal" addon. So I probably have to say "good bye" to all my items which have been deleted.
WoW retail.
Postal r584.
The good news is that I found how to easily reproduce the problem.
1) Create two heirlooms on main and send them to an alt - each one in a separate mail. So you send two mails to an alt, each mail contains one attached item.
2) Relog to the alt and click "Return" on each of those two mails.
3) Relog to the main and open mailbox. We see two mails inside.
4) Select the first mail from the two (meaning - the first from above) which we got on the main.
5) Click on the "Open" button above on the GUI of the "Postal" addon.
6) The first (selected) mail is opened, and we get the item from the first mail.
7) The second mail disappears together with the item inside it.
Even more: if the second mail would contain several items, all of them would disappear because their mail disappears.
In other words, opening a mail leads to disappearing of the next mail beneath the one being opened, together with all the items which are inside the lower mail (if such mail exists of course).
PS: I saw your post here from 20-Jul-2023.
PPS: To prevent this issue in the future, even after you fix the problem, please add additional confirmation request before mail deletion. It's too scaring to rely on the correct return value from Blizzard API in this specific issue.
In reply to AlexL1118:
Hi Alex, I am incredibly sorry about this and please let me know if I can help in any way. I have verified your repro steps and this item loss was caused by Postal. I was very hesitant to put in code that deleted mail since Blizzard's DeleteInboxItem(mailIndex) has no checks or return codes. I tried to ensure that only empty crafting mail would be deleted. However, apparently my checks were not complete enough. One of the checks was to look C_Mail.GetCraftingOrderMailInfo(inboxIndex) to determine if the mail was a crafting mail rather than a simple attachment mail. Turns out if you place an heirloom as an attachment in a mail Blizzard considers that a crafting mail. Why, I have no idea.
For now, I have removed the r584-alpha build from the download page and released an updated build v3.9.9 for anyone who installed the alpha to move to. I am not sure that I will try using the DeleteInboxItem(mailIndex) API again. The risk does not seem worth it.
In reply to Zimzarina:
Thanks for the answer.
Heirlooms here were only for a free-of-charge reproducing. In my original case there were real items which have been lost, not heirlooms. You can replace those heirlooms by any item(s) and get the same result, it just won't be a free-of-charge experiment.
As for deletion in addon - if someone will ever want to use the "DeleteInboxItem()" API, then we should add some additional confirmation (as I wrote in my PPS). A kind of "do you really want to delete..." with a copy of the mail subject inside the confirmation request.
In reply to AlexL1118:
Agreed with your point about confirmation.
is there anyway to delete all alts from the mail list that are no longer viable.. without having to do it individually..
.. Never mind I figured it out lol
I have released an r584-alpha build where work order mails now get deleted once the work order items are taken. This works for both the Select open feature and the Open All feature. This a core design change as Postal never ever before deleted mails but rather let Blizzard do it automatically when the mail was empty. However, Blizzard does not automatically delete empty work order mails when all items are taken so now Postal will do it. This was a bit complicated to add since the Blizzard API's TakeInboxItem(mailIndex, attachIndex) and DeleteInboxItem(mailIndex) are asynchronous calls.
I have done everything I can think of to ensure Postal never deletes any mail that contains items or money. I would like some people to volunteer to test this change but be warned there is now a delete mail call in the code.
After further testing of this release on retail there are cases where the inbox will hang when deleting crafting mail. I am not sure why at this time and will look further into it.