From: David Maus <dmaus@ictsoc.de>
To: Eric Schulte <schulte.eric@gmail.com>
Cc: Dan Davison <davison@stats.ox.ac.uk>, emacs-orgmode@gnu.org
Subject: Re: using orgmode to send html mail?
Date: Fri, 26 Mar 2010 17:04:37 +0100 [thread overview]
Message-ID: <87zl1vf4ru.wl%dmaus@ictsoc.de> (raw)
In-Reply-To: <874ok33zje.fsf@gmail.com>
[-- Attachment #1.1.1: Type: text/plain, Size: 3623 bytes --]
Eric Schulte wrote:
>So I believe inline LaTeX images are working in gnus, see here
>[cid] and immediately below
>[cid]
>This turned out to be fairly easy, and didn't require any encoding or
>explicit mime function calls.
>I've also re-structured the code so that it should be easy to apply the
>appropriate mime markup for WL and VM. There are now two mime-library
>dependent functions `org-mail-file' and `org-mail-multipart' each of
>which contains a `case' block for library-specific behavior, e.g.
>(case org-mail-mime-library
> ('mml (format (concat "<#multipart type=alternative><#part type=text/plain>"
> "%s<#part type=text/html>%s<#/multipart>\n")
> plain html))
> ('semi "?")
> ('vm "?"))
>everything is available at http://github.com/eschulte/org-html-mail
>I'd love to hear feedback, suggestions, or expansion of the missing WL
>and VM portions of the two functions mentioned above.
Two remarks:
1st/
,----
| (add-to-list 'html-images
| (org-mail-file (concat "image/" ext) path id))
`----
Using the file extension as subtype is not in compliance with the
specs. For instance the MIME type of "filename.jpg" is image/jpeg,
not image/jpg (cf. RFC 2046, 4.2).
What you need is kind of a function or software that returns MIME type
of a file name. In SEMI it's `mime-find-file-type'. Or maybe don't
set the type, maybe mml will pick a type for you.
2nd/
The usage of multipart/alternative is not in compliance with the
specs, too. There it reads:
RFC2046, 5.1.4
,----
| 5.1.4. Alternative Subtype
|
| The "multipart/alternative" type is syntactically identical to
| "multipart/mixed", but the semantics are different. In particular,
| each of the body parts is an "alternative" version of the same
| information.
|
| Systems should recognize that the content of the various parts are
| interchangeable. Systems should choose the "best" type based on the
| local environment and references, in some cases even through user
| interaction. As with "multipart/mixed", the order of body parts is
| significant. In this case, the alternatives appear in an order of
| increasing faithfulness to the original content. In general, the best
| choice is the LAST part of a type supported by the recipient system's
| local environment.
|
| In general, user agents that compose "multipart/alternative" entities
| must place the body parts in increasing order of preference, that is,
| with the preferred format last. For fancy text, the sending user agent
| should put the plainest format first and the richest format
| last. Receiving user agents should pick and display the last format
| they are capable of displaying. In the case where one of the
| alternatives is itself of type "multipart" and contains unrecognized
| sub-parts, the user agent may choose either to show that alternative,
| an earlier alternative, or both.
`----
So if you attach *only a part* of the plain text message body, you
should not use multipart/alternative: Because
1. a part of a message is not "an 'alternative' version of the same
information."
2. if recipients user agent prefers html messages it will display
only the html'ized part.
Better use multipart/alternative for plain text and html of the entire
body and additional multipart/mixed for snippets. If the html output
should contain images, than maybe use a multipart/mixed with type
text/html beneath the text/plain, so the receiving MUA might pick it
up when prefering html.
With regards to SEMI the delimiters are (inserted a space between two
succeeding dashes):
- single entity:
[-- Attachment #1.1.2: Type: type/subtype, Size: 779 bytes --]
[-- Attachment #1.2: Type: application/pgp-signature, Size: 230 bytes --]
[-- Attachment #2: Type: text/plain, Size: 201 bytes --]
_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode
next prev parent reply other threads:[~2010-03-26 16:04 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-22 2:34 using orgmode to send html mail? Matt Price
2010-03-22 15:44 ` Matt Price
2010-03-22 20:18 ` David Maus
2010-03-23 19:54 ` Eric Schulte
2010-03-23 21:46 ` Xiao-Yong Jin
2010-03-24 15:00 ` Eric Schulte
2010-03-24 17:50 ` Dan Davison
2010-03-24 18:01 ` Eric Schulte
2010-03-24 19:12 ` David Maus
2010-03-24 20:19 ` Eric Schulte
2010-03-25 21:17 ` David Maus
2010-03-26 14:53 ` Eric Schulte
2010-03-26 16:04 ` David Maus [this message]
2010-03-26 16:32 ` Eric Schulte
2010-03-31 18:12 ` [CONTRIB?] " Eric Schulte
2010-03-31 20:05 ` Dan Davison
2010-03-31 21:10 ` Eric Schulte
2010-03-31 21:37 ` Dan Davison
2010-04-01 14:22 ` Eric Schulte
2010-04-05 5:39 ` Eric Schulte
2010-04-05 6:49 ` Carsten Dominik
2010-04-05 15:31 ` Eric Schulte
2010-04-09 16:41 ` [ANN] org-mime -- " Eric Schulte
2010-04-09 17:41 ` Matt Price
2010-04-09 19:11 ` Eric Schulte
2010-04-09 19:22 ` David Maus
2010-04-09 20:34 ` Eric Schulte
2010-04-12 13:37 ` Andrew Hyatt
2010-04-12 17:22 ` Eric Schulte
2010-04-13 1:31 ` Andrew Hyatt
2010-04-14 0:57 ` Eric Schulte
2010-04-14 1:57 ` Andrew Hyatt
2010-04-14 14:59 ` Eric Schulte
2010-04-14 18:00 ` Andrew Hyatt
2010-04-14 19:26 ` Bernt Hansen
2010-04-14 8:39 ` Eric S Fraga
2010-04-14 15:12 ` Eric Schulte
2010-04-14 19:38 ` Eric S Fraga
2010-04-15 2:49 ` Eric Schulte
2010-04-15 15:47 ` Eric Schulte
2010-04-13 23:03 ` Eric S Fraga
2010-04-14 1:22 ` Eric Schulte
2010-04-05 13:54 ` [CONTRIB?] " Dan Davison
2010-04-05 14:50 ` David Maus
2010-04-05 14:53 ` Dan Davison
2010-04-05 15:30 ` Eric Schulte
2010-04-01 17:37 ` Sivaram Neelakantan
2010-04-01 17:45 ` Sivaram Neelakantan
2010-03-31 20:37 ` David Maus
2010-03-31 22:03 ` Eric Schulte
2010-04-02 7:04 ` David Maus
2010-04-02 23:01 ` Eric Schulte
2010-04-03 9:19 ` David Maus
2010-04-04 17:52 ` Eric Schulte
2010-04-01 7:53 ` Vagn Johansen
2010-04-02 6:34 ` David Maus
2010-04-02 14:57 ` Dan Davison
2010-04-02 17:25 ` David Maus
2010-04-02 21:10 ` Eric Schulte
2010-04-03 9:00 ` David Maus
2010-04-03 12:03 ` David Maus
2010-04-04 2:41 ` Eric Schulte
2010-04-04 10:00 ` David Maus
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87zl1vf4ru.wl%dmaus@ictsoc.de \
--to=dmaus@ictsoc.de \
--cc=davison@stats.ox.ac.uk \
--cc=emacs-orgmode@gnu.org \
--cc=schulte.eric@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.