public function downloadGravatarImage($email)
    {
        try {
            $gravatarUrl = $this->generateGravatarUrl($email);

            $response = $this->httpClient->get($gravatarUrl);
            $avatarPath = $this->generateAvatarPath($response->getHeader('Content-Type'));

            $this->fileUploadService->storeImage($avatarPath, $response->getBody());

            return $avatarPath;
        } catch (\Exception $e) {
            // If Guzzle throws an error, then most likely because you're
            // developing CampaignChain offline. Hence, don't worry about the
            // error.
        }
    }