From d8976d416c017cfecc0f8c7e506e574b2658fb97 Mon Sep 17 00:00:00 2001 From: Leah Neukirchen Date: Fri, 26 May 2017 22:00:55 +0200 Subject: mmime: add -t to override toplevel content-type --- man/mmime.1 | 5 +++++ mmime.c | 9 ++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/man/mmime.1 b/man/mmime.1 index 30daa0b..c772166 100644 --- a/man/mmime.1 +++ b/man/mmime.1 @@ -7,6 +7,7 @@ .Sh SYNOPSIS .Nm .Op Fl c | Fl r +.Op Fl t Ar content-type < .Ar message .Sh DESCRIPTION @@ -37,6 +38,10 @@ or with status 0 else. Raw mode: don't expand MIME parts in the body, generate a .Sq Li text/plain message. +.It Fl t Ar content-type +Override Content-Type for the toplevel part. +Defaults to +.Sq Li multipart/mixed . .El .Sh EXIT STATUS .Ex -std diff --git a/mmime.c b/mmime.c index 2d474cb..b229310 100644 --- a/mmime.c +++ b/mmime.c @@ -18,6 +18,7 @@ static int cflag; static int rflag; +static char *tflag = "multipart/mixed"; int gen_b64(uint8_t *s, off_t size) { @@ -320,7 +321,7 @@ gen_build() printf("Content-Transfer-Encoding: quoted-printable\n\n"); } else { - printf("Content-Type: multipart/mixed; boundary=\"%s\"\n", sep); + printf("Content-Type: %s; boundary=\"%s\"\n", tflag, sep); printf("\n"); printf("This is a multipart message in MIME format.\n"); } @@ -423,13 +424,15 @@ main(int argc, char *argv[]) srand48(time(0) ^ getpid()); int c; - while ((c = getopt(argc, argv, "cr")) != -1) + while ((c = getopt(argc, argv, "crt:")) != -1) switch(c) { case 'r': rflag = 1; break; case 'c': cflag = 1; break; + case 't': tflag = optarg; break; default: usage: - fprintf(stderr, "Usage: mmime [-c|-r] < message\n"); + fprintf(stderr, +"Usage: mmime [-c|-r] [-t CONTENT-TYPE] < message\n"); exit(1); } -- cgit 1.4.1