diff -ur kdenetwork-3.0.orig/kmail/kmmessage.cpp kdenetwork-3.0/kmail/kmmessage.cpp
--- kdenetwork-3.0.orig/kmail/kmmessage.cpp	Fri Mar  8 10:18:43 2002
+++ kdenetwork-3.0/kmail/kmmessage.cpp	Sun Apr  7 20:14:28 2002
@@ -1513,6 +1513,20 @@
 
 
 //-----------------------------------------------------------------------------
+QString KMMessage::xMailer(void) const
+{
+  return headerField("X-Mailer");
+}
+
+
+//-----------------------------------------------------------------------------
+QString KMMessage::userAgent(void) const
+{
+  return headerField("User-Agent");
+}
+
+
+//-----------------------------------------------------------------------------
 QString KMMessage::replyToId(void) const
 {
   int leftAngle, rightAngle;
diff -ur kdenetwork-3.0.orig/kmail/kmmessage.h kdenetwork-3.0/kmail/kmmessage.h
--- kdenetwork-3.0.orig/kmail/kmmessage.h	Sun Jan 27 02:37:03 2002
+++ kdenetwork-3.0/kmail/kmmessage.h	Sun Apr  7 20:14:28 2002
@@ -213,6 +213,12 @@
   virtual void setMsgId(const QString& aStr);
   virtual QString msgIdMD5(void) const;
 
+  /** Get the 'X-Mailer' header field */
+  virtual QString xMailer(void) const;
+
+  /** Get the 'User-Agent' header field */
+  virtual QString userAgent(void) const;
+
   /** Set the references for this message */
   virtual void setReferences(const QCString& aStr);
 
diff -ur kdenetwork-3.0.orig/kmail/kmreaderwin.cpp kdenetwork-3.0/kmail/kmreaderwin.cpp
--- kdenetwork-3.0.orig/kmail/kmreaderwin.cpp	Tue Mar 19 19:37:00 2002
+++ kdenetwork-3.0/kmail/kmreaderwin.cpp	Sun Apr  7 20:14:28 2002
@@ -1130,6 +1130,10 @@
       headerStr.append(i18n("Reply to: ")+
                      KMMessage::emailAddrAsAnchor(mMsg->replyTo(),FALSE) + "<br>");
     }
+    if (!mMsg->xMailer().isEmpty())
+      headerStr.append(i18n("X-Mailer: ")+ mMsg->xMailer() + "<br>");
+    if (!mMsg->userAgent().isEmpty())
+      headerStr.append(i18n("User-Agent: ")+ mMsg->userAgent() + "<br>");
     break;
 
   case HdrAll:
