With compression in the application layer, an attachment will
be compressed by the original sender, and not uncompressed
again until by the final recipient.
In addition however the receiving UA will need to have compatible
capabilities with the sending UA. If this is not the case, the message may
get there, but will be rendered unusable. I suspect that this is the
problem with breaking software that Keith has been suggesting.
The advantage of this approach is that you (may) save in local and transient
With compression in the transport layer, the attachment
will be compressed and uncompressed for each store-and-forward
In this situation the compression is transparent to both end UA's, and it's
application is dependent upon the negioated capabilities of each transport
link. Advantages include not having to modify any UA's or have knowledge of
recipient UA capabilities. Disadvantage is that there is no gain on the
local storage side.
Seems like both approaches may have their merits, depending upon what
problem you are trying to solve at a given time.