The slrn MIME support macro adds comprehensive support for displaying and processing MIME messages to slrn. When opening a MIME message with parts other than plain text or non-MIME messages with a content type other than plain text the macro automatically converts these parts to plain text provided that the conversion has been allowed in the configuration there is an appropriate entry in the mailcap file. Parts with multipart/alternative content type are handled intelligently by preferring the text part if available and falling back to converting another part for which automatic conversion has been enabled. The macro can process arbitrarily nested parts with message/rfc822, multipart/alternative, multipart/mixed, multipart/digest, multipart/related, and multipart/signed content type. It also features full support for mailcap files as defined by RFC 1524, including substitutions. Furthermore, it provides methods for selecting any MIME part for saving or viewing with an external viewer and for toggling between the processed and raw message.

Downloads

The latest version of the slrn MIME support macro is available from its source code repository. The macro itself can also be downloaded directly.

Source Code Repository

The current development version is available from the source code repository.

Documentation

Usage

The slrn MIME support macro can be used by including it in the .slrnrc user initialization file via the interpret command, e.g. provided that the file mime-support.sl is located in one of the directories specified by the macro_directory configuration variable:

interpret "mime-support.sl"

The macro can be configured through the following slang variables:

MIMESupport->config.auto_view
Array that specifies which content types may be automatically converted to plain text when opening a MIME message.

It provides the following methods:

MIMESupport->mime_save_part()
Displays a dialog allowing the user to save a MIME part.
MIMESupport->mime_view_part()
Displays a dialog allowing the user to view a MIME part using the command specified in the mailcap entry corresponding to its content type.
MIMESupport->mime_toggle_view()
Toggles between the processed and raw form.

The following environment variables are observed:

TMPDIR
Path for temorary files when invoking the command specified in a mailcap entry.
PAGER
The pager used for handling the output of a command specified in a mailcap entry which contains a copiousoutput flag.

Contact

Please send any feedback, translations or bug reports via email to guido+slrn@berhoerster.name.

Bug Reports

When sending bug reports, please always mention the exact version of the macro with which the issue occurs as well as the version of slrn, slang and the operating system you are using and make sure that you provide sufficient information to reproduce the issue and include any input, output, any error messages and slang stack traces.

License

Except otherwise noted, all files are Copyright (C) 2013 Guido Berhoerster and distributed under the following license terms:

Copyright (C) 2013 Guido Berhoerster guido+slrn@berhoerster.name

This file incorporates work from the file mime.sl distributed with slrn under the terms of the GNU General Public Licens version 2 or later.

Copyright (C) 2012 John E. Davis jed@jedsoft.org

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.