Re: Problem with sending big mails

Giganews Newsgroups
Subject: Re: Problem with sending big mails
Posted by:  Remy Lebeau (Indy Team) (
Date: Wed, 10 Jan 2007

"adrian" <…> wrote in message

> prior to really transmitting data to the smtp server, the cpu
> works at 100% for at least one minute (mail size approx.
> 18mb, cpu @ 1.6ghz). this often causes smtp-timeouts!

My guess would be that you are sending with write buffering enabled
without a thrshold specified.  The CPU usage is likely the outbound
data being cached in memory before being sent to the socket
afterwards.  If write buffering is disabled, then the data is written
to the socket in real time instead.

> the cpu-time increases dramatically with the mail size, for small
> mails it's not a problem. if nodecode and noencode is set to false,
> the mail is being sent almost immediately to the server.

NoEncode/NoDecode do not automatically enable write buffering.  The
data is written to the connection in the same manner regardless of you
set those properties to True or False.  It is the connection that
decide when and how the data is written to the socket.

> the problem with nodecode and noencode set to false:
> if a multipart-header contains the header line "Content-Description:
> then this header line is moved by indy out of the header and
> into the messagepart body (text or attachment).

Indy has no concept of that particular header when sending a message.
It does not move it around like you claim.

> an attachment is then not usable anymore, the file then contains
> "Content-Description=...." and CRLF at its beginning (strange: ": "
> being replaces by "=").

Then something else is happening.  You are likely loading the data
into TIdMessage wrong to begin with.

> i'm using the 10.0.52 version

That is a very old version of Indy.  The current snapshot is 10.1.6.
I suggest you upgrade and see if the problem continues.



In response to

Problem with sending big mails posted by adrian on Wed, 10 Jan 2007