#mdStyle()

<a name="MailingLists-ApacheShiroMailingLists"></a>
#Apache Shiro Mailing Lists

| List Name            | List Address                                                | Subscribe                                              | Unsubscribe                                                | ASF Archive                                                            | Nabble (Online Forums)                                                   |
|----------------------|-------------------------------------------------------------|--------------------------------------------------------|------------------------------------------------------------|------------------------------------------------------------------------|--------------------------------------------------------------------------|
| Shiro User List      | [user@shiro.apache.org](mailto:user@shiro.apache.org)       | [Subscribe](mailto:user-subscribe@shiro.apache.org)    | [Unsubscribe](mailto:user-unsubscribe@shiro.apache.org)    | [ASF Archive](http://mail-archives.apache.org/mod_mbox/shiro-user/)    | [Nabble Forum and Archive](http://shiro-user.582556.n2.nabble.com/)      |
| Shiro Developer List | [dev@shiro.apache.org](mailto:dev@shiro.apache.org)         | [Subscribe](mailto:dev-subscribe@shiro.apache.org)     | [Unsubscribe](mailto:dev-unsubscribe@shiro.apache.org)     | [ASF Archive](http://mail-archives.apache.org/mod_mbox/shiro-dev/)     | [Nabble Forum and Archive](http://shiro-developer.582600.n2.nabble.com/) |
| Shiro SCM List       | [commits@shiro.apache.org](mailto:commits@shiro.apache.org) | [Subscribe](mailto:commits-subscribe@shiro.apache.org) | [Unsubscribe](mailto:commits-unsubscribe@shiro.apache.org) | [ASF Archive](http://mail-archives.apache.org/mod_mbox/shiro-commits/) |                                                                          |

<a name="MailingLists-DiscussionForums"></a>
###Discussion Forums

If you prefer you could use our discussion [Forums](forums.html "Forums") which are sync'd with the above mailing lists.
<input type="hidden" id="ghEditPage" value="mailing-lists.md"></input>
