I would like to give another proof I have found recently after being told to make use of Fubini's theorem.
Since $\mu(E\setminus E+x)=0$ for all $x\in\mathbb{R}$, we have $\begin{align} 0=\int\limits_{\mathbb{R}}\mu(E\setminus (E+x))\,\text{d}\mu(x)=&\int\limits_{\mathbb{R}}\int\limits_{\mathbb{R}}\chi_{E\setminus (E+x)}(s)\, \text{d}\mu(s)\,\text{d}\mu(x)\\=&\int\limits_{\mathbb{R}}\int\limits_{\mathbb{R}}\chi_E(s)\left(1-\chi_{E+x}(s)\right)\,\text{d}\mu(s)\,\text{d}\mu(x)\\=&\int\limits_{\mathbb{R}}\int\limits_{\mathbb{R}} \chi_E(s)\left(1-\chi_{E+x}(s)\right)\,\text{d}\mu(x)\,\text{d}\mu(s)\\=&\int\limits_{\mathbb{R}}\chi_E(s)\left(\int\limits_{\mathbb{R}}\left(1-\chi_{E-s}(x)\right)\,\text{d}\mu(x)\right)\,\text{d}\mu(s)\\=&\int\limits_{\mathbb{R}}\chi_E(s)\left(\int\limits_{\mathbb{R}}\chi_{(E-s)^c}(x)\,\text{d}\mu(x)\right)\,\text{d}\mu(s)=\int\limits_{\mathbb{R}}\chi_E(s)\mu\left((E-s)^c\right)\,\text{d}\mu(s)\\=&\int\limits_{\mathbb{R}}\chi_E(s)\mu\left(E^c\right)\,\text{d}\mu(s)=\mu\left(E^c\right)\int\limits_{\mathbb{R}}\chi_E(s)\,\text{d}\mu(s)=\mu(E^c)\mu(E). \end{align}$ Therefore either $\mu(E)$ or $\mu(\mathbb{R}\setminus E)$ is $0$.
Notice that we used Fubini's theorem only once while changing the order of integration in equality no. 4. The eighth equality follows from the translation invariance of Lebesgue mesure.