I propose that a player could use a post box or post office to send and receive letters, items and/or money.
There would be a post box or post office on each map.
A player would be able to send a letter, and attach items and/or money, and set the character that can retrieve them. The character who can retrieve the letter then goes to their local post box or post office to retrieve the letter and attachments.
There would be a small levy for sending post of 10GP, which increases according to the number of attachments.
There will be a maximum number of attachments per letter, and a maximum number of letters stored per character at one time.
All post (the letter, and an id to the item attached, and the amount of money attached) would be stored by the chat server. It saves the details to the db to safeguard against a crash losing all post.
Post will not be able to be sent to the same character that is sending.
Each game server then asks the chat server if there is post available for the character that is using the postal system.
Each time a character sends post, the game server tells the chat server.
For sending a post Character (sends post in post box) -> Game Server (passes on post) -> Chat Server (stores post)
For retrieving post Chat Server (tells character they have post) -> Character (goes to post office) -> Game Server (asks for post) -> Chat Server (sends post) -> Game Server (passes on post) -> Character (gets post)
In a lot of online games which featured a postal system the system is often abused to extend the item storage capability of the characters by sending items to oneself or a second character without retreiving them and thus "storing" items in the post office. When we don't implement some kind of item storage or make this storage space very limited we have to take precautions to prevent people from abusing the postal system for this purpose.