I've found that switching off my wifi on laptop or unplugging Ethernet cable for even 1 or 2 sec and plugging it back in makes the mail appear. Its way faster than relogging for me. I guess the game needs to refresh from the server for the mail to appear.
EDIT: This doesnt work actually. I think it worked just once and was excited that I found a solution.
Edited by Kaladin_Ninefingers on June 13, 2017 8:36PM
ZOS actually explained this one time to us when we were complaining on the forums about it. and i cant remember what they said but there is a reason for it. well as in a reason why fixing that via coding was not a simple as we think it is. i hope someone remembers and pulls up the link!
It seems like guild store mail has a periodic cycle where your client checks for mail. In some cases you are right on the cycle when you buy something so you get the mail right away. Other times you arent and it wont show up for ~ 5 minutes. You can always 'force' it to update by relog or change zones.