Send FQDN instead of simple hostname in SMTP HELO command

This closes #101 pull request at github/apache/ant repo
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index c269a67..4d7a8cf 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -292,6 +292,7 @@
 Michael Nygard
 Michael Saunders
 Michael Seele
+Mickaël Guessant
 Miha
 Mike Davis
 Mike Roberts
diff --git a/WHATSNEW b/WHATSNEW
index fa6604b..4f199b8 100644
--- a/WHATSNEW
+++ b/WHATSNEW
@@ -1,6 +1,13 @@
 Changes from Ant 1.10.7 TO Ant 1.10.8
 =====================================
 
+=======
+Other changes:
+--------------
+
+ * org.apache.tools.mail.MailMessage will now send a fully qualified
+   domain name in its HELO message.
+   Github Pull Request #101
 
 Changes from Ant 1.10.6 TO Ant 1.10.7
 =====================================
diff --git a/contributors.xml b/contributors.xml
index 44c77e0..e73660b 100644
--- a/contributors.xml
+++ b/contributors.xml
@@ -1213,6 +1213,10 @@
     <last>Seele</last>
   </name>
   <name>
+    <first>Mickaël</first>
+    <last>Guessant</last>
+  </name>
+  <name>
     <last>Miha</last>
   </name>
   <name>
diff --git a/src/main/org/apache/tools/mail/MailMessage.java b/src/main/org/apache/tools/mail/MailMessage.java
index bb16c48..48b1550 100644
--- a/src/main/org/apache/tools/mail/MailMessage.java
+++ b/src/main/org/apache/tools/mail/MailMessage.java
@@ -393,7 +393,7 @@
     }
 
     void sendHelo() throws IOException {
-        String local = InetAddress.getLocalHost().getHostName();
+        String local = InetAddress.getLocalHost().getCanonicalHostName();
         int[] ok = {OK_HELO};
         send("HELO " + local, ok);
     }
diff --git a/src/tests/junit/org/apache/tools/mail/MailMessageTest.java b/src/tests/junit/org/apache/tools/mail/MailMessageTest.java
index 944e889..72ee1fa 100644
--- a/src/tests/junit/org/apache/tools/mail/MailMessageTest.java
+++ b/src/tests/junit/org/apache/tools/mail/MailMessageTest.java
@@ -44,7 +44,7 @@
     @Before
     public void setUp() {
         try {
-            local = InetAddress.getLocalHost().getHostName();
+            local = InetAddress.getLocalHost().getCanonicalHostName();
         } catch (java.net.UnknownHostException uhe) {
             // ignore
         }