By default, Blender does not save images as part of the .blend file (this applies to background images or textures used as part of the scene).
To make those images part of the file they have to be packed.
You can pack all external files into the .blend file by going to File -> External Data -> Pack all into .blend.
After doing this you have to re-save the file.
According to the Blender Manual:
Blender has the ability to encapsulate (incorporate) various kinds of data within the blend-file that is normally saved outside of the blend-file. For example, an image texture that is an external image file can be put “inside” the blend-file via File ‣ External Data ‣ Pack into blend-file. When the blend-file is saved, a copy of that image file is put inside the blend-file. The blend-file can then be copied or emailed anywhere, and the image texture moves with it.
