Using launchd, you could save the property list below as
~/Library/LaunchAgents/com.stackexchange.apple.65970.plist, and then load it with
launchctl load ~/Library/LaunchAgents/com.stackexchange.apple.65970.plist or by logging out and back in.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN http://www.apple.com/DTDs/PropertyList-1.0.dtd>
<true/> <!-- run before the first 15 minutes have passed -->
open -g opens an application on the background, but it will still open a visible window if the application wasn't running before.
-j also hides the application if it wasn't running. It was added in 10.8 and is only shown in the help message.
You could also add a line like this to a crontab:
*/15 * * * * open -jga Mail