If the character you are on is expecting mail from another player or a guild store you have choices,
1. Wait, wait longer, ....
2. Rezone, enter the thieves den or relog to trigger the server to send out any pending mails.
The other type of mails you would be interested in are the system Helper mails enabled from the crafting passives.
For these you currently need to rezone etc for the current character and then log into each other character to collect the ones specific for those characters.
All this changing zone, relogging and scrolling through characters takes time away from playing the game and does of course add some additional load to the game server array which for 1 player would not be very much but I guess many players do this.
I would like to write an addon where I could implement a mail refresh for the current character and also to be able to collect Helper mails for other characters.
Helper mails are not free btw. You need to have levelled the crafting and assigned skill points into the respective passive.
What I am hoping for are some functions that could look like,
GetMailForCharacter() -- defaults to current "Character_Name". This would be the Mail refresh
GetMailForCharacter("Character_Name") -- to collect Helper mails for other characters