emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: "Eric Schulte" <schulte.eric@gmail.com>
To: David Maus <dmaus@ictsoc.de>
Cc: org-mode <emacs-orgmode@gnu.org>
Subject: Re: org-mime - issues and remarks
Date: Tue, 27 Apr 2010 13:26:45 -0600	[thread overview]
Message-ID: <87hbmw66iy.fsf@gmail.com> (raw)
In-Reply-To: <87zl0o930r.wl%dmaus@ictsoc.de> (David Maus's message of "Tue, 27 Apr 2010 20:14:12 +0200")

David Maus <dmaus@ictsoc.de> writes:

> At Mon, 26 Apr 2010 10:04:12 -0600,
> Eric Schulte wrote:
>> David Maus <dmaus@ictsoc.de> writes:
>>
>> > While skimming the source code of org-mime I noticed two severe issues
>> > with regards to the MIME specifications:
>> >
>> >   - when creating an attachment for a image org-mime (still) uses the
>> >     file extension as MIME media subtype for Gnus messages. This not
>> >     in compliance with RFC 2046.  As mentioned before org-mime
>> >     should/could use the function to determine MIME media type of
>> >     message-mode and mime-edit-mode respectively.
>> >
>> >     For SEMI the function is `mime-find-file-type', called with the
>> >     file name as argument and returns a list whose first element is a
>> >     string with MIME media type and second element is MIME media
>> >     subtype.
>> >
>>
>> Alright,
>>
>> once I find the appropriate similar function in mml/gnus I will make
>> this change.
>
> Well, I tried to change it for SEMI but this would require a complete
> rewrite of `org-mime-replace-images' because `mime-find-file-type'
> modifies the match-data and the `replace-regexp-in-string' get's
> confused (i.e.: throws an error).  I'll see if I can come up with
> something w/o rewriting to much.
>

The `save-match-data' macro should fix this.

>
>> >
>> > Furthermore there are some minor glitches:
>> >
>> >   - the "filename" parameter is only defined for the
>> >     content-disposition header field; because images are attachments
>> >     they can/should be easily send with
>> >
>> >     content-disposition: attachment; filename="<filename>"
>> >
>> >     For SEMI (replace _ by -):
>> >
>> >     __[[type/subtype
>> >     content-disposition: attachment; filename="<filename>"][base64]]
>> >
>>
>> could you expand upon this point, what's the problem?
>
> Hm.  I noticed that in the test mail of Eric Fraga[1] images where attached as:
>
> ,----
> | Content-Type: application/octet-stream; type=image/png
> | Content-ID: _home_ucecesf_s_test_mip.png; filename="/home/ucecesf/s/test/mip.png"
> | Content-Transfer-Encoding: base64
> `----
>
> I.e. with the 'filename=' parameter in the Content-ID MIME header
> field.  That wouldn't be correct or, say, not entirely correct because
> the filename option is only defined in a Content-Disposition MIME
> header field.  So, the old story: It's out of the scope of MIME so you
> don't know what receiving clients will do.
>
> Anyway, org-mime currently does not put a filename parameter at all so
> what's only left is to send attached images with SEMI is Disposition:
> attachment like Gnus does.
>
> The difference: The Content-Disposition MIME header field contains an
> optional hint for the receiving MUA what to do with attached files.
>
>  - 'inline' :: Show attachment without user interaction.
>
>  - 'attachment' :: Show attachment only with explicit user
>     		   interaction.
>
> For the attached images we don't want them to be shown without user
> interaction but rendered in the html markup.  Sending them with
> Disposition: inline could result in a MUA showing the images inside
> the html markup and again maybe at the bottom of the message.
>

Alright, it shouldn't be hard to add the "attachment" content
disposition to the attachment strings.  And if I'm reading you correctly
we should also place a filename parameter in the "Content disposition"
header?

>
>>
>> >
>> >   - org-mime uses `reporter-compose-outgoing' to open a new message
>> >     draft.  This is not a could solution because (a) org-mine does not
>> >     want to send a bug report and (b) would depend on reporter.el
>> >     without necessity.
>> >
>>
>> I don't think this is a problem, I think reporter.el is the best
>> approach here.
>
> Yes, I admit this is somewhat pedantic and hypothetical: If you depend
> on reporter that you should say so (require 'reporter) and you will
> depend on this particular implementation of
> `reporter-compose-outgoing'.  As soon as this function does something
> else or something more, strange things might happen.  It's like taking
> a detour: When we prepare the message draft we already know which
> functions are required depending on `org-mime-library'.
>

The (require 'reporter) string is present in org-mime.el, so I think
we're all set here.

Thanks -- Eric

>
> HTH
>  -- David
>
>
> [1] mid:87hbndq0ym.wl%ucecesf@ucl.ac.uk
> --
> OpenPGP... 0x99ADB83B5A4478E6
> Jabber.... dmjena@jabber.org
> Email..... dmaus@ictsoc.de

      reply	other threads:[~2010-04-27 19:27 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-23 16:12 org-mime - issues and remarks David Maus
2010-04-23 21:00 ` Sebastian Rose
2010-04-26 16:04 ` Eric Schulte
2010-04-27 18:14   ` David Maus
2010-04-27 19:26     ` Eric Schulte [this message]

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

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87hbmw66iy.fsf@gmail.com \
    --to=schulte.eric@gmail.com \
    --cc=dmaus@ictsoc.de \
    --cc=emacs-orgmode@gnu.org \
    /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 public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).