aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2009-07-05 21:46:37 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2009-07-05 21:46:37 +0200
commit666e1d3978ebd2b72b18333f4face0e10cc816ba (patch)
tree05626b47c6a8a1a194b182baaabff1f587660508
parentfe4ef36bcd660598cac4bdb5f428b3f0bdbc3fa3 (diff)
downloadbusybox-w32-666e1d3978ebd2b72b18333f4face0e10cc816ba.tar.gz
busybox-w32-666e1d3978ebd2b72b18333f4face0e10cc816ba.tar.bz2
busybox-w32-666e1d3978ebd2b72b18333f4face0e10cc816ba.zip
tweak sendmail and makemime help texts
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--include/usage.h32
-rw-r--r--mailutils/mime.c61
2 files changed, 79 insertions, 14 deletions
diff --git a/include/usage.h b/include/usage.h
index f65406254..4e055168e 100644
--- a/include/usage.h
+++ b/include/usage.h
@@ -2541,12 +2541,17 @@
2541#define makemime_trivial_usage \ 2541#define makemime_trivial_usage \
2542 "[OPTIONS] [FILE]..." 2542 "[OPTIONS] [FILE]..."
2543#define makemime_full_usage "\n\n" \ 2543#define makemime_full_usage "\n\n" \
2544 "Create MIME-encoded message\n" \ 2544 "Create multipart MIME-encoded message from FILEs.\n" \
2545 "\nOptions:" \ 2545/* "Transfer encoding is base64, disposition is inline (not attachment)\n" */ \
2546 "\n -C Charset" \ 2546 "\nOptions:" \
2547 "\n -e Transfer encoding. Ignored. base64 is assumed" \ 2547 "\n -o FILE Output. Default: stdout" \
2548 "\n -a HDR Add header. Examples:" \
2549 "\n \"From: user@host.org\", \"Date: `date -R`\"" \
2550 "\n -c CT Content type. Default: text/plain" \
2551 "\n -C CS Charset. Default: " CONFIG_FEATURE_MIME_CHARSET \
2552/* "\n -e ENC Transfer encoding. Ignored. base64 is assumed" */ \
2548 "\n" \ 2553 "\n" \
2549 "\nOther options are silently ignored." \ 2554 "\nOther options are silently ignored" \
2550 2555
2551#define man_trivial_usage \ 2556#define man_trivial_usage \
2552 "[OPTIONS] [MANPAGE]..." 2557 "[OPTIONS] [MANPAGE]..."
@@ -3776,17 +3781,17 @@
3776#define selinuxenabled_full_usage "" 3781#define selinuxenabled_full_usage ""
3777 3782
3778#define sendmail_trivial_usage \ 3783#define sendmail_trivial_usage \
3779 "[OPTIONS] [rcpt]..." 3784 "[OPTIONS] [RECIPIENT_EMAIL]..."
3780#define sendmail_full_usage "\n\n" \ 3785#define sendmail_full_usage "\n\n" \
3781 "Send an email\n" \ 3786 "Read email from stdin and send it\n" \
3782 "\nStandard options:" \ 3787 "\nStandard options:" \
3783 "\n -t Read recipients from message body, add them to those on cmdline" \ 3788 "\n -t Read additional recipients from message body" \
3784 "\n -f sender Sender. REQUIRED!" \ 3789 "\n -f sender Sender (required)" \
3785 "\n -o options various options. -oi IMPLIED! others are IGNORED!" \ 3790 "\n -o options Various options. -oi implied, others are ignored" \
3786 "\n" \ 3791 "\n" \
3787 "\nBusybox specific options:" \ 3792 "\nBusybox specific options:" \
3788 "\n -w seconds Network timeout" \ 3793 "\n -w seconds Network timeout" \
3789 "\n -H 'prog args' Run connection helper" \ 3794 "\n -H 'PROG ARGS' Run connection helper" \
3790 "\n Examples:" \ 3795 "\n Examples:" \
3791 "\n -H 'exec openssl s_client -quiet -tls1 -starttls smtp" \ 3796 "\n -H 'exec openssl s_client -quiet -tls1 -starttls smtp" \
3792 "\n -connect smtp.gmail.com:25' <email.txt" \ 3797 "\n -connect smtp.gmail.com:25' <email.txt" \
@@ -3797,9 +3802,12 @@
3797 "\n -S server[:port] Server" \ 3802 "\n -S server[:port] Server" \
3798 "\n -au<username> Username for AUTH LOGIN" \ 3803 "\n -au<username> Username for AUTH LOGIN" \
3799 "\n -ap<password> Password for AUTH LOGIN" \ 3804 "\n -ap<password> Password for AUTH LOGIN" \
3800 "\n -am<method> Authentication method. Ignored. login is implied." \ 3805 "\n -am<method> Authentication method. Ignored. LOGIN is implied" \
3801 "\n" \ 3806 "\n" \
3802 "\nOther options are silently ignored; -oi -t is implied" \ 3807 "\nOther options are silently ignored; -oi -t is implied" \
3808 IF_MAKEMIME( \
3809 "\nUse makemime applet to create message with attachments" \
3810 )
3803 3811
3804#define seq_trivial_usage \ 3812#define seq_trivial_usage \
3805 "[-w] [-s SEP] [FIRST [INC]] LAST" 3813 "[-w] [-s SEP] [FIRST [INC]] LAST"
diff --git a/mailutils/mime.c b/mailutils/mime.c
index d309d7f7f..358f4e903 100644
--- a/mailutils/mime.c
+++ b/mailutils/mime.c
@@ -35,12 +35,68 @@ Options:
35 -c auto to set Content-Type: to text/plain or 35 -c auto to set Content-Type: to text/plain or
36 application/octet-stream based on picked encoding. 36 application/octet-stream based on picked encoding.
37 -j file1 file2 - join mime section file2 to multipart section file1. 37 -j file1 file2 - join mime section file2 to multipart section file1.
38 -o file - write ther result to file, instead of stdout (not 38 -o file - write the result to file, instead of stdout (not
39 allowed in child processes). 39 allowed in child processes).
40 -a header - prepend an additional header to the output. 40 -a header - prepend an additional header to the output.
41 41
42 @file - read all of the above options from file, one option or 42 @file - read all of the above options from file, one option or
43 value on each line. 43 value on each line.
44 {which version of makemime is this? What do we support?}
45*/
46
47
48/* In busybox 1.15.0.svn, makemime generates output like this
49 * (empty lines are shown exactly!):
50{headers added with -a HDR}
51Mime-Version: 1.0
52Content-Type: multipart/mixed; boundary="24269534-2145583448-1655890676"
53
54--24269534-2145583448-1655890676
55Content-Type: {set by -c, e.g. text/plain}; charset={set by -C, e.g. us-ascii}
56Content-Disposition: inline; filename="A"
57Content-Transfer-Encoding: base64
58
59...file A contents...
60--24269534-2145583448-1655890676
61Content-Type: {set by -c, e.g. text/plain}; charset={set by -C, e.g. us-ascii}
62Content-Disposition: inline; filename="B"
63Content-Transfer-Encoding: base64
64
65...file B contents...
66--24269534-2145583448-1655890676--
67
68*/
69
70
71/* For reference: here is an example email to LKML which has
72 * 1st unnamed part (so it serves as an email body)
73 * and one attached file:
74...other headers...
75Content-Type: multipart/mixed; boundary="=-tOfTf3byOS0vZgxEWcX+"
76...other headers...
77Mime-Version: 1.0
78...other headers...
79
80
81--=-tOfTf3byOS0vZgxEWcX+
82Content-Type: text/plain
83Content-Transfer-Encoding: 7bit
84
85...email text...
86...email text...
87
88
89--=-tOfTf3byOS0vZgxEWcX+
90Content-Disposition: attachment; filename="xyz"
91Content-Type: text/plain; name="xyz"; charset="UTF-8"
92Content-Transfer-Encoding: 7bit
93
94...file contents...
95...file contents...
96
97--=-tOfTf3byOS0vZgxEWcX+--
98
99...random junk added by mailing list robots and such...
44*/ 100*/
45 101
46int makemime_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; 102int makemime_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
@@ -86,7 +142,8 @@ int makemime_main(int argc UNUSED_PARAM, char **argv)
86 142
87 // make a random string -- it will delimit message parts 143 // make a random string -- it will delimit message parts
88 srand(monotonic_us()); 144 srand(monotonic_us());
89 boundary = xasprintf("%d-%d-%d", rand(), rand(), rand()); 145 boundary = xasprintf("%u-%u-%u",
146 (unsigned)rand(), (unsigned)rand(), (unsigned)rand());
90 147
91 // put multipart header 148 // put multipart header
92 printf( 149 printf(