/*****************************************************************************/ #ifdef COMMENTS_WITH_COMMENTS /* compose.c All things involved in the composition and sending of a mail message. When sending a message, if there are soyMAIL attachment files that have been checked for inclusion a "multipart/mixed" MIME message is generated. Each attachment with a "text/.." content-type is quoted-printable encoded in a separate part. Attachments with non-text content are provided as base-64 encoded parts. If there is a message body this is appropriately encoded and supplied as the first part with a content-type of "text/plain". If there are no attachments files present or checked the message body is appropriately encoded and made into an in-line MIME message with a plain-text content-type. If any one of the address fields (To, CC or BCC) contain a non-VMS address the SMTP Message Transport Agent is used to send the message. If the address fields only contain what looks like VMS Mail addresses the message is sent via VMS callable Mail. HTML EDITING ------------ This rather neat capability is provided using stand-alone, JavaScript-driven, HTML text editors that can be attached to the composition text area. soyMAIL has some hooks that recognise and support such editors, and when used to compose a message the content is made into quoted-printable encoded HTML for transmission. In soyMAIL versions earlier than v1.8.0 the HTML editor was an independent element, installed and configured by the site. With v1.8.0 and later a version of TinyMCE is provided within the soyMAIL archive and supported out-of-the-box. HTML editing is unavailable by default but can simply enabled with [html-editor-load] * TinyMCE Version 4.0.8 has been tested as working in this environment. Version 3.n is no supported (though may continue to work with some site tweaking). Another version and/or TinyMCE installation is also possible by placing JavaScript in the [html-editor-load] configuration directive. YMMV. EXAMPLE FOR TINYMCE ------------------- A functional configuration for TinyMCE 4.n. [html-editor-load] This of course requires a mapping rule to provide access to the TinyMCE installation. pass /tinymce/* /$1$disk/tinymce/* TINYMCE AND VAX --------------- TinyMCE v4.n really needs EFS and an ODS-5 volume for installation (file names with multiple periods, etc.) It CAN BE MADE TO WORK with non-EFS (i.e. VAX) using some mapping rules to cause soyMAIL to munge the URIs to be non-EFS (and non-EFS UNZIP) compliant. Basically forbidden periods are transmogrified into underscores, so that a file such as "tinymce.min.js" is requested from the server as "tinymce_min.js". It adds considerable overhead on an already performance-challenged platform. YMMV (again). The WASD mapping rules would end up something like: redirect /cgi-bin/soymail/* /cgiplus-bin/soymail/*? redirect /soymail/-/* /cgiplus-bin/soymail/soymail/_/* pass /soymail/_/* /wasd_root/src/soymail/* set /cgi*/soymail* map=once Converts directory name periods to underscores, and file names with multiple periods to file names with trailing single periods and replaced underscores. CHARACTER SETS -------------- Composition is normally using the language file character set ([lang_charset]). When supported by browser and platform it is possible to compose messages using other character sets. This is (manually) configured in user options or globally configured by the soyMAIL administrator. The user option and soyMAIL configuration directive (same for both) [compose-charsets] takes a string containing comma and/or white-space separated ISO language names. The following example shows configuration for Arabic, Cyrillic, Greek and Hebrew. The language file character set is always displayed as a first item in the selector list, after which are the explicitly configured items. [compose-charsets] Arabic=