diff --git a/include/usage.h b/include/usage.h
index f654062..4e05516 100644
--- a/include/usage.h
+++ b/include/usage.h
@@ -2541,12 +2541,17 @@
 #define makemime_trivial_usage \
        "[OPTIONS] [FILE]..."
 #define makemime_full_usage "\n\n" \
-       "Create MIME-encoded message\n" \
+       "Create multipart MIME-encoded message from FILEs.\n" \
+/*     "Transfer encoding is base64, disposition is inline (not attachment)\n" */ \
      "\nOptions:" \
-     "\n	-C      Charset" \
-     "\n	-e	Transfer encoding. Ignored. base64 is assumed" \
+     "\n	-o FILE	Output. Default: stdout" \
+     "\n	-a HDR	Add header. Examples:" \
+     "\n		\"From: user@host.org\", \"Date: `date -R`\"" \
+     "\n	-c CT	Content type. Default: text/plain" \
+     "\n	-C CS   Charset. Default: " CONFIG_FEATURE_MIME_CHARSET \
+/*   "\n	-e ENC	Transfer encoding. Ignored. base64 is assumed" */ \
      "\n" \
-     "\nOther options are silently ignored." \
+     "\nOther options are silently ignored" \
 
 #define man_trivial_usage \
        "[OPTIONS] [MANPAGE]..."
@@ -3776,17 +3781,17 @@
 #define selinuxenabled_full_usage ""
 
 #define sendmail_trivial_usage \
-       "[OPTIONS] [rcpt]..."
+       "[OPTIONS] [RECIPIENT_EMAIL]..."
 #define sendmail_full_usage "\n\n" \
-       "Send an email\n" \
+       "Read email from stdin and send it\n" \
      "\nStandard options:" \
-     "\n	-t		Read recipients from message body, add them to those on cmdline" \
-     "\n	-f sender	Sender. REQUIRED!" \
-     "\n	-o options	various options. -oi IMPLIED! others are IGNORED!" \
+     "\n	-t		Read additional recipients from message body" \
+     "\n	-f sender	Sender (required)" \
+     "\n	-o options	Various options. -oi implied, others are ignored" \
      "\n" \
      "\nBusybox specific options:" \
      "\n	-w seconds	Network timeout" \
-     "\n	-H 'prog args'	Run connection helper" \
+     "\n	-H 'PROG ARGS'	Run connection helper" \
      "\n			Examples:" \
      "\n			-H 'exec openssl s_client -quiet -tls1 -starttls smtp" \
      "\n				-connect smtp.gmail.com:25' <email.txt" \
@@ -3797,9 +3802,12 @@
      "\n	-S server[:port] Server" \
      "\n	-au<username>	Username for AUTH LOGIN" \
      "\n	-ap<password>	Password for AUTH LOGIN" \
-     "\n	-am<method>	Authentication method. Ignored. login is implied." \
+     "\n	-am<method>	Authentication method. Ignored. LOGIN is implied" \
      "\n" \
      "\nOther options are silently ignored; -oi -t is implied" \
+	IF_MAKEMIME( \
+     "\nUse makemime applet to create message with attachments" \
+	)
 
 #define seq_trivial_usage \
        "[-w] [-s SEP] [FIRST [INC]] LAST"
diff --git a/mailutils/mime.c b/mailutils/mime.c
index d309d7f..358f4e9 100644
--- a/mailutils/mime.c
+++ b/mailutils/mime.c
@@ -35,12 +35,68 @@
                     -c auto to set Content-Type: to text/plain or
                     application/octet-stream based on picked encoding.
   -j file1 file2  - join mime section file2 to multipart section file1.
-  -o file         - write ther result to file, instead of stdout (not
+  -o file         - write the result to file, instead of stdout (not
                     allowed in child processes).
   -a header       - prepend an additional header to the output.
 
   @file - read all of the above options from file, one option or
           value on each line.
+  {which version of makemime is this? What do we support?}
+*/
+
+
+/* In busybox 1.15.0.svn, makemime generates output like this
+ * (empty lines are shown exactly!):
+{headers added with -a HDR}
+Mime-Version: 1.0
+Content-Type: multipart/mixed; boundary="24269534-2145583448-1655890676"
+
+--24269534-2145583448-1655890676
+Content-Type: {set by -c, e.g. text/plain}; charset={set by -C, e.g. us-ascii}
+Content-Disposition: inline; filename="A"
+Content-Transfer-Encoding: base64
+
+...file A contents...
+--24269534-2145583448-1655890676
+Content-Type: {set by -c, e.g. text/plain}; charset={set by -C, e.g. us-ascii}
+Content-Disposition: inline; filename="B"
+Content-Transfer-Encoding: base64
+
+...file B contents...
+--24269534-2145583448-1655890676--
+
+*/
+
+
+/* For reference: here is an example email to LKML which has
+ * 1st unnamed part (so it serves as an email body)
+ * and one attached file:
+...other headers...
+Content-Type: multipart/mixed; boundary="=-tOfTf3byOS0vZgxEWcX+"
+...other headers...
+Mime-Version: 1.0
+...other headers...
+
+
+--=-tOfTf3byOS0vZgxEWcX+
+Content-Type: text/plain
+Content-Transfer-Encoding: 7bit
+
+...email text...
+...email text...
+
+
+--=-tOfTf3byOS0vZgxEWcX+
+Content-Disposition: attachment; filename="xyz"
+Content-Type: text/plain; name="xyz"; charset="UTF-8"
+Content-Transfer-Encoding: 7bit
+
+...file contents...
+...file contents...
+
+--=-tOfTf3byOS0vZgxEWcX+--
+
+...random junk added by mailing list robots and such...
 */
 
 int makemime_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
@@ -86,7 +142,8 @@
 
 	// make a random string -- it will delimit message parts
 	srand(monotonic_us());
-	boundary = xasprintf("%d-%d-%d", rand(), rand(), rand());
+	boundary = xasprintf("%u-%u-%u",
+			(unsigned)rand(), (unsigned)rand(), (unsigned)rand());
 
 	// put multipart header
 	printf(
