Although the RFC describle that length of each line in a letter is between
70-80 ,some mail server send letter in extra long line beyond the number.
When the length beyond 8k,the cyrus can't store the letter correctly.
I patched the imap/lmtpengine.c,now she works well.

*** lmtpengine.c.orig   Tue Jan  2 21:57:49 2001
--- lmtpengine.c        Tue Jan  2 21:58:15 2001
***************
*** 528,534 ****

      while (prot_fgets(buf, sizeof(buf)-1, fin)) {
        p = buf + strlen(buf) - 1;
!       if (p == buf || p[-1] != '\r') {
            p[0] = '\r';
            p[1] = '\n';
            p[2] = '\0';
--- 528,534 ----

      while (prot_fgets(buf, sizeof(buf)-1, fin)) {
        p = buf + strlen(buf) - 1;
!       if (p == buf) {
            p[0] = '\r';
            p[1] = '\n';
            p[2] = '\0';



Reply via email to