Apply by doing:
       cd /usr/src
       patch -p0 < 003_sendmail2.patch

And then rebuild and install sendmail:
       cd gnu/usr.sbin/sendmail
       make obj
       make depend
       make
       make install

Index: gnu/usr.sbin/sendmail/sendmail/deliver.c
===================================================================
RCS file: /cvs/src/gnu/usr.sbin/sendmail/sendmail/deliver.c,v
retrieving revision 1.26.4.1
retrieving revision 1.26.4.2
diff -u -p -r1.26.4.1 -r1.26.4.2
--- gnu/usr.sbin/sendmail/sendmail/deliver.c    25 Mar 2006 01:49:37 -0000      1.26.4.1
+++ gnu/usr.sbin/sendmail/sendmail/deliver.c    15 Jun 2006 02:46:09 -0000      1.26.4.2
@@ -4616,7 +4616,7 @@ putbody(mci, e, separator)
               /* now do the hard work */
               boundaries[0] = NULL;
               mci->mci_flags |= MCIF_INHEADER;
-               if (mime8to7(mci, e->e_header, e, boundaries, M87F_OUTER) ==
+               if (mime8to7(mci, e->e_header, e, boundaries, M87F_OUTER, 0) ==
                                                               SM_IO_EOF)
                       goto writeerr;
       }
@@ -4647,7 +4647,7 @@ putbody(mci, e, separator)
                       SuprErrs = true;

               if (mime8to7(mci, e->e_header, e, boundaries,
-                               M87F_OUTER|M87F_NO8TO7) == SM_IO_EOF)
+                               M87F_OUTER|M87F_NO8TO7, 0) == SM_IO_EOF)
                       goto writeerr;

               /* restore SuprErrs */
Index: gnu/usr.sbin/sendmail/sendmail/mime.c
===================================================================
RCS file: /cvs/src/gnu/usr.sbin/sendmail/sendmail/mime.c,v
retrieving revision 1.10.6.1
retrieving revision 1.10.6.2
diff -u -p -r1.10.6.1 -r1.10.6.2
--- gnu/usr.sbin/sendmail/sendmail/mime.c       25 Mar 2006 01:49:38 -0000      1.10.6.1
+++ gnu/usr.sbin/sendmail/sendmail/mime.c       15 Jun 2006 02:46:09 -0000      1.10.6.2
@@ -80,6 +80,7 @@ static bool   MapNLtoCRLF;
**             boundaries -- the currently pending message boundaries.
**                     NULL if we are processing the outer portion.
**             flags -- to tweak processing.
+**             level -- recursion level.
**
**     Returns:
**             An indicator of what terminated the message part:
@@ -96,12 +97,13 @@ struct args
};

int
-mime8to7(mci, header, e, boundaries, flags)
+mime8to7(mci, header, e, boundaries, flags, level)
       register MCI *mci;
       HDR *header;
       register ENVELOPE *e;
       char **boundaries;
       int flags;
+       int level;
{
       register char *p;
       int linelen;
@@ -122,6 +124,18 @@ mime8to7(mci, header, e, boundaries, fla
       char pvpbuf[MAXLINE];
       extern unsigned char MimeTokenTab[256];

+       if (level > MAXMIMENESTING)
+       {
+               if (!bitset(EF_TOODEEP, e->e_flags))
+               {
+                       if (tTd(43, 4))
+                               sm_dprintf("mime8to7: too deep, level=%d\n",
+                                          level);
+                       usrerr("mime8to7: recursion level %d exceeded",
+                               level);
+                       e->e_flags |= EF_DONT_MIME|EF_TOODEEP;
+               }
+       }
       if (tTd(43, 1))
       {
               sm_dprintf("mime8to7: flags = %x, boundaries =", flags);
@@ -242,7 +256,9 @@ mime8to7(mci, header, e, boundaries, fla
       */

       if (sm_strcasecmp(type, "multipart") == 0 &&
-           (!bitset(M87F_NO8BIT, flags) || bitset(M87F_NO8TO7, flags)))
+           (!bitset(M87F_NO8BIT, flags) || bitset(M87F_NO8TO7, flags)) &&
+           !bitset(EF_TOODEEP, e->e_flags)
+          )
       {

               if (sm_strcasecmp(subtype, "digest") == 0)
@@ -286,10 +302,13 @@ mime8to7(mci, header, e, boundaries, fla
               }
               if (i >= MAXMIMENESTING)
               {
-                       usrerr("mime8to7: multipart nesting boundary too deep");
+                       if (tTd(43, 4))
+                               sm_dprintf("mime8to7: too deep, i=%d\n", i);
+                       if (!bitset(EF_TOODEEP, e->e_flags))
+                               usrerr("mime8to7: multipart nesting boundary too deep");

                       /* avoid bounce loops */
-                       e->e_flags |= EF_DONT_MIME;
+                       e->e_flags |= EF_DONT_MIME|EF_TOODEEP;
               }
               else
               {
@@ -333,7 +352,8 @@ mime8to7(mci, header, e, boundaries, fla
                               goto writeerr;
                       if (tTd(43, 101))
                               putline("+++after putheader", mci);
-                       bt = mime8to7(mci, hdr, e, boundaries, flags);
+                       bt = mime8to7(mci, hdr, e, boundaries, flags,
+                                     level + 1);
                       if (bt == SM_IO_EOF)
                               goto writeerr;
               }
@@ -374,7 +394,8 @@ mime8to7(mci, header, e, boundaries, fla

       if (sm_strcasecmp(type, "message") == 0)
       {
-               if (!wordinclass(subtype, 's'))
+               if (!wordinclass(subtype, 's') ||
+                   bitset(EF_TOODEEP, e->e_flags))
               {
                       flags |= M87F_NO8BIT;
               }
@@ -397,7 +418,8 @@ mime8to7(mci, header, e, boundaries, fla
                           !bitset(M87F_NO8TO7, flags) &&
                           !putline("MIME-Version: 1.0", mci))
                               goto writeerr;
-                       bt = mime8to7(mci, hdr, e, boundaries, flags);
+                       bt = mime8to7(mci, hdr, e, boundaries, flags,
+                                     level + 1);
                       mci->mci_flags &= ~MCIF_INMIME;
                       return bt;
               }
Index: gnu/usr.sbin/sendmail/sendmail/sendmail.h
===================================================================
RCS file: /cvs/src/gnu/usr.sbin/sendmail/sendmail/sendmail.h,v
retrieving revision 1.24.4.1
retrieving revision 1.24.4.2
diff -u -p -r1.24.4.1 -r1.24.4.2
--- gnu/usr.sbin/sendmail/sendmail/sendmail.h   25 Mar 2006 01:49:38 -0000      1.24.4.1
+++ gnu/usr.sbin/sendmail/sendmail/sendmail.h   15 Jun 2006 02:46:09 -0000      1.24.4.2
@@ -942,6 +942,7 @@ struct envelope
#define EF_TOOBIG      0x02000000L     /* message is too big */
#define EF_SPLIT       0x04000000L     /* envelope has been split */
#define EF_UNSAFE      0x08000000L     /* unsafe: read from untrusted source */
+#define EF_TOODEEP     0x10000000L     /* message is nested too deep */

#define DLVR_NOTIFY    0x01
#define DLVR_RETURN    0x02
@@ -1651,7 +1652,7 @@ EXTERN unsigned long      PrivacyFlags;   /* pr

/* functions */
extern bool    mime7to8 __P((MCI *, HDR *, ENVELOPE *));
-extern int     mime8to7 __P((MCI *, HDR *, ENVELOPE *, char **, int));
+extern int     mime8to7 __P((MCI *, HDR *, ENVELOPE *, char **, int, int));

/*
**  Flags passed to returntosender.