Helge Hafting ha scritto:

> Please submit bug reports - to the makers of bad email clients.
> I tried sending with thunderbird 1.0.7 and receiving with mutt - no
> problem.

I tried to read some RFCs on the subject and I think that it could be
the fault of broken email clients. I report here on some experiments I
did.

First of all I tried to verify how sendmail behaves, so I directly
"talked" with the sendmail program. What follows is the transcript of
our "conversation". I faked host names and addresses for obvious
reasons, and marked with ">>>" the lines I typed in.

sirio:~> telnet mailhost 25
Trying xxx.xxx.xxx.xxx...
Connected to mailhost.
Escape character is '^]'.
220 mailhost ESMTP Sendmail 8.13.3+Sun/8.13.3; Fri, 2 Dec 2005 17:39:42
+0100 (CET)
>>>ehlo sirio
250-mailhost Hello sirio [yyy.yyy.yyy.yyy], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-EXPN
250-VERB
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-DELIVERBY
250 HELP
>>>mail from:<[EMAIL PROTECTED]>
250 2.1.0 <[EMAIL PROTECTED]>... Sender ok
>>>rcpt to:<ef>
250 2.1.5 <ef>... Recipient ok
>>>data
354 Enter mail, end with "." on a line by itself
>>>.one dot
>>>..two dots
>>>.
250 2.0.0 jB2GdgBt016003 Message accepted for delivery
>>>quit
221 2.0.0 mailhost closing connection
Connection closed by foreign host.
sirio:~>

In essence, I sent to my local address on mailhost a mail whose body
is composed by the two lines (without quotes, of course):
".one dot"
"..two dots"
and nothing more. Then I edited my mailbox with vim and it looked like
this (again, I faked host names and addresses):
----begin----
|From [EMAIL PROTECTED] Fri Dec  2 17:53:34 2005
|Return-Path: <[EMAIL PROTECTED]>
|Received: from sirio (sirio [yyy.yyy.yyy.yyy])
|        by mailhost (8.13.3+Sun/8.13.3) with SMTP id jB2Gr3Bt016158
|        for <ef>; Fri, 2 Dec 2005 17:53:17 +0100 (CET)
|Date: Fri, 2 Dec 2005 17:53:03 +0100 (CET)
|From: [EMAIL PROTECTED]
|Message-Id: <[EMAIL PROTECTED]>
|Content-Length: 19
|
|.one dot
|.two dots
|
----end----

So, sendmail eated one of the two dots on the second line, but leaved
alone the starting dot on the first line.

Now I used mutt to fetch the mail with POP3 and mutt downloaded a mail
whose body had the two lines:
".one dot"
".two dots"

Exactly as it was in my mailbox on mailhost.
I instructed mutt to not delete the mail from the mailhost and then used
another mailer to fetch that same mail with POP3. The result was a mail
with the two lines body:
"..one dot"
"..two dots"

So, this mailer is clearly broken, as it seems that, according to the
POP3 protocol, an initial dot gets transmitted duplicated and it should
be the responsibility of the mailer acting accordingly upon this.
Unfortunately, this mailer (http://www.js-home.org/XCmail/) seems not to
be actively developed anymore :-(

To summarize what I think are the results of my experimentation:
1) sendmail eats a dot if it is the first one on a line *and* it is
   immediately followed by another dot (I also tried with a line
   containing only a dot and a blank immediately following it, and
   sendmail does not touched it).
2) An initial single dot followed by nothing is very dangerous as the
   email would be truncated there (I think that the fact the sendmail
   eats the first of two initial dots is there to allow for a single dot
   on a line by simply doubling it; so it seems a good strategy for a
   mailer to always double an initial dot, and indeed it is done when
   the email is fetched with POP3).
3) The dot doubling problem seems to be related to POP3 transmission and
   occurs with broken mailers which do not follow the rules (RFCs).

IMHO this is not a lyx problem and I should say that it seems I judged
wrongly both TB and OE, which seem to do the "right thing".
Indeed, when I reported that TB was showing me a different thing from
what I was seeing looking at an email with vim, I was not aware of the
fact that TB was showing the html part of the email, which indeed was
correct!

--
Enrico

Reply via email to