diff --git a/sm5/configure.in b/sm5/configure.in
index 8bc9e6e8316670d6bf3cc3c3a3359bcecd625b10..a666be085b687a14292dc167e659e5424a106725 100644
--- a/sm5/configure.in
+++ b/sm5/configure.in
@@ -1,5 +1,5 @@
 #
-# $Id: configure.in,v 1.22 2003/10/12 20:19:16 arvoreen Exp $
+# $Id: configure.in,v 1.23 2003/10/13 13:09:57 ballen4705 Exp $
 #
 dnl Process this file with autoconf to produce a configure script.
 AC_PREREQ(2.50)
@@ -7,7 +7,7 @@ AC_INIT(smartmontools, 5.21, smartmontools-support@lists.sourceforge.net)
 AC_CONFIG_SRCDIR(smartctl.c)
 
 smartmontools_configure_date=`date -u +"%Y/%m/%d %T %Z"`
-smartmontools_cvs_tag=`echo '$Id: configure.in,v 1.22 2003/10/12 20:19:16 arvoreen Exp $'`
+smartmontools_cvs_tag=`echo '$Id: configure.in,v 1.23 2003/10/13 13:09:57 ballen4705 Exp $'`
 
 AC_DEFINE_UNQUOTED(SMARTMONTOOLS_CONFIGURE_ARGS, "$ac_configure_args",            [smartmontools Configure Arguments])
 AC_DEFINE_UNQUOTED(SMARTMONTOOLS_CONFIGURE_DATE, "$smartmontools_configure_date", [smartmontools Configure Date])
@@ -35,6 +35,7 @@ dnl Checks for typedefs, structures, and compiler characteristics.
 dnl Checks for library functions.
 AC_CHECK_FUNCS([getopt])
 AC_CHECK_FUNCS([getopt_long])
+AC_CHECK_FUNCS([getdomainname])
 
 AC_SUBST(CFLAGS)
 AC_SUBST(CPPFLAGS)
diff --git a/sm5/smartd.c b/sm5/smartd.c
index 2ac71628245f500f3daae25f969231383c07117c..44b0acf69e4436342bedfa9a37b8a0731cc59fee 100644
--- a/sm5/smartd.c
+++ b/sm5/smartd.c
@@ -53,7 +53,7 @@
 extern const char *atacmdnames_c_cvsid, *atacmds_c_cvsid, *ataprint_c_cvsid, *escalade_c_cvsid, 
                   *knowndrives_c_cvsid, *os_XXXX_c_cvsid, *scsicmds_c_cvsid, *utility_c_cvsid;
 
-const char *smartd_c_cvsid="$Id: smartd.c,v 1.215 2003/10/13 12:43:22 ballen4705 Exp $" 
+const char *smartd_c_cvsid="$Id: smartd.c,v 1.216 2003/10/13 13:09:57 ballen4705 Exp $" 
                             ATACMDS_H_CVSID ATAPRINT_H_CVSID CONFIG_H_CVSID EXTERN_H_CVSID KNOWNDRIVES_H_CVSID
                             SCSICMDS_H_CVSID SMARTD_H_CVSID UTILITY_H_CVSID; 
 
@@ -324,10 +324,15 @@ void PrintAndMail(cfgfile *cfg, int which, int priority, char *fmt, ...){
     sprintf(hostname,"Unknown host");
   else
     hostname[255]='\0';
+
+#ifdef HAVE_GETDOMAINNAME
   if (getdomainname(domainname, 256))
-    sprintf(hostname,"Unknown domain");
+    sprintf(domainname,"Unknown");
   else
     domainname[255]='\0';
+#else
+  sprintf(domainname,"Unknown");
+#endif
   
   // print warning string into message
   va_start(ap, fmt);
diff --git a/sm5/smartd.cpp b/sm5/smartd.cpp
index 3862669bd924761a0751c99716c579a1247a0722..737cc938433a3f1166fb023ba17be5315b85a69a 100644
--- a/sm5/smartd.cpp
+++ b/sm5/smartd.cpp
@@ -53,7 +53,7 @@
 extern const char *atacmdnames_c_cvsid, *atacmds_c_cvsid, *ataprint_c_cvsid, *escalade_c_cvsid, 
                   *knowndrives_c_cvsid, *os_XXXX_c_cvsid, *scsicmds_c_cvsid, *utility_c_cvsid;
 
-const char *smartd_c_cvsid="$Id: smartd.cpp,v 1.215 2003/10/13 12:43:22 ballen4705 Exp $" 
+const char *smartd_c_cvsid="$Id: smartd.cpp,v 1.216 2003/10/13 13:09:57 ballen4705 Exp $" 
                             ATACMDS_H_CVSID ATAPRINT_H_CVSID CONFIG_H_CVSID EXTERN_H_CVSID KNOWNDRIVES_H_CVSID
                             SCSICMDS_H_CVSID SMARTD_H_CVSID UTILITY_H_CVSID; 
 
@@ -324,10 +324,15 @@ void PrintAndMail(cfgfile *cfg, int which, int priority, char *fmt, ...){
     sprintf(hostname,"Unknown host");
   else
     hostname[255]='\0';
+
+#ifdef HAVE_GETDOMAINNAME
   if (getdomainname(domainname, 256))
-    sprintf(hostname,"Unknown domain");
+    sprintf(domainname,"Unknown");
   else
     domainname[255]='\0';
+#else
+  sprintf(domainname,"Unknown");
+#endif
   
   // print warning string into message
   va_start(ap, fmt);