Is there some way to keep the mail.app always opened?
As the other answers mentioned, you can just add it to login items:



There is a bug (?) where Mail is not hidden at login even if the hide checkbox is checked though. And it doesn't prevent you from quitting Mail manually.

You could also add this to the crontab (EDITOR=nano crontab -e):

* * * * * open -jga mail


Or using launchd, save this as ~/Library/LaunchAgents/keep_mail_open.plist:

&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN http://www.apple.com/DTDs/PropertyList-1.0.dtd&gt;
&lt;plist version="1.0"&gt;
&lt;dict&gt;
    &lt;key&gt;Label&lt;/key&gt;
    &lt;string&gt;keep_mail_open&lt;/string&gt;
    &lt;key&gt;ProgramArguments&lt;/key&gt;
    &lt;array&gt;     
        &lt;string&gt;open&lt;/string&gt;
        &lt;string&gt;-jga&lt;/string&gt;
        &lt;string&gt;mail&lt;/string&gt;
    &lt;/array&gt;
    &lt;key&gt;RunAtLoad&lt;/key&gt;
    &lt;true/&gt;
    &lt;key&gt;StartInterval&lt;/key&gt;
    &lt;integer&gt;60&lt;/integer&gt;
&lt;/dict&gt;
&lt;/plist&gt;


You can load the plist with launchctl load ~/Library/LaunchAgents/keep_mail_open.plist or by logging out and back in.

This would disable ⌘Q:

defaults write -app mail NSUserKeyEquivalents -dict-add 'Quit Mail' '\0' &amp;&amp; killall Mail


Adding &lt;key&gt;LSUIElement&lt;/key&gt;&lt;true/&gt; to an Info.plist normally hides an application from the Dock, but it also removes the menu bar. Since 10.8 some applications (apparently including Mail) crash on launch if the Info.plist is modified though.