[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Mutt Variableninhalt in Signatur angeben



On Sun, Mar 09, 2008 at 02:27:12PM +0100, Dirk Schleicher wrote:

> ich habe in den Header folgendes drin:
> my_hdr X-Operating-System: Debian GNU/`uname -s` `cat /etc/debian_version` (Kernel `uname -r`)
> Wenn ich dies in die Signatur bringe, dann wird nur der Text
> angezeigt. Leider nicht was er ermittelt hat

Ich habe mir mal vor Jahren einen kleinen Patch fuer mutt geschrieben, als
ich in einem grosseren Netzwerk anzeigen lassen musste, von welcher
Maschine mit welchem Kernel die Mail kam (zu Testzwecken). Den kannst du
als Ausgangspunkt benutzen, habe ihn eben fuer die neueren mutt Versionen
angepasst, bitte sehr (cat <patchfile> | patch -p0):

--- sendlib.c.orig	2007-06-13 19:04:41.000000000 +0200
+++ sendlib.c	2007-12-03 19:33:02.000000000 +0100
@@ -44,6 +44,7 @@
 #include <signal.h>
 #include <sys/wait.h>
 #include <fcntl.h>
+#include <sys/utsname.h>
 
 #ifdef HAVE_SYSEXITS_H
 #include <sysexits.h>
@@ -1745,6 +1746,7 @@
 int mutt_write_rfc822_header (FILE *fp, ENVELOPE *env, BODY *attach, 
 			      int mode, int privacy)
 {
+  struct utsname uts;
   char buffer[LONG_STRING];
   char *p, *q;
   LIST *tmp = env->userhdrs;
@@ -1876,7 +1878,12 @@
   if (mode == 0 && !privacy && option (OPTXMAILER) && !has_agent)
   {
     /* Add a vanity header */
-    fprintf (fp, "User-Agent: Mutt/%s (%s)\n", MUTT_VERSION, ReleaseDate);
+    uname (&uts);
+    fprintf (fp, "User-Agent: Mutt/%s (%s %s %s)\n", 
+	     MUTT_VERSION,
+	     uts.sysname,
+	     uts.release,
+	     uts.machine);
   }
 
   return (ferror (fp) == 0 ? 0 : -1);


Wirf mal einen Blick in utsname.h.

> Auch würde ich gerne die KDE Version ausgeben lassen. 
> Wie kann man das machen?

Wenn's denn sein muss...
Use the source, Luke!


Reply to: