<HTML>

  <head>
    <title>Mailing Lists and Forums</title>
    <META NAME="description" CONTENT="NetBeans mailing lists and forums,
          how to subscribe, unsubscribe, browse archives">
    <meta http-equiv="Content-Type" content="text/html;  charset=UTF-8">
    <meta http-equiv="content-language" CONTENT="en">
    <link rel="stylesheet" type="text/css" HREF="../../netbeans.css">
  </head>

  <body>
    <h1>NetBeans Mailing Lists and Forums</h1>

    <p>Looking for NetBeans IDE support, community news, or release announcements?
      You can communicate with the community via mailing lists, online forums, or news groups.
      <em>The forums and news groups are synchronized with the mailing lists</em>.
      This means a comment posted on a forum will appear on the corresponding mailing list,
      and vice versa.
    </p>


    <a name="access"></a><h2>How to Access</h2>

       <div class="trail-box" style="float:right; margin-left:15px;margin-bottom:15px">
      <div class="trail-box-header">
        <img src="../../images_www/v6/trails/trails-box-tr.png" width="7" height="21" class="right">
        <img src="../../images_www/v6/trails/trails-box-tl.png" width="7" height="21" class="left">
        <h1>News &amp; Support Lists</h1>
      </div>

      <div class="trail-box-content">
        <table border="0" cellpadding="3" cellspacing="1">
          <tr>
            <td colspan="2" align="center">
              <b>
                &#110;&#98;&#97;&#110;&#110;&#111;&#117;&#110;&#99;&#101; &#x40;
                &#110;&#101;&#116;&#98;&#101;&#97;&#110;&#115;&#46;&#111;&#114;&#103;
              </b>
              <br />Release announcements
            </td>
          </tr><tr>
            <td align="center">
              <script language="JavaScript" type="text/javascript">
                <!--
                var user = "&#115;&#121;&#109;&#112;&#97;";
                var domain = "&#110;&#101;&#116;&#98;&#101;&#97;&#110;&#115;&#46;&#111;&#114;&#103;&#63;&#115;&#117;&#98;&#106;&#101;&#99;&#116;&#61;&#115;&#117;&#98;&#115;&#99;&#114;&#105;&#98;&#101;&#37;&#50;&#48;&#110;&#98;&#97;&#110;&#110;&#111;&#117;&#110;&#99;&#101;";
                var at = "&#x40;";
                document.write('<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;' + user + at + domain + '"><img src="../../images_www/v4/btn_subscribe.gif" alt="Subscribe" title="Subscribe" width=63 height=13 border=0 vspace=3></a>');
                //-->
              </script>
              <noscript>
                <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#115;&#121;&#109;&#112;&#97;&#x40;&#110;&#101;&#116;&#98;&#101;&#97;&#110;&#115;&#46;&#111;&#114;&#103;&#63;&#115;&#117;&#98;&#106;&#101;&#99;&#116;&#61;&#115;&#117;&#98;&#115;&#99;&#114;&#105;&#98;&#101;&#37;&#50;&#48;&#110;&#98;&#97;&#110;&#110;&#111;&#117;&#110;&#99;&#101;"><img src="../../images_www/v4/btn_subscribe.gif" alt="Subscribe" title="Subscribe" width=63 height=13 border=0 vspace=3></a>
              </noscript>
            </td><td align="center">
              <script language="JavaScript" type="text/javascript">
                <!--
                var user = "&#115;&#121;&#109;&#112;&#97;";
                var domain = "&#110;&#101;&#116;&#98;&#101;&#97;&#110;&#115;&#46;&#111;&#114;&#103;&#63;&#115;&#117;&#98;&#106;&#101;&#99;&#116;&#61;&#117;&#110;&#115;&#117;&#98;&#115;&#99;&#114;&#105;&#98;&#101;&#37;&#50;&#48;&#110;&#98;&#97;&#110;&#110;&#111;&#117;&#110;&#99;&#101;";
                var at = "&#x40;";
                document.write('<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;' + user + at + domain + '"><img src="../../images_www/v4/btn_unsubscribe.gif" alt="Unsubscribe" title="Unsubscribe" width=63 height=13 border=0 vspace=3></a>');
                //-->
              </script>
              <noscript>
                <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#115;&#121;&#109;&#112;&#97;&#x40;&#110;&#101;&#116;&#98;&#101;&#97;&#110;&#115;&#46;&#111;&#114;&#103;&#63;&#115;&#117;&#98;&#106;&#101;&#99;&#116;&#61;&#117;&#110;&#115;&#117;&#98;&#115;&#99;&#114;&#105;&#98;&#101;&#37;&#50;&#48;&#110;&#98;&#97;&#110;&#110;&#111;&#117;&#110;&#99;&#101;"><img src="../../images_www/v4/btn_unsubscribe.gif" alt="Unsubscribe" title="Unsubscribe" width=63 height=13 border=0 vspace=3></a>
              </noscript>
            </td>
          </tr>
          <tr>
            <td colspan="2" align="center">
              <p><br /></p>
              <b>
                &#110;&#98;&#119;&#101;&#101;&#107;&#108;&#121; &#x40;
                &#110;&#101;&#116;&#98;&#101;&#97;&#110;&#115;&#46;&#111;&#114;&#103;
              </b>
              <br />Weekly news and tech tips
            </td>
          </tr><tr>
            <td class="tbltd0" align="center">
              <script language="JavaScript" type="text/javascript">
                <!--
                var user = "&#115;&#121;&#109;&#112;&#97;";
                var domain = "&#110;&#101;&#116;&#98;&#101;&#97;&#110;&#115;&#46;&#111;&#114;&#103;&#63;&#115;&#117;&#98;&#106;&#101;&#99;&#116;&#61;&#115;&#117;&#98;&#115;&#99;&#114;&#105;&#98;&#101;&#37;&#50;&#48;&#110;&#98;&#119;&#101;&#101;&#107;&#108;&#121;";
                var at = "&#x40;";
                document.write('<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;' + user + at + domain + '"><img src="../../images_www/v4/btn_subscribe.gif" alt="Subscribe" title="Subscribe" width=63 height=13 border=0 vspace=3></a>');
                //-->
              </script>
              <noscript>
                <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#115;&#121;&#109;&#112;&#97;&#x40;&#110;&#101;&#116;&#98;&#101;&#97;&#110;&#115;&#46;&#111;&#114;&#103;&#63;&#115;&#117;&#98;&#106;&#101;&#99;&#116;&#61;&#115;&#117;&#98;&#115;&#99;&#114;&#105;&#98;&#101;&#37;&#50;&#48;&#110;&#98;&#119;&#101;&#101;&#107;&#108;&#121;"><img src="../../images_www/v4/btn_subscribe.gif" alt="Subscribe" title="Subscribe" width=63 height=13 border=0 vspace=3></a>
              </noscript>
            </td><td align="center">
              <script language="JavaScript" type="text/javascript">
                <!--
                var user = "&#115;&#121;&#109;&#112;&#97;";
                var domain = "&#110;&#101;&#116;&#98;&#101;&#97;&#110;&#115;&#46;&#111;&#114;&#103;&#63;&#115;&#117;&#98;&#106;&#101;&#99;&#116;&#61;&#117;&#110;&#115;&#117;&#98;&#115;&#99;&#114;&#105;&#98;&#101;&#37;&#50;&#48;&#110;&#98;&#119;&#101;&#101;&#107;&#108;&#121;";
                var at = "&#x40;";
                document.write('<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;' + user + at + domain + '"><img src="../../images_www/v4/btn_unsubscribe.gif" alt="Unsubscribe" title="Unsubscribe" width=63 height=13 border=0 vspace=3></a>');
                //-->
              </script>
              <noscript>
                <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#115;&#121;&#109;&#112;&#97;&#x40;&#110;&#101;&#116;&#98;&#101;&#97;&#110;&#115;&#46;&#111;&#114;&#103;&#63;&#115;&#117;&#98;&#106;&#101;&#99;&#116;&#61;&#117;&#110;&#115;&#117;&#98;&#115;&#99;&#114;&#105;&#98;&#101;&#37;&#50;&#48;&#110;&#98;&#119;&#101;&#101;&#107;&#108;&#121;"><img src="../../images_www/v4/btn_unsubscribe.gif" alt="Unsubscribe" title="Unsubscribe" width=63 height=13 border=0 vspace=3></a>
              </noscript>
            </td>
          </tr>
          <tr>
            <td colspan="2" align="center">
              <p><br /></p>
              <b>
                &#110;&#98;&#117;&#115;&#101;&#114;&#115;  &#x40;
                &#110;&#101;&#116;&#98;&#101;&#97;&#110;&#115;&#46;&#111;&#114;&#103;
              </b>
              <br />User support
            </td>
          </tr><tr>
            <td align="center">
              <script language="JavaScript" type="text/javascript">
                <!--
                var user = "&#115;&#121;&#109;&#112;&#97;";
                var domain = "&#110;&#101;&#116;&#98;&#101;&#97;&#110;&#115;&#46;&#111;&#114;&#103;&#63;&#115;&#117;&#98;&#106;&#101;&#99;&#116;&#61;&#115;&#117;&#98;&#115;&#99;&#114;&#105;&#98;&#101;&#37;&#50;&#48;&#110;&#98;&#117;&#115;&#101;&#114;&#115;";
                var at = "&#x40;";
                document.write('<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;' + user + at + domain + '"><img src="../../images_www/v4/btn_subscribe.gif" alt="Subscribe" title="Subscribe" width=63 height=13 border=0 vspace=3></a>');
                //-->
              </script>
              <noscript>
                <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#115;&#121;&#109;&#112;&#97;&#x40;&#110;&#101;&#116;&#98;&#101;&#97;&#110;&#115;&#46;&#111;&#114;&#103;&#63;&#115;&#117;&#98;&#106;&#101;&#99;&#116;&#61;&#115;&#117;&#98;&#115;&#99;&#114;&#105;&#98;&#101;&#37;&#50;&#48;&#110;&#98;&#117;&#115;&#101;&#114;&#115;"><img src="../../images_www/v4/btn_subscribe.gif" alt="Subscribe" title="Subscribe" width=63 height=13 border=0 vspace=3></a>
              </noscript>
            </td><td align="center">
              <script language="JavaScript" type="text/javascript">
                <!--
                var user = "&#115;&#121;&#109;&#112;&#97;";
                var domain = "&#110;&#101;&#116;&#98;&#101;&#97;&#110;&#115;&#46;&#111;&#114;&#103;&#63;&#115;&#117;&#98;&#106;&#101;&#99;&#116;&#61;&#117;&#110;&#115;&#117;&#98;&#115;&#99;&#114;&#105;&#98;&#101;&#37;&#50;&#48;&#110;&#98;&#117;&#115;&#101;&#114;&#115;";
                var at = "&#x40;";
                document.write('<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;' + user + at + domain + '"><img src="../../images_www/v4/btn_unsubscribe.gif" alt="Unsubscribe" title="Unsubscribe" width=63 height=13 border=0 vspace=3></a>');
                //-->
              </script>
              <noscript>
                <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#115;&#121;&#109;&#112;&#97;&#x40;&#110;&#101;&#116;&#98;&#101;&#97;&#110;&#115;&#46;&#111;&#114;&#103;&#63;&#115;&#117;&#98;&#106;&#101;&#99;&#116;&#61;&#117;&#110;&#115;&#117;&#98;&#115;&#99;&#114;&#105;&#98;&#101;&#37;&#50;&#48;&#110;&#98;&#117;&#115;&#101;&#114;&#115;"><img src="../../images_www/v4/btn_unsubscribe.gif" alt="Unsubscribe" title="Unsubscribe" width=63 height=13 border=0 vspace=3></a>
              </noscript>
            </td>
          </tr>
        </table>
        <a href="top.html">More...</a>
      </div>
      <div class="trail-box-bottom">
        <img src="../../images_www/v6/trails/trails-box-br.png" width="7" height="6" class="right">
        <img src="../../images_www/v6/trails/trails-box-bl.png" width="7" height="6" class="left">
      </div>
    </div>

    <ol>

      <li><a name="subandunsub"></a>
        <h3>Mailing Lists</h3>

        <p>
          <b>New to the NetBeans community?</b><br />
          Click the buttons to subscribe to our
          <A HREF="top.html#top">News &amp; Support</A> lists.
        </p>
        <p>
          <b>Want to get more involved?</b><br />
          We offer many more special interest discussion lists:</p>
        <ul><li>
            <A HREF="top.html#technologies">For NetBeans users by technology</A>,
          </li><li>
            <A HREF="top.html#dev">For developers working on NetBeans</A>,
          </li><li>
            <A HREF="top.html#community">Community lists to get more involved</A>,
          </li><li>
            <A HREF="top.html#localised">Lists in Español, français,
            italiano, 日本語, polsky, português, русский, 中文</A>.
          </li></ul>
        <p>
          <a name="trouble"></a><b>Trouble unsubscribing?</b><br />
          Check the <a href="http://wiki.netbeans.org/NetBeansUserFAQ#Mailing_Lists">Mailing List FAQ</a>
          and the <a href="unsubscribe.html">How to Unsubscribe</a> pages for help.
        </p>
      </li>

      <li><h3>NetBeans Forums</h3>
        <h4>Official NetBeans Forums</h4>
        <p>
          The official <a href="http://forums.netbeans.org/">forums.netbeans.org</a>
          are synchronized with the most widely-used NetBeans Mailing Lists.
        </p>
        <p>Note: Your <a href="http://forums.netbeans.org/topic1180.html">
           netbeans.org password will not work</a>, please
            <a href="http://forums.netbeans.org/profile.php?mode=register">sign up here</a>
            to post on forum.netbeans.org.
        </p>

        <p><br /></p>
      <h4>External NetBeans Forums on Nabble.com</h4>
        
        <p>
           Nabble's <a href="http://netbeans-org.1045718.n5.nabble.com">NetBeans forums</a>
            are sync'ed with our mailing lists.
          <a href="http://www.nabble.com/user/Register.jtp">Register
          with Nabble here</a>. Messages posted via Nabble will be moderated by us
          unless you contact the list owner and request to be added to
          the list of <em>non-subscribers allowed to post</em>.
        </p>
      </li>

      <li><h3>Usenet / NNTP</h3>

        <p>Point your newsreader at <A HREF="news://news.gmane.org/">news.gmane.org</A> and search for
          <a href="http://blog.gmane.org/gmane.comp.java.ide.netbeans.user">"netbeans" groups</a>.
          To post to the lists via NNTP, reply to the GMane authorisation request.
          Messages posted via NNTP will be moderated by us
          unless you contact the list owner and request to be added to
          the list of <em>non-subscribers allowed to post</em>.
        </p>

    </ol>

    <h2><a name="etiquette">List and Forum Etiquette</a></h2>

    <UL>

      <LI><p><a href="http://google.com">Search the web</a> for an answer first.</p>

      <LI><p>Tell us what your goal was, which steps you tried, and
          what unexpected behaviour (errors etc) you got.

      <LI><p>Don't post the same message to more than one list.</p>

      <LI><p>Trim the original text in your reply. Trim code samples.</p>

      <LI><p>Please treat the list like people. :-)</p>

    </UL>

  </body>

</html>
