diff --git a/lib/pyulib/src/uapps/umail.py b/lib/pyulib/src/uapps/umail.py index 47ae1bf..310554a 100755 --- a/lib/pyulib/src/uapps/umail.py +++ b/lib/pyulib/src/uapps/umail.py @@ -57,6 +57,7 @@ def run_umail(): ('c:', 'cc=', "Destinataires en copie"), ('b:', 'bcc=', "Destinataires en copie cachée"), ('a:', 'attach=', "Attacher un fichier"), + ('t:', 'content-type=', "Spécifier le type de contenu du fichier"), ('f:', 'body=', "Spécifier un fichier contenant le corps du message"), ]) options, args = get_args(None, options, longoptions) @@ -68,6 +69,7 @@ def run_umail(): body = None bodyfile = None afiles = [] + amimetypes = [] for option, value in options: if option in ('-h', '--help'): display_help() @@ -80,6 +82,8 @@ def run_umail(): mbccs.extend(value.split(',')) elif option in ('-a', '--attach'): afiles.append(value) + elif option in ('-t', '--content-type'): + amimetypes.append(value) elif option in ('-f', '--body'): bodyfile = value if bodyfile == "-": @@ -117,9 +121,14 @@ def run_umail(): body = MIMEText('\n'.join(lines), 'plain') body.set_charset('utf-8') msg.attach(body) + i = 0 for afile in afiles: if not path.isfile(afile): die("%s: Fichier introuvable" % afile) - mimetype, encoding = mimetypes.guess_type(afile) + mimetype = amimetypes[i:i + 1] and amimetypes[i] or None + encoding = None + i += 1 + if mimetype is None: + mimetype, encoding = mimetypes.guess_type(afile) if mimetype is None or encoding is not None: mimetype = 'application/octet-stream' maintype, subtype = mimetype.split('/', 1)