Having played around with creating my own Email Client and SMTP Relay Server (and get this, in VBScript, and yes, it actually works!! - to a degree), I have seen this before with attachments.
Typically it would be an error in the Email client code though, so I would imagine the problem has to do with the DVR itself.
Ofcourse it could be something else, such as the SMTP server or even the incoming email server, but basically its like this:
The Email Client takes the attachments (in this case the DVR takes the image), converts to base64, which gives you a bunch of text in the Body of the email such as this: (see the header, then the image following that)
--------------------------------
------=_NextPart_001_03D9_01C861C7.74E351E0
Content-ID: <image001.jpg@01C826D8.B7C1C520>
Content-Type: image/jpeg;
name="image001.jpg"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="image001.jpg"
/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAPAAA/+4ADkFkb2JlAGTAAAAAAf/b
AIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoKDBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxsc
Hx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f
Hx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgARwGqAwERAAIRAQMRAf/EAKcAAAMAAwEBAQAAAAAAAAAA
AAADBAECBQYHCAEBAQEBAQEBAAAAAAAAAAAAAQACAwQFBhAAAQIEAgUHCQUEBwcFAAAAAQIDABEE
BRIGITFR0VJBkSKS0hMHYXGBsVOTFBUWoTJCI1TBYnII4YKy4jNzRPDCQ4N0lBej0yQ1RREBAAIB
etc etc ... the amount of this depends on the size of the attachment.
---------------------------------
Now, if you are receiving an email, that means it is being sent. If there is an error while encoding the image then you should not even receive the email. It should not send an empty attachment, though that is possible if they dont do proper error checking.
It would appear that either the Email Client (DVR) is not encoding the attachment properly or there is an error during encoding it. Yet it is still sending the message, even with the attachment header but nothing there. If it gets interupted there still should be something, even if its not a complete image; not just 0 bytes. Using the above as an example, that is just part of an image, so it would still say something like 388 bytes, even if you cant view the image it sends (corrupt image-invalid).
It is possible that it cannot read the image properly to encode it, such as the hard disk is bad, or there is no disk space left to save a temp file (if it works that way in their case), or its trying to send too many images at the same time.
Anyway, something to consider.
