On Jul 10, 2008, at 4:30 AM, Alexandru Stanoi wrote: > Dave Fischetti wrote: >> Hi all, the other day I received this error for the first time in >> about a year (I hadn't made any changes to anything). I'm using >> ezcomponents-2007.2.1 >> Fatal error: Argument 2 passed to ezcMail::walkParts() must not be >> null, called in /usr/include/php/ezcomponents-2007.2.1/Mail/src/ >> mail.php on line 438 and defined in /usr/include/php/ >> ezcomponents-2007.2.1/Mail/src/mail.php on line 430 >> here is the email that I believe caused it, but I'm not sure. >> There was no body to the email. The user just sent a subject. I've >> had that before without error so i don't think that caused it: >> Received: (qmail 27779 invoked from network); 5 Jul 2008 17:02:35 >> -0400 >> Received: from mailgate1.domain.com (HELO domain.com) (xx.xxx.xx.xxx) >> by mydomain.com with (DHE-RSA-AES256-SHA encrypted) SMTP; 5 Jul >> 2008 17:02:35 -0400 >> Received-SPF: pass (mydomain.com: local policy designates >> xx.xxx.xx.xxx as permitted sender) >> Received: from ([12.165.36.249]) >> by mailgate1.domain.com with ESMTP id KP-BPZGN.208254597; >> Sat, 05 Jul 2008 17:02:15 -0400 >> Subject: Yes >> From: [EMAIL PROTECTED] >> Date: Sat, 5 Jul 2008 17:02:19 -0400 >> To: [EMAIL PROTECTED] >> Importance: Normal >> Message-ID: <[EMAIL PROTECTED]> >> X-MIMETrack: Serialize by Router on ETCSPLNG103/MAIL/CCE(Release >> 7.0.3| September 26, 2007) at >> 07/05/2008 05:02:22 PM >> MIME-Version: 1.0 >> I'd appreciate any help trying to see what caused this. > > Hi Dave, > > The error is most likely caused by an empty body in the mail. Mail > bodies are optional according to RFC2822, so it looks like a bug. I > opened an issue for it (http://issues.ez.no/13329) and a fix is > already in SVN. > > If you cannot upgrade your eZ Components version (I see you still > use 2007.2.1) you can add the fix yourself in mail.php: > > mail.php, line 433: > <code> > case 'ezcMail': > case 'ezcMailComposer': > $this->walkParts( $context, $mail->body ); > break; > </code> > > will become: > <code> > case 'ezcMail': > case 'ezcMailComposer': > if ( $mail->body !== null ) > { > $this->walkParts( $context, $mail->body ); > } > break; > </code> > > Hope this helps. > > Cheers, > Alex. > > -- > Alexandru Stanoi > eZ Components System Developer > eZ Systems | http://ez.no
Thank you for the quick reply and prompt resolution! Much appreciated. I'm thinking that if the body is null I could also make the body = subject. since I ignore the subject when parsing. The subject in this case is the data I need. So could I possibly do this? Or do I need to define the type of PART I'm defining? <code> case 'ezcMail': case 'ezcMailComposer': if ( $mail->body !== null ) { $this->walkParts( $context, $mail->body ); } else { $mail->body = $mail->subject; } break; </code> Thanks, -- Components mailing list Components@lists.ez.no http://lists.ez.no/mailman/listinfo/components