Revert "receiver: Optimise the do { ... } while read loop in main()"

This reverts commit 675d90a583f3dcb83f04462a607205f675c5b43e.

This commit changed the do { .. } while loop expression from
'bytes_read > 0' to 'bytes_read == BUF_SIZE'

However this causes a problem when reading from a pipe (which is where
the email is comming from via the MTA). The kernel may sometimes split
up the data it reads before sending it down the pipe. Thus we can
legitimately end up in a situation where we read < BUF_SIZE bytes, yet
there is still more data to come and we exit the while loop prematurely.

By reverting back to the previous behaviour we don't run into this
problem as we just keep reading until there really is no more data.

Signed-off-by: Andrew Clayton <andrew@digital-domain.net>