diff --git a/apps/lookup_server_connector/appinfo/app.php b/apps/lookup_server_connector/appinfo/app.php
index a98a5de406f4f46f641137f058ac5c5ad0ea6e1c..f0d624d5f3aa42dbe8c960324adbfb0e5df274cd 100644
--- a/apps/lookup_server_connector/appinfo/app.php
+++ b/apps/lookup_server_connector/appinfo/app.php
@@ -33,7 +33,11 @@ $dispatcher->addListener('OC\AccountManager::userUpdated', function(\Symfony\Com
 	$lookupServer = $config->getSystemValue('lookup_server', '');
 
 	$updateLookupServer = new \OCA\LookupServerConnector\UpdateLookupServer(
-		new \OC\Accounts\AccountManager(\OC::$server->getDatabaseConnection(), \OC::$server->getEventDispatcher()),
+		new \OC\Accounts\AccountManager(
+			\OC::$server->getDatabaseConnection(),
+			\OC::$server->getEventDispatcher(),
+			\OC::$server->getJobList()
+		),
 		\OC::$server->getHTTPClientService(),
 		new \OC\Security\IdentityProof\Signer(
 			$keyManager,
diff --git a/lib/private/Accounts/AccountManager.php b/lib/private/Accounts/AccountManager.php
index 0c175795541ad4f702c616e8367828a1076d132b..cc65ae8caa18af7b2553218bc9a983ca6faa6a6c 100644
--- a/lib/private/Accounts/AccountManager.php
+++ b/lib/private/Accounts/AccountManager.php
@@ -23,6 +23,7 @@
 
 namespace OC\Accounts;
 
+use OCP\BackgroundJob\IJobList;
 use OCP\IDBConnection;
 use OCP\IUser;
 use Symfony\Component\EventDispatcher\EventDispatcherInterface;
@@ -66,15 +67,22 @@ class AccountManager {
 	/** @var EventDispatcherInterface */
 	private $eventDispatcher;
 
+	/** @var IJobList */
+	private $jobList;
+
 	/**
 	 * AccountManager constructor.
 	 *
 	 * @param IDBConnection $connection
 	 * @param EventDispatcherInterface $eventDispatcher
+	 * @param IJobList $jobList
 	 */
-	public function __construct(IDBConnection $connection, EventDispatcherInterface $eventDispatcher) {
+	public function __construct(IDBConnection $connection,
+								EventDispatcherInterface $eventDispatcher,
+								IJobList $jobList) {
 		$this->connection = $connection;
 		$this->eventDispatcher = $eventDispatcher;
+		$this->jobList = $jobList;
 	}
 
 	/**
@@ -89,6 +97,7 @@ class AccountManager {
 		if (empty($userData)) {
 			$this->insertNewUser($user, $data);
 		} elseif ($userData !== $data) {
+			$this->checkEmailVerification($userData, $data, $user);
 			$data = $this->updateVerifyStatus($userData, $data);
 			$this->updateExistingUser($user, $data);
 		} else {
@@ -128,6 +137,28 @@ class AccountManager {
 		return json_decode($result[0]['data'], true);
 	}
 
+	/**
+	 * check if we need to ask the server for email verification, if yes we create a cronjob
+	 *
+	 * @param $oldData
+	 * @param $newData
+	 * @param IUser $user
+	 */
+	protected function checkEmailVerification($oldData, $newData, IUser $user) {
+		if ($oldData[self::PROPERTY_EMAIL]['value'] !== $newData[self::PROPERTY_EMAIL]['value']) {
+			$this->jobList->add('OC\Settings\BackgroundJobs\VerifyUserData',
+				[
+					'verificationCode' => '',
+					'data' => $newData[self::PROPERTY_EMAIL]['value'],
+					'type' => self::PROPERTY_EMAIL,
+					'uid' => $user->getUID(),
+					'try' => 0,
+					'lastRun' => time()
+				]
+			);
+		}
+	}
+
 	/**
 	 * reset verification status if personal data changed
 	 *
@@ -152,7 +183,7 @@ class AccountManager {
 		}
 
 		if(!isset($newData[self::PROPERTY_EMAIL]['verified'])) {
-			$newData[self::PROPERTY_EMAIL]['verified'] = isset($oldData[self::PROPERTY_WEBSITE]['verified']) ? $oldData[self::PROPERTY_EMAIL]['verified'] : self::NOT_VERIFIED;
+			$newData[self::PROPERTY_EMAIL]['verified'] = isset($oldData[self::PROPERTY_WEBSITE]['verified']) ? $oldData[self::PROPERTY_EMAIL]['verified'] : self::VERIFICATION_IN_PROGRESS;
 		}
 
 		// reset verification status if a value from a previously verified data was changed
diff --git a/lib/private/Accounts/Hooks.php b/lib/private/Accounts/Hooks.php
index 38e7e20485b433f2002b942b5f384647311a9233..eca56913fbdf747ead437c7cd755065a17df7e42 100644
--- a/lib/private/Accounts/Hooks.php
+++ b/lib/private/Accounts/Hooks.php
@@ -89,7 +89,8 @@ class Hooks {
 		if (is_null($this->accountManager)) {
 			$this->accountManager = new AccountManager(
 				\OC::$server->getDatabaseConnection(),
-				\OC::$server->getEventDispatcher()
+				\OC::$server->getEventDispatcher(),
+				\OC::$server->getJobList()
 			);
 		}
 		return $this->accountManager;
diff --git a/settings/personal.php b/settings/personal.php
index 6cbcc330cd929fd0a58d4c70da4a59e4b70eeef8..6fbe95f9ea7038a76ce7eee9c514b81b43fab603 100644
--- a/settings/personal.php
+++ b/settings/personal.php
@@ -40,7 +40,11 @@ OC_Util::checkLoggedIn();
 
 $defaults = \OC::$server->getThemingDefaults();
 $certificateManager = \OC::$server->getCertificateManager();
-$accountManager = new \OC\Accounts\AccountManager(\OC::$server->getDatabaseConnection(), \OC::$server->getEventDispatcher());
+$accountManager = new \OC\Accounts\AccountManager(
+	\OC::$server->getDatabaseConnection(),
+	\OC::$server->getEventDispatcher(),
+	\OC::$server->getJobList()
+);
 $config = \OC::$server->getConfig();
 $urlGenerator = \OC::$server->getURLGenerator();