Hi,

I ran into a problem wherein my mail client (RoundCube) would not display a message from a Dovecot IMAP server (claiming that the message had no content). The raw source of the message looked fine, but the body structure returned by Dovecot only had the first text/plain part and not the alternative text/html part. The message looks like:

   ... headers removed ...
   X-Mailer: Lotus Notes Release 6.5.1 January 21, 2004
   Message-ID: <...>
   From: [EMAIL PROTECTED]
   Date: Mon, 20 Oct 2008 14:15:55 -0600
   Content-Type: multipart/alternative; boundary="=_alternative
     006F3A73872574E8_="

   This is a multipart message in MIME format.
   --=_alternative 006F3A73872574E8_=
   Content-Transfer-Encoding: 7bit
   Content-Type: text/plain;
     charset=us-ascii

   blah blah blah

   --=_alternative 006F3A73872574E8_=
   Content-Transfer-Encoding: 7bit
   Content-Type: text/html;
     charset=us-ascii


   <br><font size=2 face="sans-serif">blah blah blah in HTML</font>

   --=_alternative 006F3A73872574E8_=--


I did a little bit of tracing through the parsing code (message-header-parser.c:message_parse_header_next()) and it appeared that the boundary in the Content-Type header was not parsed correctly, evidently because the header line was folded in the middle of the boundary string. RFC 822 appears to allow folding in a quoted string like this (ยง3.3 "quoted-string"), so I'm curious whether the parsing is working correctly.

Thanks for your help!

Here is my Dovecot information:
version: 1.1.4
"dovecot -n" output:
# 1.1.4: /usr/local/etc/dovecot.conf
Warning: fd limit 256 is lower than what Dovecot can use under full load (more than 384). Either grow the limit or change login_max_processes_count and max_mail_processes settings
base_dir: /var/dovecot/
info_log_path: /var/log/dovecot.log
listen: *, [::]
ssl_cert_file: /System/Library/OpenSSL/certs/imapd.pem
ssl_key_file: /System/Library/OpenSSL/certs/privkey.out
login_dir: /var/dovecot/login
login_executable: /usr/local/libexec/dovecot/imap-login
max_mail_processes: 256
mail_location: maildir:%h/Maildir
namespace:
  type: private
  separator: /
  inbox: yes
  list: yes
  subscriptions: yes
namespace:
  type: shared
  separator: /
  prefix: Shared/
  location: maildir:/Users/Shared/Maildir
  list: yes
  subscriptions: yes
auth default:
  passdb:
    driver: pam
    args: imap
  userdb:
    driver: passwd



--
*Eric Stadtherr*
[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>

Reply via email to