diff --git a/apps/files/lib/Controller/ViewController.php b/apps/files/lib/Controller/ViewController.php
index d37089152739c29003ea11324fbb100e3862bd40..6f74fec861f4f86a1362e418160c866327f758a2 100644
--- a/apps/files/lib/Controller/ViewController.php
+++ b/apps/files/lib/Controller/ViewController.php
@@ -235,8 +235,6 @@ class ViewController extends Controller {
 		$params['owner'] = $storageInfo['owner'];
 		$params['ownerDisplayName'] = $storageInfo['ownerDisplayName'];
 		$params['isPublic'] = false;
-		$params['mailNotificationEnabled'] = $this->config->getAppValue('core', 'shareapi_allow_mail_notification', 'no');
-		$params['mailPublicNotificationEnabled'] = $this->config->getAppValue('core', 'shareapi_allow_public_notification', 'no');
 		$params['allowShareWithLink'] = $this->config->getAppValue('core', 'shareapi_allow_links', 'yes');
 		$user = $this->userSession->getUser()->getUID();
 		$params['defaultFileSorting'] = $this->config->getUserValue($user, 'files', 'file_sorting', 'name');
diff --git a/apps/files/templates/index.php b/apps/files/templates/index.php
index 17958d330b776f0a4fd418e28a3d9fd9852bf2fb..1670ccfd138e24ccf3d55a19ccfe8a3f1280098a 100644
--- a/apps/files/templates/index.php
+++ b/apps/files/templates/index.php
@@ -16,8 +16,6 @@
 <input type="hidden" name="ownerDisplayName" id="ownerDisplayName" value="<?php p($_['ownerDisplayName']); ?>" />
 <input type="hidden" name="fileNotFound" id="fileNotFound" value="<?php p($_['fileNotFound']); ?>" />
 <?php if (!$_['isPublic']) :?>
-<input type="hidden" name="mailNotificationEnabled" id="mailNotificationEnabled" value="<?php p($_['mailNotificationEnabled']) ?>" />
-<input type="hidden" name="mailPublicNotificationEnabled" id="mailPublicNotificationEnabled" value="<?php p($_['mailPublicNotificationEnabled']) ?>" />
 <input type="hidden" name="allowShareWithLink" id="allowShareWithLink" value="<?php p($_['allowShareWithLink']) ?>" />
 <input type="hidden" name="defaultFileSorting" id="defaultFileSorting" value="<?php p($_['defaultFileSorting']) ?>" />
 <input type="hidden" name="defaultFileSortingDirection" id="defaultFileSortingDirection" value="<?php p($_['defaultFileSortingDirection']) ?>" />
diff --git a/apps/files/tests/Controller/ViewControllerTest.php b/apps/files/tests/Controller/ViewControllerTest.php
index 179aaa373b32d1a5fd622fc89e8061d67af2d384..25445567ea9a14af8efdbb3fdb942a11dfdd703c 100644
--- a/apps/files/tests/Controller/ViewControllerTest.php
+++ b/apps/files/tests/Controller/ViewControllerTest.php
@@ -218,8 +218,6 @@ class ViewControllerTest extends TestCase {
 				'defaultFileSortingDirection' => 'asc',
 				'showHiddenFiles' => 0,
 				'fileNotFound' => 0,
-				'mailNotificationEnabled' => 'no',
-				'mailPublicNotificationEnabled' => 'no',
 				'allowShareWithLink' => 'yes',
 				'appNavigation' => $nav,
 				'appContents' => [
diff --git a/apps/files_sharing/appinfo/info.xml b/apps/files_sharing/appinfo/info.xml
index 133119feabdb298fe36e297cb1dc0c409bb8a363..cc97f65a5e6ddb46607931fad1fd06506098983b 100644
--- a/apps/files_sharing/appinfo/info.xml
+++ b/apps/files_sharing/appinfo/info.xml
@@ -10,7 +10,7 @@ Turning the feature off removes shared files and folders on the server for all s
 	<licence>AGPL</licence>
 	<author>Michael Gapczynski, Bjoern Schiessle</author>
 	<default_enable/>
-	<version>1.1.0</version>
+	<version>1.1.1</version>
 	<types>
 		<filesystem/>
 	</types>
diff --git a/apps/files_sharing/appinfo/update.php b/apps/files_sharing/appinfo/update.php
index d53d878881e6618bc78775b22b037de2143ebd5f..ed0d7732b377545c0bb598bc70b5f88c36b9570f 100644
--- a/apps/files_sharing/appinfo/update.php
+++ b/apps/files_sharing/appinfo/update.php
@@ -26,7 +26,11 @@ $installedVersion = \OC::$server->getConfig()->getAppValue('files_sharing', 'ins
 
 // Migration OC8.2 -> OC9
 if (version_compare($installedVersion, '0.9.1', '<')) {
-	$m = new Migration(\OC::$server->getDatabaseConnection());
+	$m = new Migration(\OC::$server->getDatabaseConnection(), \OC::$server->getConfig());
 	$m->removeReShares();
 	$m->updateInitiatorInfo();
 }
+
+if (version_compare($installedVersion, '1.1.1', '<')) {
+	$m = new Migration(\OC::$server->getDatabaseConnection(), \OC::$server->getConfig());
+}
diff --git a/apps/files_sharing/lib/Capabilities.php b/apps/files_sharing/lib/Capabilities.php
index 9da6dbbc99574af0304b6086bfd1a84efc1dc37c..bfbd15c11227eba1247282ebbf73653cee687f0b 100644
--- a/apps/files_sharing/lib/Capabilities.php
+++ b/apps/files_sharing/lib/Capabilities.php
@@ -73,10 +73,10 @@ class Capabilities implements ICapability {
 			}
 			$res["public"] = $public;
 
-			$res['user']['send_mail'] = $this->config->getAppValue('core', 'shareapi_allow_mail_notification', 'no') === 'yes';
-
 			$res['resharing'] = $this->config->getAppValue('core', 'shareapi_allow_resharing', 'yes') === 'yes';
 
+			$res['user']['send_mail'] = false;
+
 			$res['group_sharing'] = $this->config->getAppValue('core', 'shareapi_allow_group_sharing', 'yes') === 'yes';
 		}
 
diff --git a/apps/files_sharing/lib/Migration.php b/apps/files_sharing/lib/Migration.php
index 9c971bf7f49166dd1ec18864737d918c0e114a28..605a11fd22c19ac62b1270889004a63047f089d5 100644
--- a/apps/files_sharing/lib/Migration.php
+++ b/apps/files_sharing/lib/Migration.php
@@ -27,6 +27,7 @@ namespace OCA\Files_Sharing;
 
 use Doctrine\DBAL\Connection;
 use OCP\ICache;
+use OCP\IConfig;
 use OCP\IDBConnection;
 use OC\Cache\CappedMemoryCache;
 
@@ -41,14 +42,18 @@ class Migration {
 	/** @var IDBConnection */
 	private $connection;
 
+	/** @var  IConfig */
+	private $config;
+
 	/** @var  ICache with all shares we already saw */
 	private $shareCache;
 
 	/** @var string */
 	private $table = 'share';
 
-	public function __construct(IDBConnection $connection) {
+	public function __construct(IDBConnection $connection, IConfig $config) {
 		$this->connection = $connection;
+		$this->config = $config;
 
 		// We cache up to 10k share items (~20MB)
 		$this->shareCache = new CappedMemoryCache(10000);
@@ -110,6 +115,14 @@ class Migration {
 		}
 	}
 
+	/**
+	 * this was dropped for Nextcloud 11 in favour of share by mail
+	 */
+	public function removeSendMailOption() {
+		$this->config->deleteAppValue('core', 'shareapi_allow_mail_notification');
+		$this->config->deleteAppValue('core', 'shareapi_allow_public_notification');
+	}
+
 	/**
 	 * find the owner of a re-shared file/folder
 	 *
diff --git a/apps/files_sharing/tests/CapabilitiesTest.php b/apps/files_sharing/tests/CapabilitiesTest.php
index 254f7cdaa7cae7e098a7a2fac3af3728a1613735..3d59b1f6f3460c1ac51ca8503f07acb9fd866bcd 100644
--- a/apps/files_sharing/tests/CapabilitiesTest.php
+++ b/apps/files_sharing/tests/CapabilitiesTest.php
@@ -188,24 +188,6 @@ class CapabilitiesTest extends \Test\TestCase {
 		$this->assertFalse($result['public']['send_mail']);
 	}
 
-	public function testUserSendMail() {
-		$map = [
-			['core', 'shareapi_enabled', 'yes', 'yes'],
-			['core', 'shareapi_allow_mail_notification', 'no', 'yes'],
-		];
-		$result = $this->getResults($map);
-		$this->assertTrue($result['user']['send_mail']);
-	}
-
-	public function testUserNoSendMail() {
-		$map = [
-			['core', 'shareapi_enabled', 'yes', 'yes'],
-			['core', 'shareapi_allow_mail_notification', 'no', 'no'],
-		];
-		$result = $this->getResults($map);
-		$this->assertFalse($result['user']['send_mail']);
-	}
-
 	public function testResharing() {
 		$map = [
 			['core', 'shareapi_enabled', 'yes', 'yes'],
diff --git a/apps/files_sharing/tests/MigrationTest.php b/apps/files_sharing/tests/MigrationTest.php
index 7d6ca7840ed1006a4710963b9d892bb218d756bb..572f64da7436955694fcbfbb89e968f3627700f4 100644
--- a/apps/files_sharing/tests/MigrationTest.php
+++ b/apps/files_sharing/tests/MigrationTest.php
@@ -39,6 +39,9 @@ class MigrationTest extends TestCase {
 	/** @var \OCP\IDBConnection */
 	private $connection;
 
+	/** @var \OCP\IConfig  */
+	private $config;
+
 	/** @var Migration */
 	private $migration;
 
@@ -48,7 +51,8 @@ class MigrationTest extends TestCase {
 		parent::setUp();
 
 		$this->connection = \OC::$server->getDatabaseConnection();
-		$this->migration = new Migration($this->connection);
+		$this->config = \OC::$server->getConfig();
+		$this->migration = new Migration($this->connection, $this->config);
 
 		$this->cleanDB();
 	}
@@ -351,4 +355,26 @@ class MigrationTest extends TestCase {
 		$stmt->closeCursor();
 		$this->assertEquals(1001, $i);
 	}
+
+	/**
+	 * test that we really remove the "shareapi_allow_mail_notification" setting only
+	 */
+	public function testRemoveSendMailOption() {
+		$this->config->setAppValue('core', 'shareapi_setting1', 'dummy-value');
+		$this->config->setAppValue('core', 'shareapi_allow_mail_notification', 'no');
+		$this->config->setAppValue('core', 'shareapi_allow_public_notification', 'no');
+
+		$this->migration->removeSendMailOption();
+
+		$this->assertNull(
+			$this->config->getAppValue('core', 'shareapi_allow_mail_notification', null)
+		);
+		$this->assertNull(
+			$this->config->getAppValue('core', 'shareapi_allow_public_notification', null)
+		);
+
+		$this->assertSame('dummy-value',
+			$this->config->getAppValue('core', 'shareapi_setting1', null)
+		);
+	}
 }
diff --git a/core/js/core.json b/core/js/core.json
index 7e72234aaa455582108982fe09c1ee89f9f967c8..d589208c828465a90b09d67cf8020d0d03436568 100644
--- a/core/js/core.json
+++ b/core/js/core.json
@@ -33,7 +33,6 @@
 		"sharedialogview.js",
 		"sharedialogexpirationview.js",
 		"sharedialoglinkshareview.js",
-		"sharedialogmailview.js",
 		"sharedialogresharerinfoview.js",
 		"sharedialogshareelistview.js",
 		"octemplate.js",
diff --git a/core/js/shareconfigmodel.js b/core/js/shareconfigmodel.js
index 24922d6263682e40bce06ccd73c2bdd03570633e..7c92853f682f45c9ec7d0a933cab5d0d638b78f1 100644
--- a/core/js/shareconfigmodel.js
+++ b/core/js/shareconfigmodel.js
@@ -46,20 +46,6 @@
 			return publicUploadEnabled === 'yes';
 		},
 
-		/**
-		 * @returns {boolean}
-		 */
-		isMailPublicNotificationEnabled: function() {
-			return $('input:hidden[name=mailPublicNotificationEnabled]').val() === 'yes';
-		},
-
-		/**
-		 * @returns {boolean}
-		 */
-		isMailNotificationEnabled: function() {
-			return $('input:hidden[name=mailNotificationEnabled]').val() === 'yes';
-		},
-
 		/**
 		 * @returns {boolean}
 		 */
diff --git a/core/js/sharedialoglinkshareview.js b/core/js/sharedialoglinkshareview.js
index 1d6a0f03d4da91753c54189c3e3e79fafc739987..bbc8f1b4547a75456ee094abd1e8885c597b6fd3 100644
--- a/core/js/sharedialoglinkshareview.js
+++ b/core/js/sharedialoglinkshareview.js
@@ -332,7 +332,6 @@
 				hideFileListChecked: hideFileListChecked,
 				publicUploadLabel: t('core', 'Allow upload and editing'),
 				hideFileListLabel: t('core', 'Hide file listing'),
-				mailPublicNotificationEnabled: isLinkShare && this.configModel.isMailPublicNotificationEnabled(),
 				mailPrivatePlaceholder: t('core', 'Email link to person'),
 				mailButtonText: t('core', 'Send')
 			}));
diff --git a/core/js/sharedialogmailview.js b/core/js/sharedialogmailview.js
deleted file mode 100644
index ce0893cb25c5c9a749c6a406d51753f3bbb6350c..0000000000000000000000000000000000000000
--- a/core/js/sharedialogmailview.js
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
- * Copyright (c) 2016
- *
- * This file is licensed under the Affero General Public License version 3
- * or later.
- *
- * See the COPYING-README file.
- *
- */
-
-/* globals escapeHTML, Handlebars */
-
-(function() {
-	if (!OC.Share) {
-		OC.Share = {};
-	}
-	
-	var TEMPLATE = 
-			'{{#if shareAllowed}}' +
-			'    {{#if mailPublicNotificationEnabled}}' +
-			'<form id="emailPrivateLink" class="emailPrivateLinkForm oneline">' +
-			'    <input id="email" class="emailField" value="{{email}}" placeholder="{{mailPrivatePlaceholder}}" type="text" />' +
-			'    <a id="emailButton" class="icon icon-mail hasTooltip" title="Send e-mail"></a>' +
-			'</form>' +
-			'    {{/if}}' +
-			'{{/if}}'
-		;
-	
-	/**
-	 * @class OCA.Share.ShareDialogMailView
-	 * @member {OC.Share.ShareItemModel} model
-	 * @member {jQuery} $el
-	 * @memberof OCA.Sharing
-	 * @classdesc
-	 *
-	 * Represents the GUI of the share dialogue
-	 *
-	 */
-	var ShareDialogMailView = OC.Backbone.View.extend({
-		/** @type {string} **/
-		id: 'shareDialogMailView',
-
-		/** @type {OC.Share.ShareConfigModel} **/
-		configModel: undefined,
-
-		/** @type {Function} **/
-		_template: undefined,
-
-		/** @type {boolean} **/
-		showLink: true,
-
-		events: {
-			'click #emailButton': '_onEmailPrivateLink'
-		},
-
-		initialize: function(options) {
-			var view = this;
-
-			this.model.on('change:linkShare', function() {
-				view.render();
-			});
-
-			if(!_.isUndefined(options.configModel)) {
-				this.configModel = options.configModel;
-			} else {
-				throw 'missing OC.Share.ShareConfigModel';
-			}
-
-			_.bindAll(
-				this,
-				'_onEmailPrivateLink'
-			);
-		},
-
-		_onEmailPrivateLink: function(event) {
-			event.preventDefault();
-
-			var $emailField = this.$el.find('.emailField');
-			var $emailButton = this.$el.find('.emailButton');
-			var email = $emailField.val();
-			if (email !== '') {
-				$emailField.prop('disabled', true);
-				$emailButton.prop('disabled', true);
-				$emailField.val(t('core', 'Sending ...'));
-				this.model.sendEmailPrivateLink(email).done(function() {
-					$emailField.css('font-weight', 'bold').val(t('core','Email sent'));
-					setTimeout(function() {
-						$emailField.val('');
-						$emailField.css('font-weight', 'normal');
-						$emailField.prop('disabled', false);
-						$emailButton.prop('disabled', false);
-					}, 2000);
-				}).fail(function() {
-					$emailField.val(email);
-					$emailField.css('font-weight', 'normal');
-					$emailField.prop('disabled', false);
-					$emailButton.prop('disabled', false);
-				});
-			}
-			return false;
-		},
-
-		render: function() {
-			var linkShareTemplate = this.template();
-			var resharingAllowed = this.model.sharePermissionPossible();
-			var email = this.$el.find('.emailField').val();
-
-			if(!resharingAllowed
-				|| !this.showLink
-				|| !this.configModel.isShareWithLinkAllowed())
-			{
-				var templateData = {shareAllowed: false};
-				if (!resharingAllowed) {
-					// add message
-					templateData.noSharingPlaceholder = t('core', 'Resharing is not allowed');
-				}
-				this.$el.html(linkShareTemplate(templateData));
-				return this;
-			}
-			
-			var isLinkShare = this.model.get('linkShare').isLinkShare;
-
-			this.$el.html(linkShareTemplate({
-				cid: this.cid,
-				shareAllowed: true,
-				mailPublicNotificationEnabled: isLinkShare && this.configModel.isMailPublicNotificationEnabled(),
-				mailPrivatePlaceholder: t('core', 'Email link to person'),
-				mailButtonText: t('core', 'Send link via email'),
-				email: email
-			}));
-
-			var $emailField = this.$el.find('.emailField');
-			if (isLinkShare && $emailField.length !== 0) {
-				$emailField.autocomplete({
-					minLength: 1,
-					source: function (search, response) {
-						$.get(
-							OC.generateUrl('core/ajax/share.php'), {
-								fetch: 'getShareWithEmail',
-								search: search.term
-							}, function(result) {
-								if (result.status === 'success' && result.data.length > 0) {
-									response(result.data);
-								}
-							});
-						},
-					select: function( event, item ) {
-						$emailField.val(item.item.email);
-						return false;
-					}
-				})
-				.data("ui-autocomplete")._renderItem = function( ul, item ) {
-					return $('<li>')
-						.append('<a>' + escapeHTML(item.displayname) + "<br>" + escapeHTML(item.email) + '</a>' )
-						.appendTo( ul );
-				};
-			}
-			this.delegateEvents();
-
-			return this;
-		},
-
-		/**
-		 * @returns {Function} from Handlebars
-		 * @private
-		 */
-		template: function () {
-			if (!this._template) {
-				this._template = Handlebars.compile(TEMPLATE);
-			}
-			return this._template;
-		}
-
-	});
-
-	OC.Share.ShareDialogMailView = ShareDialogMailView;
-
-})();
diff --git a/core/js/sharedialogshareelistview.js b/core/js/sharedialogshareelistview.js
index 775eaa554b04f14dce51b883a98debfff97f6245..f532d27c4b693bfdef90876b97c3f4b9a9aec87e 100644
--- a/core/js/sharedialogshareelistview.js
+++ b/core/js/sharedialogshareelistview.js
@@ -173,7 +173,6 @@
 				hasCreatePermission: this.model.hasCreatePermission(shareIndex),
 				hasUpdatePermission: this.model.hasUpdatePermission(shareIndex),
 				hasDeletePermission: this.model.hasDeletePermission(shareIndex),
-				wasMailSent: this.model.notificationMailWasSent(shareIndex),
 				shareWith: shareWith,
 				shareWithDisplayName: shareWithDisplayName,
 				shareWithTitle: shareWithTitle,
@@ -189,7 +188,6 @@
 		getShareeList: function() {
 			var universal = {
 				avatarEnabled: this.configModel.areAvatarsEnabled(),
-				notifyByMailLabel: t('core', 'notify by email'),
 				unshareLabel: t('core', 'Unshare'),
 				canShareLabel: t('core', 'can reshare'),
 				canEditLabel: t('core', 'can edit'),
diff --git a/core/js/sharedialogview.js b/core/js/sharedialogview.js
index 3b2a7480c4736b18acf7ab561031caacbefda755..b277a1226c7eb98322cf3f221529ac1f01989459 100644
--- a/core/js/sharedialogview.js
+++ b/core/js/sharedialogview.js
@@ -28,7 +28,6 @@
 		'<div class="shareeListView subView"></div>' +
 		'<div class="linkShareView subView"></div>' +
 		'<div class="expirationView subView"></div>' +
-		'<div class="mailView subView"></div>' +
 		'<div class="loading hidden" style="height: 50px"></div>';
 
 	var TEMPLATE_REMOTE_SHARE_INFO =
@@ -70,9 +69,6 @@
 		/** @type {object} **/
 		shareeListView: undefined,
 
-		/** @type {object} **/
-		mailView: undefined,
-
 		events: {
 			'input .shareWithField': 'onShareWithFieldChanged'
 		},
@@ -109,8 +105,7 @@
 				resharerInfoView: 'ShareDialogResharerInfoView',
 				linkShareView: 'ShareDialogLinkShareView',
 				expirationView: 'ShareDialogExpirationView',
-				shareeListView: 'ShareDialogShareeListView',
-				mailView: 'ShareDialogMailView'
+				shareeListView: 'ShareDialogShareeListView'
 			};
 
 			for(var name in subViews) {
@@ -383,9 +378,6 @@
 			this.shareeListView.$el = this.$el.find('.shareeListView');
 			this.shareeListView.render();
 
-			this.mailView.$el = this.$el.find('.mailView');
-			this.mailView.render();
-
 			this.$el.find('.hasTooltip').tooltip();
 
 			return this;
diff --git a/core/js/shareitemmodel.js b/core/js/shareitemmodel.js
index ecc75ab147c9f0e3e735537e910976e85c8ece49..a784f59f67f8bc7e25934cf6c6c12bd67f3ad556 100644
--- a/core/js/shareitemmodel.js
+++ b/core/js/shareitemmodel.js
@@ -417,49 +417,6 @@
 			return (share.permissions & permission) === permission;
 		},
 
-		notificationMailWasSent: function(shareIndex) {
-			/** @type OC.Share.Types.ShareInfo **/
-			var share = this.get('shares')[shareIndex];
-			if(!_.isObject(share)) {
-				throw "Unknown Share";
-			}
-			return share.mail_send === 1;
-		},
-
-		/**
-		 * Send the link share information by email
-		 *
-		 * @param {string} recipientEmail recipient email address
-		 */
-		sendEmailPrivateLink: function(recipientEmail) {
-			var deferred = $.Deferred();
-			var itemType = this.get('itemType');
-			var itemSource = this.get('itemSource');
-			var linkShare = this.get('linkShare');
-
-			$.post(
-				OC.generateUrl('core/ajax/share.php'), {
-					action: 'email',
-					toaddress: recipientEmail,
-					link: linkShare.link,
-					itemType: itemType,
-					itemSource: itemSource,
-					file: this.fileInfoModel.get('name'),
-					expiration: linkShare.expiration || ''
-				},
-				function(result) {
-					if (!result || result.status !== 'success') {
-						// FIXME: a model should not show dialogs
-						OC.dialogs.alert(result.data.message, t('core', 'Error while sending notification'));
-						deferred.reject();
-					} else {
-						deferred.resolve();
-					}
-			});
-
-			return deferred.promise();
-		},
-
 		/**
 		 * @returns {boolean}
 		 */
diff --git a/core/js/tests/specs/sharedialogshareelistview.js b/core/js/tests/specs/sharedialogshareelistview.js
index 699e2e58d7b0c1534514b488cad152e12f11c1dd..bcc596a1386ee6bbfc54679ca91e126515954bc5 100644
--- a/core/js/tests/specs/sharedialogshareelistview.js
+++ b/core/js/tests/specs/sharedialogshareelistview.js
@@ -34,8 +34,6 @@ describe('OC.Share.ShareDialogShareeListView', function () {
 		oldAppConfig = _.extend({}, oc_appconfig.core);
 		oc_appconfig.core.enforcePasswordForPublicLink = false;
 
-		$('#testArea').append('<input id="mailNotificationEnabled" name="mailNotificationEnabled" type="hidden" value="yes">');
-
 		fileInfoModel = new OCA.Files.FileInfoModel({
 			id: 123,
 			name: 'shared_file_name.txt',
diff --git a/core/js/tests/specs/sharedialogviewSpec.js b/core/js/tests/specs/sharedialogviewSpec.js
index f0e027d9fb913dbfecf5b903e5dfa68c8744f833..6e86cb8eff7a0de7e6a4ffd8d518da0bab9bd4e3 100644
--- a/core/js/tests/specs/sharedialogviewSpec.js
+++ b/core/js/tests/specs/sharedialogviewSpec.js
@@ -41,7 +41,6 @@ describe('OC.Share.ShareDialogView', function() {
 	beforeEach(function() {
 		// horrible parameters
 		$('#testArea').append('<input id="allowShareWithLink" type="hidden" value="yes">');
-		$('#testArea').append('<input id="mailPublicNotificationEnabled" name="mailPublicNotificationEnabled" type="hidden" value="yes">');
 		$container = $('#shareContainer');
 		/* jshint camelcase:false */
 		oldAppConfig = _.extend({}, oc_appconfig.core);
@@ -247,7 +246,7 @@ describe('OC.Share.ShareDialogView', function() {
 				expect(slideToggleStub.callCount).toEqual(1);
 				expect(slideToggleStub.getCall(0).thisValue.eq(0).attr('id')).toEqual('linkPass');
 				expect(fakeServer.requests.length).toEqual(0);
-				
+
 				// Now untoggle share by link
 				dialog.$el.find('.linkCheckbox').click();
 				dialog.render();
@@ -402,76 +401,7 @@ describe('OC.Share.ShareDialogView', function() {
 				expect($.datepicker._defaults.maxDate).toEqual(new Date(2014, 0, 27, 0, 0, 0, 0));
 			});
 		});
-		describe('send link by email', function() {
-			var sendEmailPrivateLinkStub;
-			var clock;
-
-			beforeEach(function() {
-				configModel.set({
-					isMailPublicNotificationEnabled: true
-				});
-
-				shareModel.set('linkShare', {
-					isLinkShare: true,
-					token: 'tehtoken',
-					permissions: OC.PERMISSION_READ,
-					expiration: null
-				});
-
-				sendEmailPrivateLinkStub = sinon.stub(dialog.model, "sendEmailPrivateLink");
-				clock = sinon.useFakeTimers();
-			});
-			afterEach(function() {
-				sendEmailPrivateLinkStub.restore();
-				clock.restore();
-			});
 
-			it('displays form when sending emails is enabled', function() {
-				$('input[name=mailPublicNotificationEnabled]').val('yes');
-				dialog.render();
-				expect(dialog.$('.emailPrivateLinkForm').length).toEqual(1);
-			});
-			it('form not rendered when sending emails is disabled', function() {
-				$('input[name=mailPublicNotificationEnabled]').val('no');
-				dialog.render();
-				expect(dialog.$('.emailPrivateLinkForm').length).toEqual(0);
-			});
-			it('input cleared on success', function() {
-				var defer = $.Deferred();
-				sendEmailPrivateLinkStub.returns(defer.promise());
-
-				$('input[name=mailPublicNotificationEnabled]').val('yes');
-				dialog.render();
-
-				dialog.$el.find('.emailPrivateLinkForm .emailField').val('a@b.c');
-				dialog.$el.find('#emailButton').trigger('click');
-
-				expect(sendEmailPrivateLinkStub.callCount).toEqual(1);
-				expect(dialog.$el.find('.emailPrivateLinkForm .emailField').val()).toEqual('Sending ...');
-
-				defer.resolve();
-				expect(dialog.$el.find('.emailPrivateLinkForm .emailField').val()).toEqual('Email sent');
-
-				clock.tick(2000);
-				expect(dialog.$el.find('.emailPrivateLinkForm .emailField').val()).toEqual('');
-			});
-			it('input not cleared on failure', function() {
-				var defer = $.Deferred();
-				sendEmailPrivateLinkStub.returns(defer.promise());
-
-				$('input[name=mailPublicNotificationEnabled]').val('yes');
-				dialog.render();
-
-				dialog.$el.find('.emailPrivateLinkForm .emailField').val('a@b.c');
-				dialog.$el.find('#emailButton').trigger('click');
-
-				expect(sendEmailPrivateLinkStub.callCount).toEqual(1);
-				expect(dialog.$el.find('.emailPrivateLinkForm .emailField').val()).toEqual('Sending ...');
-
-				defer.reject();
-				expect(dialog.$el.find('.emailPrivateLinkForm .emailField').val()).toEqual('a@b.c');
-			});
-		});
 	});
 	describe('check for avatar', function() {
 		beforeEach(function() {
diff --git a/core/js/tests/specs/shareitemmodelSpec.js b/core/js/tests/specs/shareitemmodelSpec.js
index 9d9001dc9e8f630a10929b5628aba01fb047d8b5..1cddcb2acaadefae2e420df61511662b77505841 100644
--- a/core/js/tests/specs/shareitemmodelSpec.js
+++ b/core/js/tests/specs/shareitemmodelSpec.js
@@ -464,107 +464,7 @@ describe('OC.Share.ShareItemModel', function() {
 		});
 	});
 
-	describe('sendEmailPrivateLink', function() {
-		it('succeeds', function() {
-			/* jshint camelcase: false */
-			fetchReshareDeferred.resolve(makeOcsResponse([]));
-			fetchSharesDeferred.resolve(makeOcsResponse([{
-				displayname_owner: 'root',
-				expiration: null,
-				file_source: 123,
-				file_target: '/folder',
-				id: 20,
-				item_source: '123',
-				item_type: 'folder',
-				mail_send: '0',
-				parent: null,
-				path: '/folder',
-				permissions: OC.PERMISSION_READ,
-				share_type: OC.Share.SHARE_TYPE_LINK,
-				share_with: null,
-				stime: 1403884258,
-				storage: 1,
-				token: 'tehtoken',
-				uid_owner: 'root'
-			}]));
-			OC.currentUser = 'root';
-			model.fetch();
-
-			var res = model.sendEmailPrivateLink('foo@bar.com');
-
-			expect(res.state()).toEqual('pending');
-			expect(fakeServer.requests.length).toEqual(1);
-			expect(fakeServer.requests[0].url).toEqual(OC.generateUrl('core/ajax/share.php'));
-			expect(OC.parseQueryString(fakeServer.requests[0].requestBody)).toEqual(
-				{
-					action: 'email',
-					toaddress: 'foo@bar.com',
-					link: model.get('linkShare').link,
-					itemType: 'file',
-					itemSource: '123',
-					file: 'shared_file_name.txt',
-					expiration: ''
-				}
-			)
-
-			fakeServer.requests[0].respond(
-				200,
-				{ 'Content-Type': 'application/json' },
-				JSON.stringify({status: 'success'})
-			);
-			expect(res.state()).toEqual('resolved');
-		});
-
-		it('fails', function() {
-			/* jshint camelcase: false */
-			fetchReshareDeferred.resolve(makeOcsResponse([]));
-			fetchSharesDeferred.resolve(makeOcsResponse([{
-				displayname_owner: 'root',
-				expiration: null,
-				file_source: 123,
-				file_target: '/folder',
-				id: 20,
-				item_source: '123',
-				item_type: 'folder',
-				mail_send: '0',
-				parent: null,
-				path: '/folder',
-				permissions: OC.PERMISSION_READ,
-				share_type: OC.Share.SHARE_TYPE_LINK,
-				share_with: null,
-				stime: 1403884258,
-				storage: 1,
-				token: 'tehtoken',
-				uid_owner: 'root'
-			}]));
-			OC.currentUser = 'root';
-			model.fetch();
-
-			var res = model.sendEmailPrivateLink('foo@bar.com');
-
-			expect(res.state()).toEqual('pending');
-			expect(fakeServer.requests.length).toEqual(1);
-			expect(fakeServer.requests[0].url).toEqual(OC.generateUrl('core/ajax/share.php'));
-			expect(OC.parseQueryString(fakeServer.requests[0].requestBody)).toEqual(
-				{
-					action: 'email',
-					toaddress: 'foo@bar.com',
-					link: model.get('linkShare').link,
-					itemType: 'file',
-					itemSource: '123',
-					file: 'shared_file_name.txt',
-					expiration: ''
-				}
-			)
-
-			fakeServer.requests[0].respond(
-				200,
-				{ 'Content-Type': 'application/json' },
-				JSON.stringify({data: {message: 'fail'}, status: 'error'})
-			);
-			expect(res.state()).toEqual('rejected');
-		});
-	});
+	
 	describe('share permissions', function() {
 		beforeEach(function() {
 			oc_appconfig.core.resharingAllowed = true;
@@ -635,7 +535,7 @@ describe('OC.Share.ShareItemModel', function() {
 			addShareStub = sinon.stub(model, 'addShare');
 			updateShareStub = sinon.stub(model, 'updateShare');
 		});
-		afterEach(function() { 
+		afterEach(function() {
 			addShareStub.restore();
 			updateShareStub.restore();
 		});
diff --git a/lib/private/Settings/Admin/Sharing.php b/lib/private/Settings/Admin/Sharing.php
index 59821044605c06855c2b43f15e100e396f2b5d60..9b17efa8028cd79a4029a73c591845777e5cfcfb 100644
--- a/lib/private/Settings/Admin/Sharing.php
+++ b/lib/private/Settings/Admin/Sharing.php
@@ -52,8 +52,6 @@ class Sharing implements ISettings {
 			// Built-In Sharing
 			'allowGroupSharing'               => $this->config->getAppValue('core', 'shareapi_allow_group_sharing', 'yes'),
 			'allowLinks'                      => $this->config->getAppValue('core', 'shareapi_allow_links', 'yes'),
-			'allowMailNotification'           => $this->config->getAppValue('core', 'shareapi_allow_mail_notification', 'no'),
-			'allowPublicMailNotification'     => $this->config->getAppValue('core', 'shareapi_allow_public_notification', 'no'),
 			'allowPublicUpload'               => $this->config->getAppValue('core', 'shareapi_allow_public_upload', 'yes'),
 			'allowResharing'                  => $this->config->getAppValue('core', 'shareapi_allow_resharing', 'yes'),
 			'allowShareDialogUserEnumeration' => $this->config->getAppValue('core', 'shareapi_allow_share_dialog_user_enumeration', 'yes'),
diff --git a/settings/templates/admin/sharing.php b/settings/templates/admin/sharing.php
index eed8f36dbda4f22998b97073b71939ecf4aa9263..db025c8f20561ce6d311c882bd052a9dadad1697 100644
--- a/settings/templates/admin/sharing.php
+++ b/settings/templates/admin/sharing.php
@@ -80,11 +80,6 @@
 			   value="1" <?php if ($_['onlyShareWithGroupMembers']) print_unescaped('checked="checked"'); ?> />
 		<label for="onlyShareWithGroupMembers"><?php p($l->t('Restrict users to only share with users in their groups'));?></label><br/>
 	</p>
-	<p class="<?php if ($_['shareAPIEnabled'] === 'no') p('hidden');?>">
-		<input type="checkbox" name="shareapi_allow_mail_notification" id="allowMailNotification" class="checkbox"
-			   value="1" <?php if ($_['allowMailNotification'] === 'yes') print_unescaped('checked="checked"'); ?> />
-		<label for="allowMailNotification"><?php p($l->t('Allow users to send mail notification for shared files to other users'));?></label><br/>
-	</p>
 	<p class="<?php if ($_['shareAPIEnabled'] === 'no') p('hidden');?>">
 		<input type="checkbox" name="shareapi_exclude_groups" id="shareapiExcludeGroups" class="checkbox"
 			   value="1" <?php if ($_['shareExcludeGroups']) print_unescaped('checked="checked"'); ?> />
diff --git a/tests/lib/Settings/Admin/SharingTest.php b/tests/lib/Settings/Admin/SharingTest.php
index d0cda5308f57a1b5643319bb2af8924f32c39076..122bf2b6cafe8ee59426acb5d4222c584c676f98 100644
--- a/tests/lib/Settings/Admin/SharingTest.php
+++ b/tests/lib/Settings/Admin/SharingTest.php
@@ -62,55 +62,45 @@ class SharingTest extends TestCase {
 		$this->config
 			->expects($this->at(3))
 			->method('getAppValue')
-			->with('core', 'shareapi_allow_mail_notification', 'no')
-			->willReturn('no');
-		$this->config
-			->expects($this->at(4))
-			->method('getAppValue')
-			->with('core', 'shareapi_allow_public_notification', 'no')
-			->willReturn('no');
-		$this->config
-			->expects($this->at(5))
-			->method('getAppValue')
 			->with('core', 'shareapi_allow_public_upload', 'yes')
 			->willReturn('yes');
 		$this->config
-			->expects($this->at(6))
+			->expects($this->at(4))
 			->method('getAppValue')
 			->with('core', 'shareapi_allow_resharing', 'yes')
 			->willReturn('yes');
 		$this->config
-			->expects($this->at(7))
+			->expects($this->at(5))
 			->method('getAppValue')
 			->with('core', 'shareapi_allow_share_dialog_user_enumeration', 'yes')
 			->willReturn('yes');
 		$this->config
-			->expects($this->at(8))
+			->expects($this->at(6))
 			->method('getAppValue')
 			->with('core', 'shareapi_enabled', 'yes')
 			->willReturn('yes');
 		$this->config
-			->expects($this->at(9))
+			->expects($this->at(7))
 			->method('getAppValue')
 			->with('core', 'shareapi_default_expire_date', 'no')
 			->willReturn('no');
 		$this->config
-			->expects($this->at(10))
+			->expects($this->at(8))
 			->method('getAppValue')
 			->with('core', 'shareapi_expire_after_n_days', '7')
 			->willReturn('7');
 		$this->config
-			->expects($this->at(11))
+			->expects($this->at(9))
 			->method('getAppValue')
 			->with('core', 'shareapi_enforce_expire_date', 'no')
 			->willReturn('no');
 		$this->config
-			->expects($this->at(12))
+			->expects($this->at(10))
 			->method('getAppValue')
 			->with('core', 'shareapi_exclude_groups', 'no')
 			->willReturn('no');
 		$this->config
-			->expects($this->at(13))
+			->expects($this->at(11))
 			->method('getAppValue')
 			->with('core', 'shareapi_public_link_disclaimertext', null)
 			->willReturn('Lorem ipsum');
@@ -121,8 +111,6 @@ class SharingTest extends TestCase {
 			[
 				'allowGroupSharing'               => 'yes',
 				'allowLinks'                      => 'yes',
-				'allowMailNotification'           => 'no',
-				'allowPublicMailNotification'     => 'no',
 				'allowPublicUpload'               => 'yes',
 				'allowResharing'                  => 'yes',
 				'allowShareDialogUserEnumeration' => 'yes',
@@ -161,55 +149,45 @@ class SharingTest extends TestCase {
 		$this->config
 			->expects($this->at(3))
 			->method('getAppValue')
-			->with('core', 'shareapi_allow_mail_notification', 'no')
-			->willReturn('no');
-		$this->config
-			->expects($this->at(4))
-			->method('getAppValue')
-			->with('core', 'shareapi_allow_public_notification', 'no')
-			->willReturn('no');
-		$this->config
-			->expects($this->at(5))
-			->method('getAppValue')
 			->with('core', 'shareapi_allow_public_upload', 'yes')
 			->willReturn('yes');
 		$this->config
-			->expects($this->at(6))
+			->expects($this->at(4))
 			->method('getAppValue')
 			->with('core', 'shareapi_allow_resharing', 'yes')
 			->willReturn('yes');
 		$this->config
-			->expects($this->at(7))
+			->expects($this->at(5))
 			->method('getAppValue')
 			->with('core', 'shareapi_allow_share_dialog_user_enumeration', 'yes')
 			->willReturn('yes');
 		$this->config
-			->expects($this->at(8))
+			->expects($this->at(6))
 			->method('getAppValue')
 			->with('core', 'shareapi_enabled', 'yes')
 			->willReturn('yes');
 		$this->config
-			->expects($this->at(9))
+			->expects($this->at(7))
 			->method('getAppValue')
 			->with('core', 'shareapi_default_expire_date', 'no')
 			->willReturn('no');
 		$this->config
-			->expects($this->at(10))
+			->expects($this->at(8))
 			->method('getAppValue')
 			->with('core', 'shareapi_expire_after_n_days', '7')
 			->willReturn('7');
 		$this->config
-			->expects($this->at(11))
+			->expects($this->at(9))
 			->method('getAppValue')
 			->with('core', 'shareapi_enforce_expire_date', 'no')
 			->willReturn('no');
 		$this->config
-			->expects($this->at(12))
+			->expects($this->at(10))
 			->method('getAppValue')
 			->with('core', 'shareapi_exclude_groups', 'no')
 			->willReturn('yes');
 		$this->config
-			->expects($this->at(13))
+			->expects($this->at(11))
 			->method('getAppValue')
 			->with('core', 'shareapi_public_link_disclaimertext', null)
 			->willReturn('Lorem ipsum');
@@ -220,8 +198,6 @@ class SharingTest extends TestCase {
 			[
 				'allowGroupSharing'               => 'yes',
 				'allowLinks'                      => 'yes',
-				'allowMailNotification'           => 'no',
-				'allowPublicMailNotification'     => 'no',
 				'allowPublicUpload'               => 'yes',
 				'allowResharing'                  => 'yes',
 				'allowShareDialogUserEnumeration' => 'yes',