Re: Speed of CFMAIL
On a good day I can have my box spit out 2.000 mails per minute, That's just queued to disk? or delivered from queue to smtp destination? Howie needs to how many mails / hour delivered OUT OF THE CF BOX (to his next hop MTA). 30 ms/msg is pretty darn good, anyway. 3,000,000 / day ... queued to disk! LOL "dans queue" for that info, Dirk. Len on a queued day, you can wait forever! -- Archives: http://www.eGroups.com/list/cf-talk To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body.
Re: Speed of CFMAIL
To the disk. I missed the bit about getting the message to the client. So first the messages are queued locally, then I deliver them to a smart host at my provider, this will be typically at 150 to 300 msg per minute, obviously depending on numerous factors such as local server load, remote server load, bandwidth. To actually get them delivered to the client is not my concern at this point, not until my ISP starts complaining. I guess this will takes a couple of hours to get the last one out. - Original Message - From: "Len Conrad" [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, April 05, 2000 8:52 PM Subject: Re: Speed of CFMAIL On a good day I can have my box spit out 2.000 mails per minute, That's just queued to disk? or delivered from queue to smtp destination? Howie needs to how many mails / hour delivered OUT OF THE CF BOX (to his next hop MTA). 30 ms/msg is pretty darn good, anyway. 3,000,000 / day ... queued to disk! LOL "dans queue" for that info, Dirk. Len on a queued day, you can wait forever! -- Archives: http://www.eGroups.com/list/cf-talk To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body. -- Archives: http://www.eGroups.com/list/cf-talk To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body.
RE: Speed of CFMAIL
Do you have a URL for postfix? vbg www.postfix.org And is there a Solaris/Linux port? yeah, sure. Wietse has done a world-class job with postfix, including a beautiful install routine. IBM doesn't publish crap under their public software license and hire Venema for a sabbatical to do postfix. The company I am doing this for is NT only, but may consider going for a Solaris or Linux solution. FreeBSD is not even on the radar. If they look up at yahoo, or use Hotmail, then FreeBSD is on their radar. vbg They'd rather spend 10k for an NT solution rather than pick up a better freeware product. Gotta love cube life. f@rthe@ds. Free doesn't mean junk. But I guess for the cubists, it's just pearls before swine. If I were you (ouch!), I'd throw protoytpe together a FreeBSD machine with postfix (out of pocket: $0.00, skunkworks!!), a celeron 400 or better, and get Marcelo Frutig's tag for talking to serverobjects' ASPQmail ($150). CFMail has such notoriety, for so long (see this list and the forums), that I can't believe anyone would ever consider putting it the head-end of such a huge mail project, esp with all the money you're spending for tail-end of LSMTP and its hw platform (and its maintenance costs). If the prototype give results, then ask them to buy you a Solaris license. Wietse Venema has some tools for pumping tons of mail into postfix. It is a very hot MTA. You could have roomful of PIII's running postfix in parallel, giving you great redundancy, and just have CF/ASPQmail spread the output over the MTA outgoing farm. I've got an idiot's How-To for installing FreeBSD and then postfix, if you're interested, as part of my IMGate anti-spam project. Len -- Archives: http://www.eGroups.com/list/cf-talk To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body.
Re: Speed of CFMAIL
Has anybody done any speed tests to determine how many emails CFMAIL can send in an hour? If CFMAIL's outgoing volume is insufficient, I would recommend having CFMail's SMTP client dump all outgoing mail on a local ip (no DNS lookups by CFMAIL) where a mail gateway running an efficient and reliable MTA like postfix would do the dirty work of actually delivering the mail. Asking a production CF server, I assume it's doing lots of other CF applications, to do volume mail delivery seems to be counterproductive and is certainly unnecessary. Len -- Archives: http://www.eGroups.com/list/cf-talk To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body.
RE: Speed of CFMAIL
Len, I'll be connecting CFMAIL to L-Soft's LSMTP. I've tested LSMTP to send over 80,000 messages an hour, but not with mail coming from CF. I haven't had an opportunity to test how fast CFMAIL can feed LSMTP the messages. Setting up a couple of mail boxes to receive 100,000 messages is a bit of work, so I don't want to duplicate effort if I don't have to. A rough approximation to the nearest 10k/hour is close enough. Anybody? Chris Evans [EMAIL PROTECTED] http://www.fuseware.com -Original Message- From: Len Conrad [mailto:[EMAIL PROTECTED]] Sent: Wednesday, April 05, 2000 9:21 AM To: [EMAIL PROTECTED] Subject: Re: Speed of CFMAIL Has anybody done any speed tests to determine how many emails CFMAIL can send in an hour? If CFMAIL's outgoing volume is insufficient, I would recommend having CFMail's SMTP client dump all outgoing mail on a local ip (no DNS lookups by CFMAIL) where a mail gateway running an efficient and reliable MTA like postfix would do the dirty work of actually delivering the mail. Asking a production CF server, I assume it's doing lots of other CF applications, to do volume mail delivery seems to be counterproductive and is certainly unnecessary. Len -- Archives: http://www.eGroups.com/list/cf-talk To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body. -- Archives: http://www.eGroups.com/list/cf-talk To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body.
RE: Speed of CFMAIL
Chris, It really varies. At a previous job, we used to use CF to send all our mail blasts. When we first started, we were using a very sluggish NT-based DNS server-at best we'd get out 6-10K of messages an hour. When we switched over to a unix-based DNS system (which was even based 2000 miles away) we were able to bump it up to about 20-30K messages an hour. The mail server also has something to do with it as well. We actually set up an independent mail server just for mass mailings (we were using Imail for NT at the time-not sure how that compares to LSMTP.) I know your looking for something concrete, but it really all depends on the speed of the mail and DNS servers you're running and how many connections they can handle. I'm sure you're hardware's just fine ('cause I know were you work :),) so it really depends on the mail and DNS servers. -Dan ++---+ | name | Dan G. Switzer, II| |company | PengoWorks.com| |www | http://www.pengoworks.com | | mailto | [EMAIL PROTECTED] | ++---+ -Original Message- From: Chris Evans [mailto:[EMAIL PROTECTED]] Sent: Wednesday, April 05, 2000 9:31 AM To: [EMAIL PROTECTED] Subject: RE: Speed of CFMAIL Len, I'll be connecting CFMAIL to L-Soft's LSMTP. I've tested LSMTP to send over 80,000 messages an hour, but not with mail coming from CF. I haven't had an opportunity to test how fast CFMAIL can feed LSMTP the messages. Setting up a couple of mail boxes to receive 100,000 messages is a bit of work, so I don't want to duplicate effort if I don't have to. A rough approximation to the nearest 10k/hour is close enough. Anybody? Chris Evans [EMAIL PROTECTED] http://www.fuseware.com -Original Message- From: Len Conrad [mailto:[EMAIL PROTECTED]] Sent: Wednesday, April 05, 2000 9:21 AM To: [EMAIL PROTECTED] Subject: Re: Speed of CFMAIL Has anybody done any speed tests to determine how many emails CFMAIL can send in an hour? If CFMAIL's outgoing volume is insufficient, I would recommend having CFMail's SMTP client dump all outgoing mail on a local ip (no DNS lookups by CFMAIL) where a mail gateway running an efficient and reliable MTA like postfix would do the dirty work of actually delivering the mail. Asking a production CF server, I assume it's doing lots of other CF applications, to do volume mail delivery seems to be counterproductive and is certainly unnecessary. Len -- Archives: http://www.eGroups.com/list/cf-talk To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body. -- Archives: http://www.eGroups.com/list/cf-talk To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body. -- Archives: http://www.eGroups.com/list/cf-talk To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body.
Re: Speed of CFMAIL
It depends on many factors such as the mail server, speed of mail server, network speed .. Spped of the server on which CF server as well as your mail server is running .. but it works very well .. I am using it for internal network .. I have received 7000 mails in an hour through my application which is in CF - Original Message - From: Chris Evans [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, April 05, 2000 6:37 PM Subject: Speed of CFMAIL Has anybody done any speed tests to determine how many emails CFMAIL can send in an hour? Chris Evans [EMAIL PROTECTED] http://www.fuseware.com -- Archives: http://www.eGroups.com/list/cf-talk To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body. -- Archives: http://www.eGroups.com/list/cf-talk To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body.
RE: Speed of CFMAIL
I've done the testing, but don't have the results here. My recollection is that it was less than 10,000/hr, perhaps as much as 5,000/hr on a dual Pentafluge 450. best, paul At 09:31 AM 4/5/00 -0400, you wrote: Len, I'll be connecting CFMAIL to L-Soft's LSMTP. I've tested LSMTP to send over 80,000 messages an hour, but not with mail coming from CF. I haven't had an opportunity to test how fast CFMAIL can feed LSMTP the messages. Setting up a couple of mail boxes to receive 100,000 messages is a bit of work, so I don't want to duplicate effort if I don't have to. A rough approximation to the nearest 10k/hour is close enough. Anybody? Chris Evans [EMAIL PROTECTED] http://www.fuseware.com -Original Message- From: Len Conrad [mailto:[EMAIL PROTECTED]] Sent: Wednesday, April 05, 2000 9:21 AM To: [EMAIL PROTECTED] Subject: Re: Speed of CFMAIL Has anybody done any speed tests to determine how many emails CFMAIL can send in an hour? If CFMAIL's outgoing volume is insufficient, I would recommend having CFMail's SMTP client dump all outgoing mail on a local ip (no DNS lookups by CFMAIL) where a mail gateway running an efficient and reliable MTA like postfix would do the dirty work of actually delivering the mail. Asking a production CF server, I assume it's doing lots of other CF applications, to do volume mail delivery seems to be counterproductive and is certainly unnecessary. Len -- Archives: http://www.eGroups.com/list/cf-talk To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body. -- Archives: http://www.eGroups.com/list/cf-talk To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body. -- Archives: http://www.eGroups.com/list/cf-talk To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body.
RE: Speed of CFMAIL
I'm not worried about how fast mail can get delivered, or DNS resolution, or any of the other factors that are on the mail server itself. The mail server we are using can handle anything CF can throw at it. I'm more interested in how fast CF can spool the messages and feed them off to the mail server. All of the limitations folks have posted so far have been limitations on the mail server. I think I'll set up a test here and see what I can find out. I'll post the results when I get done. Now my only problem is setting up a temporary mailbox to hold 50,000 messages. grin Chris Evans [EMAIL PROTECTED] http://www.fuseware.com -Original Message- From: Dan G. Switzer, II [mailto:[EMAIL PROTECTED]] Sent: Wednesday, April 05, 2000 9:53 AM To: [EMAIL PROTECTED] Cc: Chris Evans Subject: RE: Speed of CFMAIL Chris, It really varies. At a previous job, we used to use CF to send all our mail blasts. When we first started, we were using a very sluggish NT-based DNS server-at best we'd get out 6-10K of messages an hour. When we switched over to a unix-based DNS system (which was even based 2000 miles away) we were able to bump it up to about 20-30K messages an hour. The mail server also has something to do with it as well. We actually set up an independent mail server just for mass mailings (we were using Imail for NT at the time-not sure how that compares to LSMTP.) I know your looking for something concrete, but it really all depends on the speed of the mail and DNS servers you're running and how many connections they can handle. I'm sure you're hardware's just fine ('cause I know were you work :),) so it really depends on the mail and DNS servers. -Dan ++---+ | name | Dan G. Switzer, II| |company | PengoWorks.com| |www | http://www.pengoworks.com | | mailto | [EMAIL PROTECTED] | ++---+ -Original Message- From: Chris Evans [mailto:[EMAIL PROTECTED]] Sent: Wednesday, April 05, 2000 9:31 AM To: [EMAIL PROTECTED] Subject: RE: Speed of CFMAIL Len, I'll be connecting CFMAIL to L-Soft's LSMTP. I've tested LSMTP to send over 80,000 messages an hour, but not with mail coming from CF. I haven't had an opportunity to test how fast CFMAIL can feed LSMTP the messages. Setting up a couple of mail boxes to receive 100,000 messages is a bit of work, so I don't want to duplicate effort if I don't have to. A rough approximation to the nearest 10k/hour is close enough. Anybody? Chris Evans [EMAIL PROTECTED] http://www.fuseware.com -Original Message- From: Len Conrad [mailto:[EMAIL PROTECTED]] Sent: Wednesday, April 05, 2000 9:21 AM To: [EMAIL PROTECTED] Subject: Re: Speed of CFMAIL Has anybody done any speed tests to determine how many emails CFMAIL can send in an hour? If CFMAIL's outgoing volume is insufficient, I would recommend having CFMail's SMTP client dump all outgoing mail on a local ip (no DNS lookups by CFMAIL) where a mail gateway running an efficient and reliable MTA like postfix would do the dirty work of actually delivering the mail. Asking a production CF server, I assume it's doing lots of other CF applications, to do volume mail delivery seems to be counterproductive and is certainly unnecessary. Len -- Archives: http://www.eGroups.com/list/cf-talk To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body. -- Archives: http://www.eGroups.com/list/cf-talk To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body. -- Archives: http://www.eGroups.com/list/cf-talk To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body. -- Archives: http://www.eGroups.com/list/cf-talk To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body.
RE: Speed of CFMAIL
I'll be connecting CFMAIL to L-Soft's LSMTP. I've tested LSMTP to send over 80,000 messages an hour, but not with mail coming from CF. ok, so your taking the non-CF smtp gateway approach, good. CFMAIL (or any another CFSMTP client tag) can send directly to an ip address (no DNS lookups? That would be bummer, a tremendous waste of time, if it couldn't. 8 / 3600 gives 45 ms per msg at the LSMTP level so they must be spawning a ton of smtp clients to arrive at that rate, 2 million / day. ho hum for Unix land and the kind of smtp MTA's on that platform. Does CFMAIL spawn any number other than one SMTP process per CFMAIL execution? Dan's 10,000 / hour is just one msg per 350 ms approx, but it sounds like Dan was doing DNS lookups with CFMAIL so if you can get "CF_SMTP" to dump on LSMTP's ip address directly, then you ought to be able to get much better than 350 ms. Is LSMTP's SMTPD server as efficient and multi-tasking as it SMTP client? ie, can it "take it" and well as "dish it out". Len -- Archives: http://www.eGroups.com/list/cf-talk To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body.
RE: Speed of CFMAIL
CFMAIL (or any another CFSMTP client tag) can send directly to an ip address (no DNS lookups? That would be bummer, a tremendous waste of time, if it couldn't. LSMTP handles the DNS lookups, using DNS caching. The product is licensed per simultaneous threads, but we have it limited to 200. Mail messages are stored in RAM rather than individual files, so you lose a lot of I/O overhead. It also does connection pooling, so common mail servers like AOL keep a constant connection while there is mail to send. It's a very fast MTA. I guess the real question will be what work has to be done by CF, and how fast can it do that work? It sounds as though that is the real question. I'll ask the magic 8-ball (and do some testing). Chris Evans [EMAIL PROTECTED] http://www.fuseware.com -- Archives: http://www.eGroups.com/list/cf-talk To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body. -- Archives: http://www.eGroups.com/list/cf-talk To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body.
Re: Speed of CFMAIL
On a good day I can have my box spit out 2.000 mails per minute, I should think it mostly depends on your i/o subsystem and file system since you're creating 2.000 files per minute. A FAT sytem would slow to a crawl after the first couple of hundred messages. Other ways to go would be to use cffile to write out the mails (maybe more efficient), or to use a CFX ro COM object in a compiled language to write te mail files. - Original Message - From: "Chris Evans" [EMAIL PROTECTED] Subject: RE: Speed of CFMAIL -- Archives: http://www.eGroups.com/list/cf-talk To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body.
RE: Speed of CFMAIL
While testing out my CFMAIL box, I see a disturbing trend. The mail spooler sends out 100 messages from the spool, waits 60 seconds, sends out another 100 messages, and so on until the spool is empty. This means it takes 10 minutes to send out 1000 messages. Is this a configuration I can change? This is very very slow. Chris Evans [EMAIL PROTECTED] http://www.fuseware.com -Original Message- From: Dirk De Bock [mailto:[EMAIL PROTECTED]] Sent: Wednesday, April 05, 2000 11:27 AM To: [EMAIL PROTECTED] Subject: Re: Speed of CFMAIL On a good day I can have my box spit out 2.000 mails per minute, I should think it mostly depends on your i/o subsystem and file system since you're creating 2.000 files per minute. A FAT sytem would slow to a crawl after the first couple of hundred messages. Other ways to go would be to use cffile to write out the mails (maybe more efficient), or to use a CFX ro COM object in a compiled language to write te mail files. - Original Message - From: "Chris Evans" [EMAIL PROTECTED] Subject: RE: Speed of CFMAIL -- Archives: http://www.eGroups.com/list/cf-talk To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body. -- Archives: http://www.eGroups.com/list/cf-talk To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body.
RE: Speed of CFMAIL
LSMTP handles the DNS lookups, using DNS caching. The product is licensed per simultaneous threads, but we have it limited to 200. Mail messages are stored in RAM rather than individual files, so you lose a lot of I/O overhead. It also does connection pooling, so common mail servers like AOL keep a constant connection while there is mail to send. It's a very fast MTA. of, course, but can CFMAIL deliver to an LSMTP's ip.ad.re.ss without doing DNS lookup? That would be several 10's of ms to shave off CFMAIL execution. hmm, I bet that' one expensive piece of software, LSMTP. And I bet postfix with FreeBSD's softupdates filesystem and desintation sorting could come damn close to LSMTP, and do it for free, with as many SMTP clients as your memory could hold, and it that wasn't enough, do it all again on a 2nd, 3rd, etc, PC, giving you n-way MTA delivery redundancy, which is absolutely necessary with that many mail msgs to get out. The email business is as fascinating as DNS workings. Len -- Archives: http://www.eGroups.com/list/cf-talk To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body.
Re: Speed of CFMAIL
In cf install dir\mail\spool Howie Hamlin -- inFusion Project Manager; On-Line Data Solutions, Inc. (631)737-4668 === Please vote for iMS in the Most Innovative category here: *** http://www.sys-con.com/ColdFusion/readerschoice2000/ *** === Check out inFusion Mail Server - the world's most configurable email server *** inFusion Authenticator for IIS is now released! (download from CoolFusion.com) *** http://www.teletrends.com and http://www.coolfusion.com Software and utilities for ColdFusion, iHTML, Website, NTMail Latest versions available from our web site (inFusion Authenticator version 2.0 for WebSite and NTMail is now released) - Original Message - From: Lee Surma [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, April 05, 2000 12:49 PM Subject: Re: Speed of CFMAIL CFmail creates a file? Where does it put them? -- Lee Surma Public Radio International [EMAIL PROTECTED] -- Archives: http://www.eGroups.com/list/cf-talk To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=stsbody=sts/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body. -- Archives: http://www.eGroups.com/list/cf-talk To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body.
Re: Speed of CFMAIL
When we want to send out tons of mail we use iMS (please - flame me off-list if this seems like gratuitous advertising). There are several advantages: snip You can have just the iMS POST Server (the server that sends mail) and use the cfx_imsmail tag to pump mail into the server. The tag supports plain text, multiple attachments, html text, RFC822 attachments, etc Howie, Could you provide links to the iMS package and the CFX_IMSMail tag? I couldn't find the tag on the Allaire gallery, and I'd like to investigate using this option for my batch email needs. Regards, Seth Petry-Johnson Argo Enterprise and Associates -- Archives: http://www.eGroups.com/list/cf-talk To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body.