diff -r -u mlmmj-1.2.12-RC4/src/mlmmj-send.c mlmmj-1.2.12-RC4-flx0.1/src/mlmmj-send.c
--- mlmmj-1.2.12-RC4/src/mlmmj-send.c	2006-06-21 23:50:48.000000000 +0200
+++ mlmmj-1.2.12-RC4-flx0.1/src/mlmmj-send.c	2006-10-22 19:23:19.000000000 +0200
@@ -326,7 +326,19 @@
 	int retval = 0;
 	char *reply = NULL;
 	char *myhostname = hostnamestr();
-	
+
+        if (!myhostname) {
+              char tmp[256];
+              if (gethostname(tmp, 256) != 0) {
+                   perror("FATAL: gethostname()");
+                   exit(1);
+              }
+              if (!(myhostname = mystrdup(tmp))) {
+                   perror("FATAL: mystrdup()");
+                   exit(1);
+              }
+        }      
+
 	init_sockfd(sockfd, relayhost, port);
 	
 	if((reply = checkwait_smtpreply(*sockfd, MLMMJ_CONNECT)) != NULL) {
diff -r -u mlmmj-1.2.12-RC4/src/strgen.c mlmmj-1.2.12-RC4-flx0.1/src/strgen.c
--- mlmmj-1.2.12-RC4/src/strgen.c	2006-09-03 14:11:14.000000000 +0200
+++ mlmmj-1.2.12-RC4-flx0.1/src/strgen.c	2006-10-22 19:16:08.000000000 +0200
@@ -144,7 +144,7 @@
         hostname[sizeof(hostname)-1] = '\0';
         hostlookup = gethostbyname(hostname);
 
-        return mystrdup(hostlookup->h_name);
+        return (hostlookup ? mystrdup(hostlookup->h_name) : NULL);
 }
 
 char *mydirname(const char *path)


