# IGNITE-261 Cleanup API: email support removed.

Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/da1fa4e6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/da1fa4e6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/da1fa4e6

Branch: refs/heads/ignite-239
Commit: da1fa4e62531c71c59323a6a529b1dba26775f11
Parents: 63bcd34
Author: AKuznetsov <akuznet...@gridgain.com>
Authored: Mon Feb 16 16:30:58 2015 +0700
Committer: AKuznetsov <akuznet...@gridgain.com>
Committed: Mon Feb 16 16:30:58 2015 +0700

----------------------------------------------------------------------
 .../apache/ignite/IgniteSystemProperties.java   | 120 -------
 .../configuration/IgniteConfiguration.java      | 353 -------------------
 .../ignite/internal/GridKernalContext.java      |   8 -
 .../ignite/internal/GridKernalContextImpl.java  |  12 -
 .../ignite/internal/IgniteComponentType.java    |   7 -
 .../org/apache/ignite/internal/IgniteEx.java    |  12 -
 .../apache/ignite/internal/IgniteKernal.java    | 204 +----------
 .../org/apache/ignite/internal/IgnitionEx.java  |  49 ---
 .../processors/email/GridEmailHolder.java       | 111 ------
 .../email/IgniteEmailProcessorAdapter.java      |  84 -----
 .../email/IgniteNoopEmailProcessor.java         |  55 ---
 .../internal/processors/email/package.html      |  24 --
 .../visor/node/VisorEmailConfiguration.java     | 177 ----------
 .../visor/node/VisorGridConfiguration.java      |  18 -
 .../visor/node/VisorLifecycleConfiguration.java |  19 -
 modules/email/licenses/apache-2.0.txt           | 202 -----------
 modules/email/pom.xml                           |  51 ---
 modules/email/readme.txt                        |  34 --
 .../processors/email/IgniteEmailProcessor.java  | 296 ----------------
 ...idHadoopDefaultMapReducePlannerSelfTest.java |  10 -
 .../commands/alert/VisorAlertCommand.scala      |  83 +----
 .../config/VisorConfigurationCommand.scala      |  15 -
 .../commands/alert/VisorAlertCommandSpec.scala  |   1 -
 .../config/VisorConfigurationCommandSpec.scala  |   1 -
 .../disco/VisorDiscoveryCommandSpec.scala       |   1 -
 .../events/VisorEventsCommandSpec.scala         |   1 -
 .../visor/commands/gc/VisorGcCommandSpec.scala  |   1 -
 .../commands/tasks/VisorTasksCommandSpec.scala  |   2 -
 pom.xml                                         |   1 -
 29 files changed, 8 insertions(+), 1944 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/da1fa4e6/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java 
b/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
index 1550665..7280d2d 100644
--- a/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
+++ b/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
@@ -140,126 +140,6 @@ public final class IgniteSystemProperties {
     public static final String IGNITE_SUCCESS_FILE = "IGNITE_SUCCESS_FILE";
 
     /**
-     * Name of the system property or environment variable to set or override
-     * SMTP host. If provided - it will override the property in grid 
configuration.
-     * <p>
-     * Note that Ignite uses SMTP to send emails in critical
-     * situations such as license expiration or fatal system errors.
-     * It is <b>highly</b> recommended to configure SMTP in production
-     * environment.
-     *
-     * @see org.apache.ignite.configuration.IgniteConfiguration#getSmtpHost()
-     */
-    public static final String IGNITE_SMTP_HOST = "IGNITE_SMTP_HOST";
-
-    /**
-     * Name of the system property or environment variable to set or override
-     * SMTP port. If provided - it will override the property in grid 
configuration.
-     * <p>
-     * Note that Ignite uses SMTP to send emails in critical
-     * situations such as license expiration or fatal system errors.
-     * It is <b>highly</b> recommended to configure SMTP in production
-     * environment.
-     *
-     * @see org.apache.ignite.configuration.IgniteConfiguration#getSmtpPort()
-     * @see org.apache.ignite.configuration.IgniteConfiguration#DFLT_SMTP_PORT
-     */
-    public static final String IGNITE_SMTP_PORT = "IGNITE_SMTP_PORT";
-
-    /**
-     * Name of the system property or environment variable to set or override
-     * SMTP username. If provided - it will override the property in grid 
configuration.
-     * <p>
-     * Note that Ignite uses SMTP to send emails in critical
-     * situations such as license expiration or fatal system errors.
-     * It is <b>highly</b> recommended to configure SMTP in production
-     * environment.
-     *
-     * @see 
org.apache.ignite.configuration.IgniteConfiguration#getSmtpUsername()
-     */
-    public static final String IGNITE_SMTP_USERNAME = "IGNITE_SMTP_USERNAME";
-
-    /**
-     * Name of the system property or environment variable to set or override
-     * SMTP password. If provided - it will override the property in grid 
configuration.
-     * <p>
-     * Note that Ignite uses SMTP to send emails in critical
-     * situations such as license expiration or fatal system errors.
-     * It is <b>highly</b> recommended to configure SMTP in production
-     * environment.
-     *
-     * @see 
org.apache.ignite.configuration.IgniteConfiguration#getSmtpPassword()
-     */
-    public static final String IGNITE_SMTP_PWD = "IGNITE_SMTP_PASSWORD";
-
-    /**
-     * Name of the system property or environment variable to set or override
-     * SMTP FROM email. If provided - it will override the property in grid 
configuration.
-     * <p>
-     * Note that Ignite uses SMTP to send emails in critical
-     * situations such as license expiration or fatal system errors.
-     * It is <b>highly</b> recommended to configure SMTP in production
-     * environment.
-     *
-     * @see 
org.apache.ignite.configuration.IgniteConfiguration#getSmtpFromEmail()
-     * @see 
org.apache.ignite.configuration.IgniteConfiguration#DFLT_SMTP_FROM_EMAIL
-     */
-    public static final String IGNITE_SMTP_FROM = "IGNITE_SMTP_FROM";
-
-    /**
-     * Name of the system property or environment variable to set or override
-     * list of admin emails. Value of this property should be comma-separated 
list
-     * of emails. If provided - it will override the property in grid 
configuration.
-     * <p>
-     * Note that Ignite uses SMTP to send emails in critical
-     * situations such as license expiration or fatal system errors.
-     * It is <b>highly</b> recommended to configure SMTP in production
-     * environment.
-     *
-     * @see 
org.apache.ignite.configuration.IgniteConfiguration#getAdminEmails()
-     */
-    public static final String IGNITE_ADMIN_EMAILS = "IGNITE_ADMIN_EMAILS";
-
-    /**
-     * Name of the system property or environment variable to set or override
-     * whether or not to use SSL. If provided - it will override the property
-     * in grid configuration.
-     * <p>
-     * Note that Ignite uses SMTP to send emails in critical
-     * situations such as license expiration or fatal system errors.
-     * It is <b>highly</b> recommended to configure SMTP in production
-     * environment.
-     *
-     * @see org.apache.ignite.configuration.IgniteConfiguration#isSmtpSsl()
-     * @see org.apache.ignite.configuration.IgniteConfiguration#DFLT_SMTP_SSL
-     */
-    public static final String IGNITE_SMTP_SSL = "IGNITE_SMTP_SSL";
-
-    /**
-     * Name of the system property or environment variable to set or override
-     * whether or not to enable email notifications for node lifecycle. If 
provided -
-     * it will override the property in grid configuration.
-     *
-     * @see 
org.apache.ignite.configuration.IgniteConfiguration#isLifeCycleEmailNotification()
-     */
-    public static final String IGNITE_LIFECYCLE_EMAIL_NOTIFY = 
"IGNITE_LIFECYCLE_EMAIL_NOTIFY";
-
-    /**
-     * Name of the system property or environment variable to set or override
-     * whether or not to use STARTTLS. If provided - it will override the 
property
-     * in grid configuration.
-     * <p>
-     * Note that Ignite uses SMTP to send emails in critical
-     * situations such as license expiration or fatal system errors.
-     * It is <b>highly</b> recommended to configure SMTP in production
-     * environment.
-     *
-     * @see 
org.apache.ignite.configuration.IgniteConfiguration#isSmtpStartTls()
-     * @see 
org.apache.ignite.configuration.IgniteConfiguration#DFLT_SMTP_STARTTLS
-     */
-    public static final String IGNITE_SMTP_STARTTLS = "IGNITE_SMTP_STARTTLS";
-
-    /**
      * Name of system property to set system-wide local IP address or host. If 
provided it will
      * override all default local bind settings within Ignite or any of its 
SPIs.
      * <p>

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/da1fa4e6/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java
 
b/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java
index 1695ab7..72ab928 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java
@@ -109,18 +109,6 @@ public class IgniteConfiguration {
     /** Default cache size for missed resources. */
     public static final int DFLT_P2P_MISSED_RESOURCES_CACHE_SIZE = 100;
 
-    /** Default SMTP port. */
-    public static final int DFLT_SMTP_PORT = 25;
-
-    /** Default SSL enabled flag. */
-    public static final boolean DFLT_SMTP_SSL = false;
-
-    /** Default STARTTLS enabled flag. */
-    public static final boolean DFLT_SMTP_STARTTLS = false;
-
-    /** Default FROM email address. */
-    public static final String DFLT_SMTP_FROM_EMAIL = "i...@gridgain.com";
-
     /** Default time server port base. */
     public static final int DFLT_TIME_SERVER_PORT_BASE = 31100;
 
@@ -205,9 +193,6 @@ public class IgniteConfiguration {
     /** IGFS pool size. */
     private int igfsPoolSize = AVAILABLE_PROC_CNT;
 
-    /** Lifecycle email notification. */
-    private boolean lifeCycleEmailNtf = true;
-
     /** P2P pool size. */
     private int p2pPoolSize = DFLT_P2P_THREAD_CNT;
 
@@ -340,30 +325,6 @@ public class IgniteConfiguration {
     /** Cache size of missed resources. */
     private int p2pMissedCacheSize = DFLT_P2P_MISSED_RESOURCES_CACHE_SIZE;
 
-    /** */
-    private String smtpHost;
-
-    /** */
-    private int smtpPort = DFLT_SMTP_PORT;
-
-    /** */
-    private String smtpUsername;
-
-    /** */
-    private String smtpPwd;
-
-    /** */
-    private String[] adminEmails;
-
-    /** */
-    private String smtpFromEmail = DFLT_SMTP_FROM_EMAIL;
-
-    /** */
-    private boolean smtpSsl = DFLT_SMTP_SSL;
-
-    /** */
-    private boolean smtpStartTls = DFLT_SMTP_STARTTLS;
-
     /** Local host. */
     private String locHost;
 
@@ -443,7 +404,6 @@ public class IgniteConfiguration {
          * Order alphabetically for maintenance purposes.
          */
         addrRslvr = cfg.getAddressResolver();
-        adminEmails = cfg.getAdminEmails();
         allResolversPassReq = cfg.isAllSegmentationResolversPassRequired();
         atomicCfg = cfg.getAtomicConfiguration();
         daemon = cfg.isDaemon();
@@ -465,7 +425,6 @@ public class IgniteConfiguration {
         inclEvtTypes = cfg.getIncludeEventTypes();
         includeProps = cfg.getIncludeProperties();
         lifecycleBeans = cfg.getLifecycleBeans();
-        lifeCycleEmailNtf = cfg.isLifeCycleEmailNotification();
         locHost = cfg.getLocalHost();
         log = cfg.getGridLogger();
         lsnrs = cfg.getLocalEventListeners();
@@ -490,13 +449,6 @@ public class IgniteConfiguration {
         segResolvers = cfg.getSegmentationResolvers();
         sndRetryCnt = cfg.getNetworkSendRetryCount();
         sndRetryDelay = cfg.getNetworkSendRetryDelay();
-        smtpHost = cfg.getSmtpHost();
-        smtpPort = cfg.getSmtpPort();
-        smtpUsername = cfg.getSmtpUsername();
-        smtpPwd = cfg.getSmtpPassword();
-        smtpFromEmail = cfg.getSmtpFromEmail();
-        smtpSsl = cfg.isSmtpSsl();
-        smtpStartTls = cfg.isSmtpStartTls();
         streamerCfg = cfg.getStreamerConfiguration();
         sysPoolSize = cfg.getSystemThreadPoolSize();
         timeSrvPortBase = cfg.getTimeServerPortBase();
@@ -508,311 +460,6 @@ public class IgniteConfiguration {
     }
 
     /**
-     * Whether or not send email notifications on node start and stop. Note if 
enabled
-     * email notifications will only be sent if SMTP is configured and at 
least one
-     * admin email is provided.
-     * <p>
-     * By default - email notifications are enabled.
-     *
-     * @return {@code True} to enable lifecycle email notifications.
-     * @see #getSmtpHost()
-     * @see #getAdminEmails()
-     */
-    public boolean isLifeCycleEmailNotification() {
-        return lifeCycleEmailNtf;
-    }
-
-    /**
-     * Whether or not to use SSL fot SMTP. Default is {@link #DFLT_SMTP_SSL}.
-     * <p>
-     * Note that Ignite uses SMTP to send emails in critical
-     * situations such as license expiration or fatal system errors.
-     * It is <b>highly</b> recommended to configure SMTP in production
-     * environment.
-     * <p>
-     * Note that {@link #getSmtpHost()} is the only mandatory SMTP
-     * configuration property.
-     *
-     * @return Whether or not to use SSL fot SMTP.
-     * @see #DFLT_SMTP_SSL
-     * @see org.apache.ignite.IgniteSystemProperties#IGNITE_SMTP_SSL
-     */
-    public boolean isSmtpSsl() {
-        return smtpSsl;
-    }
-
-    /**
-     * Whether or not to use STARTTLS fot SMTP. Default is {@link 
#DFLT_SMTP_STARTTLS}.
-     * <p>
-     * Note that Ignite uses SMTP to send emails in critical
-     * situations such as license expiration or fatal system errors.
-     * It is <b>highly</b> recommended to configure SMTP in production
-     * environment.
-     * <p>
-     * Note that {@link #getSmtpHost()} is the only mandatory SMTP
-     * configuration property.
-     *
-     * @return Whether or not to use STARTTLS fot SMTP.
-     * @see #DFLT_SMTP_STARTTLS
-     * @see org.apache.ignite.IgniteSystemProperties#IGNITE_SMTP_STARTTLS
-     */
-    public boolean isSmtpStartTls() {
-        return smtpStartTls;
-    }
-
-    /**
-     * Gets SMTP host name or {@code null} if SMTP is not configured.
-     * <p>
-     * Note that Ignite uses SMTP to send emails in critical
-     * situations such as license expiration or fatal system errors.
-     * It is <b>highly</b> recommended to configure SMTP in production
-     * environment.
-     * <p>
-     * Note that {@code getSmtpHost()} is the only mandatory SMTP
-     * configuration property.
-     *
-     * @return SMTP host name or {@code null} if SMTP is not configured.
-     * @see org.apache.ignite.IgniteSystemProperties#IGNITE_SMTP_HOST
-     */
-    public String getSmtpHost() {
-        return smtpHost;
-    }
-
-    /**
-     * Gets SMTP port. Default value is {@link #DFLT_SMTP_PORT}.
-     * <p>
-     * Note that Ignite uses SMTP to send emails in critical
-     * situations such as license expiration or fatal system errors.
-     * It is <b>highly</b> recommended to configure SMTP in production
-     * environment.
-     * <p>
-     * Note that {@link #getSmtpHost()} is the only mandatory SMTP
-     * configuration property.
-     *
-     * @return SMTP port.
-     * @see #DFLT_SMTP_PORT
-     * @see org.apache.ignite.IgniteSystemProperties#IGNITE_SMTP_PORT
-     */
-    public int getSmtpPort() {
-        return smtpPort;
-    }
-
-    /**
-     * Gets SMTP username or {@code null} if not used.
-     * <p>
-     * Note that Ignite uses SMTP to send emails in critical
-     * situations such as license expiration or fatal system errors.
-     * It is <b>highly</b> recommended to configure SMTP in production
-     * environment.
-     * <p>
-     * Note that {@link #getSmtpHost()} is the only mandatory SMTP
-     * configuration property.
-     *
-     * @return SMTP username or {@code null}.
-     * @see org.apache.ignite.IgniteSystemProperties#IGNITE_SMTP_USERNAME
-     */
-    public String getSmtpUsername() {
-        return smtpUsername;
-    }
-
-    /**
-     * SMTP password or {@code null} if not used.
-     * <p>
-     * Note that Ignite uses SMTP to send emails in critical
-     * situations such as license expiration or fatal system errors.
-     * It is <b>highly</b> recommended to configure SMTP in production
-     * environment.
-     * <p>
-     * Note that {@link #getSmtpHost()} is the only mandatory SMTP
-     * configuration property.
-     *
-     * @return SMTP password or {@code null}.
-     * @see org.apache.ignite.IgniteSystemProperties#IGNITE_SMTP_PWD
-     */
-    public String getSmtpPassword() {
-        return smtpPwd;
-    }
-
-    /**
-     * Gets optional set of admin emails where email notifications will be set.
-     * <p>
-     * Note that Ignite uses SMTP to send emails in critical
-     * situations such as license expiration or fatal system errors.
-     * It is <b>highly</b> recommended to configure SMTP in production
-     * environment.
-     *
-     * @return Optional set of admin emails where email notifications will be 
set.
-     *      If {@code null} - emails will be sent only to the email in the 
license
-     *      if one provided.
-     * @see org.apache.ignite.IgniteSystemProperties#IGNITE_ADMIN_EMAILS
-     */
-    public String[] getAdminEmails() {
-        return adminEmails;
-    }
-
-    /**
-     * Gets optional FROM email address for email notifications. By default
-     * {@link #DFLT_SMTP_FROM_EMAIL} will be used.
-     *
-     * @return Optional FROM email address for email notifications. If {@code 
null}
-     *      - {@link #DFLT_SMTP_FROM_EMAIL} will be used by default.
-     * @see #DFLT_SMTP_FROM_EMAIL
-     * @see org.apache.ignite.IgniteSystemProperties#IGNITE_SMTP_FROM
-     */
-    public String getSmtpFromEmail() {
-        return smtpFromEmail;
-    }
-
-    /**
-     * Sets whether or not to enable lifecycle email notifications.
-     *
-     * @param lifeCycleEmailNtf {@code True} to enable lifecycle email 
notifications.
-     * @see 
org.apache.ignite.IgniteSystemProperties#IGNITE_LIFECYCLE_EMAIL_NOTIFY
-     */
-    public void setLifeCycleEmailNotification(boolean lifeCycleEmailNtf) {
-        this.lifeCycleEmailNtf = lifeCycleEmailNtf;
-    }
-
-    /**
-     * Sets whether or not SMTP uses SSL.
-     * <p>
-     * Note that Ignite uses SMTP to send emails in critical
-     * situations such as license expiration or fatal system errors.
-     * It is <b>highly</b> recommended to configure SMTP in production
-     * environment.
-     * <p>
-     * Note that {@link #setSmtpHost(String)} is the only mandatory SMTP
-     * configuration property.
-     *
-     * @param smtpSsl Whether or not SMTP uses SSL.
-     * @see org.apache.ignite.IgniteSystemProperties#IGNITE_SMTP_SSL
-     */
-    public void setSmtpSsl(boolean smtpSsl) {
-        this.smtpSsl = smtpSsl;
-    }
-
-    /**
-     * Sets whether or not SMTP uses STARTTLS.
-     * <p>
-     * Note that Ignite uses SMTP to send emails in critical
-     * situations such as license expiration or fatal system errors.
-     * It is <b>highly</b> recommended to configure SMTP in production
-     * environment.
-     * <p>
-     * Note that {@link #setSmtpHost(String)} is the only mandatory SMTP
-     * configuration property.
-     *
-     * @param smtpStartTls Whether or not SMTP uses STARTTLS.
-     * @see org.apache.ignite.IgniteSystemProperties#IGNITE_SMTP_STARTTLS
-     */
-    public void setSmtpStartTls(boolean smtpStartTls) {
-        this.smtpStartTls = smtpStartTls;
-    }
-
-    /**
-     * Sets SMTP host.
-     * <p>
-     * Note that Ignite uses SMTP to send emails in critical
-     * situations such as license expiration or fatal system errors.
-     * It is <b>highly</b> recommended to configure SMTP in production
-     * environment.
-     * <p>
-     * Note that {@code #setSmtpHost(String)} is the only mandatory SMTP
-     * configuration property.
-     *
-     * @param smtpHost SMTP host to set or {@code null} to disable sending 
emails.
-     * @see org.apache.ignite.IgniteSystemProperties#IGNITE_SMTP_HOST
-     */
-    public void setSmtpHost(String smtpHost) {
-        this.smtpHost = smtpHost;
-    }
-
-    /**
-     * Sets SMTP port. Default value is {@link #DFLT_SMTP_PORT}.
-     * <p>
-     * Note that Ignite uses SMTP to send emails in critical
-     * situations such as license expiration or fatal system errors.
-     * It is <b>highly</b> recommended to configure SMTP in production
-     * environment.
-     * <p>
-     * Note that {@link #setSmtpHost(String)} is the only mandatory SMTP
-     * configuration property.
-     *
-     * @param smtpPort SMTP port to set.
-     * @see #DFLT_SMTP_PORT
-     * @see org.apache.ignite.IgniteSystemProperties#IGNITE_SMTP_PORT
-     */
-    public void setSmtpPort(int smtpPort) {
-        this.smtpPort = smtpPort;
-    }
-
-    /**
-     * Sets SMTP username or {@code null} if not used.
-     * <p>
-     * Note that Ignite uses SMTP to send emails in critical
-     * situations such as license expiration or fatal system errors.
-     * It is <b>highly</b> recommended to configure SMTP in production
-     * environment.
-     * <p>
-     * Note that {@link #setSmtpHost(String)} is the only mandatory SMTP
-     * configuration property.
-     *
-     * @param smtpUsername SMTP username or {@code null}.
-     * @see org.apache.ignite.IgniteSystemProperties#IGNITE_SMTP_USERNAME
-     */
-    public void setSmtpUsername(String smtpUsername) {
-        this.smtpUsername = smtpUsername;
-    }
-
-    /**
-     * Sets SMTP password or {@code null} if not used.
-     * <p>
-     * Note that Ignite uses SMTP to send emails in critical
-     * situations such as license expiration or fatal system errors.
-     * It is <b>highly</b> recommended to configure SMTP in production
-     * environment.
-     * <p>
-     * Note that {@link #setSmtpHost(String)} is the only mandatory SMTP
-     * configuration property.
-     *
-     * @param smtpPwd SMTP password or {@code null}.
-     * @see org.apache.ignite.IgniteSystemProperties#IGNITE_SMTP_PWD
-     */
-    public void setSmtpPassword(String smtpPwd) {
-        this.smtpPwd = smtpPwd;
-    }
-
-    /**
-     * Sets optional set of admin emails where email notifications will be set.
-     * <p>
-     * Note that Ignite uses SMTP to send emails in critical
-     * situations such as license expiration or fatal system errors.
-     * It is <b>highly</b> recommended to configure SMTP in production
-     * environment.
-     *
-     * @param adminEmails Optional set of admin emails where email 
notifications will be set.
-     *      If {@code null} - emails will be sent only to the email in the 
license
-     *      if one provided.
-     * @see org.apache.ignite.IgniteSystemProperties#IGNITE_ADMIN_EMAILS
-     */
-    public void setAdminEmails(String[] adminEmails) {
-        this.adminEmails = adminEmails;
-    }
-
-    /**
-     * Sets optional FROM email address for email notifications. By default
-     * {@link #DFLT_SMTP_FROM_EMAIL} will be used.
-     *
-     * @param smtpFromEmail Optional FROM email address for email 
notifications. If {@code null}
-     *      - {@link #DFLT_SMTP_FROM_EMAIL} will be used by default.
-     * @see #DFLT_SMTP_FROM_EMAIL
-     * @see org.apache.ignite.IgniteSystemProperties#IGNITE_SMTP_FROM
-     */
-    public void setSmtpFromEmail(String smtpFromEmail) {
-        this.smtpFromEmail = smtpFromEmail;
-    }
-
-    /**
      * Gets optional grid name. Returns {@code null} if non-default grid name 
was not
      * provided.
      *

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/da1fa4e6/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java 
b/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java
index a4c5853..56f145a 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java
@@ -36,7 +36,6 @@ import org.apache.ignite.internal.processors.closure.*;
 import org.apache.ignite.internal.processors.continuous.*;
 import org.apache.ignite.internal.processors.dataload.*;
 import org.apache.ignite.internal.processors.datastructures.*;
-import org.apache.ignite.internal.processors.email.*;
 import org.apache.ignite.internal.processors.igfs.*;
 import org.apache.ignite.internal.processors.hadoop.*;
 import org.apache.ignite.internal.processors.job.*;
@@ -222,13 +221,6 @@ public interface GridKernalContext extends 
Iterable<GridComponent> {
     public GridPortProcessor ports();
 
     /**
-     * Gets email processor.
-     *
-     * @return Email processor.
-     */
-    public IgniteEmailProcessorAdapter email();
-
-    /**
      * Gets schedule processor.
      *
      * @return Schedule processor.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/da1fa4e6/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java
index b3b66d6..32dc14e 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java
@@ -39,7 +39,6 @@ import org.apache.ignite.internal.processors.closure.*;
 import org.apache.ignite.internal.processors.continuous.*;
 import org.apache.ignite.internal.processors.dataload.*;
 import org.apache.ignite.internal.processors.datastructures.*;
-import org.apache.ignite.internal.processors.email.*;
 import org.apache.ignite.internal.processors.igfs.*;
 import org.apache.ignite.internal.processors.hadoop.*;
 import org.apache.ignite.internal.processors.job.*;
@@ -198,10 +197,6 @@ public class GridKernalContextImpl implements 
GridKernalContext, Externalizable
 
     /** */
     @GridToStringInclude
-    private IgniteEmailProcessorAdapter emailProc;
-
-    /** */
-    @GridToStringInclude
     private IgniteScheduleProcessorAdapter scheduleProc;
 
     /** */
@@ -435,8 +430,6 @@ public class GridKernalContextImpl implements 
GridKernalContext, Externalizable
             sesProc = (GridTaskSessionProcessor)comp;
         else if (comp instanceof GridPortProcessor)
             portProc = (GridPortProcessor)comp;
-        else if (comp instanceof IgniteEmailProcessorAdapter)
-            emailProc = (IgniteEmailProcessorAdapter)comp;
         else if (comp instanceof GridClosureProcessor)
             closProc = (GridClosureProcessor)comp;
         else if (comp instanceof GridServiceProcessor)
@@ -575,11 +568,6 @@ public class GridKernalContextImpl implements 
GridKernalContext, Externalizable
     }
 
     /** {@inheritDoc} */
-    @Override public IgniteEmailProcessorAdapter email() {
-        return emailProc;
-    }
-
-    /** {@inheritDoc} */
     @Override public GridOffHeapProcessor offheap() {
         return offheapProc;
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/da1fa4e6/modules/core/src/main/java/org/apache/ignite/internal/IgniteComponentType.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/IgniteComponentType.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/IgniteComponentType.java
index f7a3a9e..d0e487a 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/IgniteComponentType.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/IgniteComponentType.java
@@ -68,13 +68,6 @@ public enum IgniteComponentType {
         "ignite-ssh"
     ),
 
-    /** Email sending. */
-    EMAIL(
-        "org.apache.ignite.internal.processors.email.IgniteNoopEmailProcessor",
-        "org.apache.ignite.internal.processors.email.IgniteEmailProcessor",
-        "ignite-email"
-    ),
-
     /** Integration of cache transactions with JTA. */
     JTA(
         "org.apache.ignite.internal.processors.cache.jta.CacheNoopJtaManager",

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/da1fa4e6/modules/core/src/main/java/org/apache/ignite/internal/IgniteEx.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/IgniteEx.java 
b/modules/core/src/main/java/org/apache/ignite/internal/IgniteEx.java
index ae5f765..19d2ff8 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteEx.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteEx.java
@@ -110,18 +110,6 @@ public interface IgniteEx extends Ignite, ClusterGroupEx, 
IgniteCluster {
     public boolean isRestartEnabled();
 
     /**
-     * Whether or not SMTP is configured.
-     *
-     * @return {@code True} if SMTP is configured - {@code false} otherwise.
-     */
-    public boolean isSmtpEnabled();
-
-    /**
-     * Schedule sending of given email to all configured admin emails.
-     */
-    IgniteInternalFuture<Boolean> sendAdminEmailAsync(String subj, String 
body, boolean html);
-
-    /**
      * Get IGFS instance returning null if it doesn't exist.
      *
      * @param name IGFS name.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/da1fa4e6/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java 
b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
index 662b19e..597322d 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
@@ -41,7 +41,6 @@ import org.apache.ignite.internal.processors.closure.*;
 import org.apache.ignite.internal.processors.continuous.*;
 import org.apache.ignite.internal.processors.dataload.*;
 import org.apache.ignite.internal.processors.datastructures.*;
-import org.apache.ignite.internal.processors.email.*;
 import org.apache.ignite.internal.processors.hadoop.*;
 import org.apache.ignite.internal.processors.job.*;
 import org.apache.ignite.internal.processors.jobmetrics.*;
@@ -424,8 +423,7 @@ public class IgniteKernal extends ClusterGroupAdapter 
implements IgniteEx, Ignit
         assert cfg != null;
 
         return F.transform(cfg.getUserAttributes().entrySet(), new 
C1<Map.Entry<String,?>,String>() {
-            @Override
-            public String apply(Map.Entry<String,?> e) {
+            @Override public String apply(Map.Entry<String,?> e) {
                 return e.getKey() + ", " + e.getValue().toString();
             }
         });
@@ -508,7 +506,7 @@ public class IgniteKernal extends ClusterGroupAdapter 
implements IgniteEx, Ignit
      * @param cfg Grid configuration to use.
      * @param utilityCachePool Utility cache pool.
      * @param execSvc
-     *@param sysExecSvc
+     * @param sysExecSvc
      * @param p2pExecSvc
      * @param mgmtExecSvc
      * @param igfsExecSvc
@@ -579,7 +577,6 @@ public class IgniteKernal extends ClusterGroupAdapter 
implements IgniteEx, Ignit
         ackClassPaths(rtBean);
         ackSystemProperties();
         ackEnvironmentVariables();
-        ackSmtpConfiguration();
         ackCacheConfiguration();
         ackP2pConfiguration();
 
@@ -671,7 +668,6 @@ public class IgniteKernal extends ClusterGroupAdapter 
implements IgniteEx, Ignit
             startProcessor(ctx, new GridClosureProcessor(ctx), attrs);
 
             // Start some other processors (order & place is important).
-            startProcessor(ctx, (GridProcessor)EMAIL.create(ctx, 
cfg.getSmtpHost() == null), attrs);
             startProcessor(ctx, new GridPortProcessor(ctx), attrs);
             startProcessor(ctx, new GridJobMetricsProcessor(ctx), attrs);
 
@@ -963,46 +959,6 @@ public class IgniteKernal extends ClusterGroupAdapter 
implements IgniteEx, Ignit
 
         if (!isDaemon())
             ctx.discovery().ackTopology();
-
-        // Send node start email notification, if enabled.
-        if (isSmtpEnabled() && isAdminEmailsSet() && 
cfg.isLifeCycleEmailNotification()) {
-            SB sb = new SB();
-
-            for (GridPortRecord rec : ctx.ports().records())
-                sb.a(rec.protocol()).a(":").a(rec.port()).a(" ");
-
-            String nid = localNode().id().toString().toUpperCase();
-            String nid8 = U.id8(localNode().id()).toUpperCase();
-
-            String body =
-                "Ignite node started with the following parameters:" + NL +
-                NL +
-                "----" + NL +
-                "Ignite ver. " + VER_STR + '#' + BUILD_TSTAMP_STR + "-sha1:" + 
REV_HASH_STR + NL +
-                "Grid name: " + gridName + NL +
-                "Node ID: " + nid + NL +
-                "Node order: " + localNode().order() + NL +
-                "Node addresses: " + U.addressesAsString(localNode()) + NL +
-                "Local ports: " + sb + NL +
-                "OS name: " + U.osString() + NL +
-                "OS user: " + System.getProperty("user.name") + NL +
-                "CPU(s): " + localNode().metrics().getTotalCpus() + NL +
-                "Heap: " + U.heapSize(localNode(), 2) + "GB" + NL +
-                "JVM name: " + U.jvmName() + NL +
-                "JVM vendor: " + U.jvmVendor() + NL +
-                "JVM version: " + U.jvmVersion() + NL +
-                "VM name: " + rtBean.getName() + NL +
-                "----" + NL +
-                NL +
-                "NOTE:" + NL +
-                "This message is sent automatically to all configured admin 
emails." + NL +
-                "To change this behavior use 'lifeCycleEmailNotify' grid 
configuration property." +
-                NL + NL +
-                "| " + SITE + NL +
-                "| supp...@gridgain.com" + NL;
-
-            sendAdminEmailAsync("Ignite node started: " + nid8, body, false);
-        }
     }
 
     /**
@@ -1731,7 +1687,6 @@ public class IgniteKernal extends ClusterGroupAdapter 
implements IgniteEx, Ignit
                 notifyLifecycleBeansEx(LifecycleEventType.BEFORE_GRID_STOP);
             }
 
-            IgniteEmailProcessorAdapter email = ctx.email();
             GridCacheProcessor cacheProcessor = ctx.cache();
 
             List<GridComponent> comps = ctx.components();
@@ -1894,54 +1849,6 @@ public class IgniteKernal extends ClusterGroupAdapter 
implements IgniteEx, Ignit
                         NL);
                 }
 
-            // Send node start email notification, if enabled.
-            if (isSmtpEnabled() && isAdminEmailsSet() && 
cfg.isLifeCycleEmailNotification()) {
-                String errOk = errOnStop ? "with ERRORS" : "OK";
-
-                String headline = "Ignite ver. " + VER_STR + '#' + 
BUILD_TSTAMP_STR +
-                    " stopped " + errOk + ":";
-                String subj = "Ignite node stopped " + errOk + ": " + nid8;
-
-                String body =
-                    headline + NL + NL +
-                    "----" + NL +
-                    "Ignite ver. " + VER_STR + '#' + BUILD_TSTAMP_STR + 
"-sha1:" + REV_HASH_STR + NL +
-                    "Grid name: " + gridName + NL +
-                    "Node ID: " + nid + NL +
-                    "Node uptime: " + X.timeSpan2HMSM(U.currentTimeMillis() - 
startTime) + NL +
-                    "----" + NL +
-                    NL +
-                    "NOTE:" + NL +
-                    "This message is sent automatically to all configured 
admin emails." + NL +
-                    "To change this behavior use 'lifeCycleEmailNotify' grid 
configuration property.";
-
-                if (errOnStop)
-                    body +=
-                        NL + NL +
-                            "NOTE:" + NL +
-                            "See node's log for detailed error message." + NL +
-                            "Some errors during stop can prevent grid from" + 
NL +
-                            "maintaining correct topology since this node may 
" + NL +
-                            "have not exited grid properly.";
-
-                body +=
-                    NL + NL +
-                        "| " + SITE + NL +
-                        "| supp...@gridgain.com" + NL;
-
-                if (email != null) {
-                    try {
-                        email.sendNow(subj,
-                            body,
-                            false,
-                            Arrays.asList(cfg.getAdminEmails()));
-                    }
-                    catch (IgniteCheckedException e) {
-                        U.error(log, "Failed to send lifecycle email 
notification.", e);
-                    }
-                }
-            }
-
             U.onGridStop();
         }
         else {
@@ -2069,28 +1976,6 @@ public class IgniteKernal extends ClusterGroupAdapter 
implements IgniteEx, Ignit
     }
 
     /**
-     * Whether or not SMTP is configured. Note that SMTP is considered 
configured if
-     * SMTP host is provided in configuration (see {@link 
IgniteConfiguration#getSmtpHost()}.
-     * <p>
-     * If SMTP is not configured all emails notifications will be disabled.
-     *
-     * @return {@code True} if SMTP is configured - {@code false} otherwise.
-     * @see IgniteConfiguration#getSmtpFromEmail()
-     * @see IgniteConfiguration#getSmtpHost()
-     * @see IgniteConfiguration#getSmtpPassword()
-     * @see IgniteConfiguration#getSmtpPort()
-     * @see IgniteConfiguration#getSmtpUsername()
-     * @see IgniteConfiguration#isSmtpSsl()
-     * @see IgniteConfiguration#isSmtpStartTls()
-     * @see #sendAdminEmailAsync(String, String, boolean)
-     */
-    @Override public boolean isSmtpEnabled() {
-        assert cfg != null;
-
-        return cfg.getSmtpHost() != null;
-    }
-
-    /**
      * Prints all configuration properties in info mode and SPIs in debug mode.
      */
     private void ackSpis() {
@@ -2167,53 +2052,6 @@ public class IgniteKernal extends ClusterGroupAdapter 
implements IgniteEx, Ignit
     }
 
     /**
-     * Prints out SMTP configuration.
-     */
-    private void ackSmtpConfiguration() {
-        assert log != null;
-
-        String host = cfg.getSmtpHost();
-
-        boolean ssl = cfg.isSmtpSsl();
-        int port = cfg.getSmtpPort();
-
-        if (host == null) {
-            U.warn(log, "SMTP is not configured - email notifications are 
off.");
-
-            return;
-        }
-
-        String from = cfg.getSmtpFromEmail();
-
-        if (log.isQuiet())
-            U.quiet(false, "SMTP enabled [host=" + host + ":" + port + ", 
ssl=" + (ssl ? "on" : "off") + ", from=" +
-                from + ']');
-
-        if (log.isInfoEnabled()) {
-            String[] adminEmails = cfg.getAdminEmails();
-
-            log.info("SMTP enabled [host=" + host + ", port=" + port + ", 
ssl=" + ssl + ", from=" + from + ']');
-            log.info("Admin emails: " + (!isAdminEmailsSet() ? "N/A" : 
Arrays.toString(adminEmails)));
-        }
-
-        if (!isAdminEmailsSet())
-            U.warn(log, "Admin emails are not set - automatic email 
notifications are off.");
-    }
-
-    /**
-     * Tests whether or not admin emails are set.
-     *
-     * @return {@code True} if admin emails are set and not empty.
-     */
-    private boolean isAdminEmailsSet() {
-        assert cfg != null;
-
-        String[] a = cfg.getAdminEmails();
-
-        return a != null && a.length > 0;
-    }
-
-    /**
      * Prints out VM arguments and IGNITE_HOME in info mode.
      *
      * @param rtBean Java runtime bean.
@@ -2344,44 +2182,6 @@ public class IgniteKernal extends ClusterGroupAdapter 
implements IgniteEx, Ignit
         }
     }
 
-    /**
-     * Schedule sending of given email to all configured admin emails. If no 
admin emails are configured this
-     * method is no-op. If SMTP is not configured this method is no-op.
-     * <p>
-     * Note that this method returns immediately with the future and all 
emails will be sent asynchronously
-     * in a different thread. If email queue is full or sending has failed - 
the email will be lost.
-     * Email queue can fill up if rate of scheduling emails is greater than 
the rate of SMTP sending.
-     * <p>
-     * Implementation is not performing any throttling and it is 
responsibility of the caller to properly
-     * throttle the emails, if necessary.
-     *
-     * @param subj Subject of the email.
-     * @param body Body of the email.
-     * @param html If {@code true} the email body will have MIME {@code html} 
subtype.
-     * @return Email's future. You can use this future to check on the status 
of the email. If future
-     *      completes ok and its result value is {@code true} email was 
successfully sent. In all
-     *      other cases - sending process has failed.
-     * @see #isSmtpEnabled()
-     * @see IgniteConfiguration#getAdminEmails()
-     */
-    @Override public IgniteInternalFuture<Boolean> sendAdminEmailAsync(String 
subj, String body, boolean html) {
-        A.notNull(subj, "subj");
-        A.notNull(body, "body");
-
-        if (isSmtpEnabled() && isAdminEmailsSet()) {
-            guard();
-
-            try {
-                return ctx.email().schedule(subj, body, html, 
Arrays.asList(cfg.getAdminEmails()));
-            }
-            finally {
-                unguard();
-            }
-        }
-        else
-            return new GridFinishedFuture<>(ctx, false);
-    }
-
     /** {@inheritDoc} */
     @Override public boolean pingNodeByAddress(String host) {
         guard();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/da1fa4e6/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java 
b/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
index 86ac31c..2f365fb 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
@@ -1375,7 +1375,6 @@ public class IgnitionEx {
             myCfg.setIncludeEventTypes(cfg.getIncludeEventTypes());
             myCfg.setDaemon(cfg.isDaemon());
             myCfg.setIncludeProperties(cfg.getIncludeProperties());
-            
myCfg.setLifeCycleEmailNotification(cfg.isLifeCycleEmailNotification());
             myCfg.setMetricsLogFrequency(cfg.getMetricsLogFrequency());
             myCfg.setNetworkSendRetryDelay(cfg.getNetworkSendRetryDelay());
             myCfg.setNetworkSendRetryCount(cfg.getNetworkSendRetryCount());
@@ -1392,11 +1391,6 @@ public class IgnitionEx {
             if (clientCfg != null)
                 clientCfg = new ConnectorConfiguration(clientCfg);
 
-            String ntfStr = 
IgniteSystemProperties.getString(IGNITE_LIFECYCLE_EMAIL_NOTIFY);
-
-            if (ntfStr != null)
-                
myCfg.setLifeCycleEmailNotification(Boolean.parseBoolean(ntfStr));
-
             // Local host.
             String locHost = 
IgniteSystemProperties.getString(IGNITE_LOCAL_HOST);
 
@@ -1651,15 +1645,6 @@ public class IgnitionEx {
 
             myCfg.setAddressResolver(cfg.getAddressResolver());
 
-            // Set SMTP configuration.
-            myCfg.setSmtpFromEmail(cfg.getSmtpFromEmail());
-            myCfg.setSmtpHost(cfg.getSmtpHost());
-            myCfg.setSmtpPort(cfg.getSmtpPort());
-            myCfg.setSmtpSsl(cfg.isSmtpSsl());
-            myCfg.setSmtpUsername(cfg.getSmtpUsername());
-            myCfg.setSmtpPassword(cfg.getSmtpPassword());
-            myCfg.setAdminEmails(cfg.getAdminEmails());
-
             // REST configuration.
             myCfg.setConnectorConfiguration(clientCfg);
 
@@ -1682,40 +1667,6 @@ public class IgnitionEx {
             myCfg.setWaitForSegmentOnStart(cfg.isWaitForSegmentOnStart());
             
myCfg.setAllSegmentationResolversPassRequired(cfg.isAllSegmentationResolversPassRequired());
 
-            // Override SMTP configuration from system properties
-            // and environment variables, if specified.
-            String fromEmail = 
IgniteSystemProperties.getString(IGNITE_SMTP_FROM);
-
-            if (fromEmail != null)
-                myCfg.setSmtpFromEmail(fromEmail);
-
-            String smtpHost = 
IgniteSystemProperties.getString(IGNITE_SMTP_HOST);
-
-            if (smtpHost != null)
-                myCfg.setSmtpHost(smtpHost);
-
-            String smtpUsername = 
IgniteSystemProperties.getString(IGNITE_SMTP_USERNAME);
-
-            if (smtpUsername != null)
-                myCfg.setSmtpUsername(smtpUsername);
-
-            String smtpPwd = IgniteSystemProperties.getString(IGNITE_SMTP_PWD);
-
-            if (smtpPwd != null)
-                myCfg.setSmtpPassword(smtpPwd);
-
-            int smtpPort = IgniteSystemProperties.getInteger(IGNITE_SMTP_PORT, 
-1);
-
-            if(smtpPort != -1)
-                myCfg.setSmtpPort(smtpPort);
-
-            
myCfg.setSmtpSsl(IgniteSystemProperties.getBoolean(IGNITE_SMTP_SSL));
-
-            String adminEmails = 
IgniteSystemProperties.getString(IGNITE_ADMIN_EMAILS);
-
-            if (adminEmails != null)
-                myCfg.setAdminEmails(adminEmails.split(","));
-
             CacheConfiguration[] cacheCfgs = cfg.getCacheConfiguration();
 
             final boolean hasHadoop = IgniteComponentType.HADOOP.inClassPath();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/da1fa4e6/modules/core/src/main/java/org/apache/ignite/internal/processors/email/GridEmailHolder.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/email/GridEmailHolder.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/email/GridEmailHolder.java
deleted file mode 100644
index 7e43674..0000000
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/email/GridEmailHolder.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.processors.email;
-
-import org.apache.ignite.internal.util.future.*;
-import org.apache.ignite.internal.util.typedef.internal.*;
-
-import java.util.*;
-
-/**
- * Email holder for email processor.
- */
-class GridEmailHolder {
-    /** */
-    private String subj;
-
-    /** */
-    private String body;
-
-    /** */
-    private boolean html;
-
-    /** */
-    private Collection<String> addrs;
-
-    /** */
-    private GridFutureAdapter<Boolean> fut;
-
-    /**
-     *
-     * @param fut Associated future.
-     * @param subj Email subject.
-     * @param body Email body.
-     * @param html Whether email body is html.
-     * @param addrs Addresses to send email to.
-     */
-    GridEmailHolder(GridFutureAdapter<Boolean> fut, String subj, String body, 
boolean html, Collection<String> addrs) {
-        assert fut != null;
-        assert subj != null;
-        assert body != null;
-        assert addrs != null;
-        assert !addrs.isEmpty();
-
-        this.fut = fut;
-        this.subj = subj;
-        this.body = body;
-        this.html = html;
-        this.addrs = addrs;
-    }
-
-
-    /**
-     *
-     * @return Holder's future.
-     */
-    GridFutureAdapter<Boolean> future() {
-        return fut;
-    }
-
-    /**
-     *
-     * @return Email subject.
-     */
-    String subject() {
-        return subj;
-    }
-
-    /**
-     *
-     * @return Email body.
-     */
-    String body() {
-        return body;
-    }
-
-    /**
-     *
-     * @return Html flag.
-     */
-    boolean html() {
-        return html;
-    }
-
-    /**
-     *
-     * @return Destinations.
-     */
-    Collection<String> addresses() {
-        return addrs;
-    }
-
-    /** {@inheritDoc} */
-    @Override public String toString() {
-        return S.toString(GridEmailHolder.class, this);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/da1fa4e6/modules/core/src/main/java/org/apache/ignite/internal/processors/email/IgniteEmailProcessorAdapter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/email/IgniteEmailProcessorAdapter.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/email/IgniteEmailProcessorAdapter.java
deleted file mode 100644
index 5d8c179..0000000
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/email/IgniteEmailProcessorAdapter.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.processors.email;
-
-import org.apache.ignite.*;
-import org.apache.ignite.internal.*;
-import org.apache.ignite.internal.processors.*;
-
-import java.util.*;
-
-/**
- * Email processor.
- */
-public abstract class IgniteEmailProcessorAdapter extends GridProcessorAdapter 
{
-    /**
-     * @param ctx Kernal context.
-     */
-    protected IgniteEmailProcessorAdapter(GridKernalContext ctx) {
-        super(ctx);
-    }
-
-    /**
-     * Sends given email to all admin emails, if any, in the current thread 
blocking until it's either
-     * successfully sent or failed. If SMTP is disabled or admin emails are 
not provided - this method is no-op.
-     *
-     * @param subj Email subject.
-     * @param body Email body.
-     * @param html HTML format flag.
-     * @throws IgniteCheckedException Thrown in case of any failure on sending.
-     */
-    public abstract void sendNow(String subj, String body, boolean html) 
throws IgniteCheckedException;
-
-    /**
-     * Sends given email in the current thread blocking until it's either 
successfully sent or failed.
-     * If SMTP is disabled - this method is no-op.
-     *
-     * @param subj Email subject.
-     * @param body Email body.
-     * @param html HTML format flag.
-     * @param addrs Addresses.
-     * @throws IgniteCheckedException Thrown in case of any failure on sending.
-     */
-    public abstract void sendNow(String subj, String body, boolean html, 
Collection<String> addrs) throws IgniteCheckedException;
-
-    /**
-     * Schedules sending of given email to all admin emails, if any. If SMTP 
is disabled or admin emails
-     * are not provided - this method is no-op. Emails will be send 
asynchronously from a different thread.
-     * If email sending fails - the error log will be created for each email.
-     *
-     * @param subj Email subject.
-     * @param body Email body.
-     * @param html HTML format flag.
-     * @return Future for scheduled email.
-     */
-    public abstract IgniteInternalFuture<Boolean> schedule(String subj, String 
body, boolean html);
-
-    /**
-     * Schedules sending of given email. If SMTP is disabled - this method is 
no-op. Emails will be send
-     * asynchronously from a different thread. If email sending fails - the 
error log will be created
-     * for each email.
-     *
-     * @param subj Email subject.
-     * @param body Email body.
-     * @param html HTML format flag.
-     * @param addrs Addresses.
-     * @return Future for scheduled email.
-     */
-    public abstract IgniteInternalFuture<Boolean> schedule(String subj, String 
body, boolean html, Collection<String> addrs);
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/da1fa4e6/modules/core/src/main/java/org/apache/ignite/internal/processors/email/IgniteNoopEmailProcessor.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/email/IgniteNoopEmailProcessor.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/email/IgniteNoopEmailProcessor.java
deleted file mode 100644
index 4812f57..0000000
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/email/IgniteNoopEmailProcessor.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.processors.email;
-
-import org.apache.ignite.internal.*;
-import org.apache.ignite.internal.util.future.*;
-
-import java.util.*;
-
-/**
- * No-op implementation of {@code GridEmailProcessorAdapter}.
- */
-public class IgniteNoopEmailProcessor extends IgniteEmailProcessorAdapter {
-    /**
-     * @param ctx Kernal context.
-     */
-    public IgniteNoopEmailProcessor(GridKernalContext ctx) {
-        super(ctx);
-    }
-
-    /** {@inheritDoc} */
-    @Override public void sendNow(String subj, String body, boolean html) {
-        // No-op.
-    }
-
-    /** {@inheritDoc} */
-    @Override public void sendNow(String subj, String body, boolean html, 
Collection<String> addrs) {
-        // No-op.
-    }
-
-    /** {@inheritDoc} */
-    @Override public IgniteInternalFuture<Boolean> schedule(String subj, 
String body, boolean html) {
-        return new GridFinishedFuture<>(ctx, true);
-    }
-
-    /** {@inheritDoc} */
-    @Override public IgniteInternalFuture<Boolean> schedule(String subj, 
String body, boolean html, Collection<String> addrs) {
-        return new GridFinishedFuture<>(ctx, true);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/da1fa4e6/modules/core/src/main/java/org/apache/ignite/internal/processors/email/package.html
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/email/package.html
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/email/package.html
deleted file mode 100644
index 6247e89..0000000
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/email/package.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
-<html>
-<body>
-    <!-- Package description. -->
-    TODO.
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/da1fa4e6/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorEmailConfiguration.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorEmailConfiguration.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorEmailConfiguration.java
deleted file mode 100644
index e664535..0000000
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorEmailConfiguration.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.visor.node;
-
-import org.apache.ignite.configuration.*;
-import org.apache.ignite.internal.util.typedef.internal.*;
-
-import java.io.*;
-
-import static java.lang.System.*;
-import static org.apache.ignite.IgniteSystemProperties.*;
-import static org.apache.ignite.internal.visor.util.VisorTaskUtils.*;
-
-/**
- * Data transfer object for node email configuration properties.
- */
-public class VisorEmailConfiguration implements Serializable {
-    /** */
-    private static final long serialVersionUID = 0L;
-
-    /** SMTP host. */
-    private String smtpHost;
-
-    /** SMTP port. */
-    private int smtpPort;
-
-    /** SMTP user name. */
-    private String smtpUsername;
-
-    /** SMTP admin emails. */
-    private String adminEmails;
-
-    /** From email address. */
-    private String smtpFromEmail;
-
-    /** Whether or not to use SSL for SMTP. */
-    private boolean smtpSsl;
-
-    /** Whether or not to use TLS for SMTP. */
-    private boolean smtpStartTls;
-
-    /**
-     * @param c Grid configuration.
-     * @return Data transfer object for node email configuration properties.
-     */
-    public static VisorEmailConfiguration from(IgniteConfiguration c) {
-        VisorEmailConfiguration cfg = new VisorEmailConfiguration();
-
-        cfg.smtpHost(getProperty(IGNITE_SMTP_HOST, c.getSmtpHost()));
-        cfg.smtpPort(intValue(IGNITE_SMTP_PORT, c.getSmtpPort()));
-        cfg.smtpUsername(getProperty(IGNITE_SMTP_USERNAME, 
c.getSmtpUsername()));
-        cfg.adminEmails(getProperty(IGNITE_ADMIN_EMAILS, 
compactArray(c.getAdminEmails())));
-        cfg.smtpFromEmail(getProperty(IGNITE_SMTP_FROM, c.getSmtpFromEmail()));
-        cfg.smtpSsl(boolValue(IGNITE_SMTP_SSL, c.isSmtpSsl()));
-        cfg.smtpStartTls(boolValue(IGNITE_SMTP_STARTTLS, c.isSmtpStartTls()));
-
-        return cfg;
-    }
-
-    /**
-     * @return SMTP host.
-     */
-    public String smtpHost() {
-        return smtpHost;
-    }
-
-    /**
-     * @param smtpHost New SMTP host.
-     */
-    public void smtpHost(String smtpHost) {
-        this.smtpHost = smtpHost;
-    }
-
-    /**
-     * @return SMTP port.
-     */
-    public int smtpPort() {
-        return smtpPort;
-    }
-
-    /**
-     * @param smtpPort New SMTP port.
-     */
-    public void smtpPort(int smtpPort) {
-        this.smtpPort = smtpPort;
-    }
-
-    /**
-     * @return SMTP user name.
-     */
-    public String smtpUsername() {
-        return smtpUsername;
-    }
-
-    /**
-     * @param smtpUsername New SMTP user name.
-     */
-    public void smtpUsername(String smtpUsername) {
-        this.smtpUsername = smtpUsername;
-    }
-
-    /**
-     * @return SMTP admin emails.
-     */
-    public String adminEmails() {
-        return adminEmails;
-    }
-
-    /**
-     * @param adminEmails New SMTP admin emails.
-     */
-    public void adminEmails(String adminEmails) {
-        this.adminEmails = adminEmails;
-    }
-
-    /**
-     * @return From email address.
-     */
-    public String smtpFromEmail() {
-        return smtpFromEmail;
-    }
-
-    /**
-     * @param smtpFromEmail New from email address.
-     */
-    public void smtpFromEmail(String smtpFromEmail) {
-        this.smtpFromEmail = smtpFromEmail;
-    }
-
-    /**
-     * @return Whether or not to use SSL for SMTP.
-     */
-    public boolean smtpSsl() {
-        return smtpSsl;
-    }
-
-    /**
-     * @param smtpSsl New whether or not to use SSL for SMTP.
-     */
-    public void smtpSsl(boolean smtpSsl) {
-        this.smtpSsl = smtpSsl;
-    }
-
-    /**
-     * @return Whether or not to use TLS for SMTP.
-     */
-    public boolean smtpStartTls() {
-        return smtpStartTls;
-    }
-
-    /**
-     * @param smtpStartTls New whether or not to use TLS for SMTP.
-     */
-    public void smtpStartTls(boolean smtpStartTls) {
-        this.smtpStartTls = smtpStartTls;
-    }
-
-    /** {@inheritDoc} */
-    @Override public String toString() {
-        return S.toString(VisorEmailConfiguration.class, this);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/da1fa4e6/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorGridConfiguration.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorGridConfiguration.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorGridConfiguration.java
index 09fa368..3e037e9 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorGridConfiguration.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorGridConfiguration.java
@@ -48,9 +48,6 @@ public class VisorGridConfiguration implements Serializable {
     /** P2P. */
     private VisorPeerToPeerConfiguration p2p;
 
-    /** Email. */
-    private VisorEmailConfiguration email;
-
     /** Lifecycle. */
     private VisorLifecycleConfiguration lifecycle;
 
@@ -106,7 +103,6 @@ public class VisorGridConfiguration implements Serializable 
{
         metrics(VisorMetricsConfiguration.from(c));
         spis(VisorSpisConfiguration.from(c));
         p2p(VisorPeerToPeerConfiguration.from(c));
-        email(VisorEmailConfiguration.from(c));
         lifecycle(VisorLifecycleConfiguration.from(c));
         executeService(VisorExecutorServiceConfiguration.from(c));
         segmentation(VisorSegmentationConfiguration.from(c));
@@ -182,20 +178,6 @@ public class VisorGridConfiguration implements 
Serializable {
     }
 
     /**
-     * @return Email.
-     */
-    public VisorEmailConfiguration email() {
-        return email;
-    }
-
-    /**
-     * @param email New email.
-     */
-    public void email(VisorEmailConfiguration email) {
-        this.email = email;
-    }
-
-    /**
      * @return Lifecycle.
      */
     public VisorLifecycleConfiguration lifecycle() {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/da1fa4e6/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorLifecycleConfiguration.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorLifecycleConfiguration.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorLifecycleConfiguration.java
index 029ca8d..723fbee 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorLifecycleConfiguration.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorLifecycleConfiguration.java
@@ -23,7 +23,6 @@ import org.jetbrains.annotations.*;
 
 import java.io.*;
 
-import static org.apache.ignite.IgniteSystemProperties.*;
 import static org.apache.ignite.internal.visor.util.VisorTaskUtils.*;
 
 /**
@@ -36,9 +35,6 @@ public class VisorLifecycleConfiguration implements 
Serializable {
     /** Lifecycle beans. */
     private String beans;
 
-    /** Whether or not email notifications should be used on node start and 
stop. */
-    private boolean ntf;
-
     /**
      * @param c Grid configuration.
      * @return Data transfer object for node lifecycle configuration 
properties.
@@ -47,7 +43,6 @@ public class VisorLifecycleConfiguration implements 
Serializable {
         VisorLifecycleConfiguration cfg = new VisorLifecycleConfiguration();
 
         cfg.beans(compactArray(c.getLifecycleBeans()));
-        cfg.emailNotification(boolValue(IGNITE_LIFECYCLE_EMAIL_NOTIFY, 
c.isLifeCycleEmailNotification()));
 
         return cfg;
     }
@@ -66,20 +61,6 @@ public class VisorLifecycleConfiguration implements 
Serializable {
         this.beans = beans;
     }
 
-    /**
-     * @return Whether or not email notifications should be used on node start 
and stop.
-     */
-    public boolean emailNotification() {
-        return ntf;
-    }
-
-    /**
-     * @param ntf New whether or not email notifications should be used on 
node start and stop.
-     */
-    public void emailNotification(boolean ntf) {
-        this.ntf = ntf;
-    }
-
     /** {@inheritDoc} */
     @Override public String toString() {
         return S.toString(VisorLifecycleConfiguration.class, this);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/da1fa4e6/modules/email/licenses/apache-2.0.txt
----------------------------------------------------------------------
diff --git a/modules/email/licenses/apache-2.0.txt 
b/modules/email/licenses/apache-2.0.txt
deleted file mode 100644
index d645695..0000000
--- a/modules/email/licenses/apache-2.0.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/da1fa4e6/modules/email/pom.xml
----------------------------------------------------------------------
diff --git a/modules/email/pom.xml b/modules/email/pom.xml
deleted file mode 100644
index 50d03b9..0000000
--- a/modules/email/pom.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-
-<!--
-    POM file.
--->
-<project
-        xmlns="http://maven.apache.org/POM/4.0.0";
-        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.ignite</groupId>
-        <artifactId>ignite</artifactId>
-        <version>${ignite.version}</version>
-        <relativePath>../../</relativePath>
-    </parent>
-
-    <artifactId>ignite-email</artifactId>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.ignite</groupId>
-            <artifactId>ignite-core</artifactId>
-            <version>${ignite.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>com.sun.mail</groupId>
-            <artifactId>javax.mail</artifactId>
-            <version>1.5.2</version>
-        </dependency>
-    </dependencies>
-</project>

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/da1fa4e6/modules/email/readme.txt
----------------------------------------------------------------------
diff --git a/modules/email/readme.txt b/modules/email/readme.txt
deleted file mode 100644
index 2e434de..0000000
--- a/modules/email/readme.txt
+++ /dev/null
@@ -1,34 +0,0 @@
-Apache Ignite Email Module
---------------------------
-
-Apache Ignite email module enables Apache Ignite to send emails in critical 
situations such as license
-expiration or fatal system errors (this should be also configured via 
'GridConfiguration.setSmtpXXX(..)'
-configuration properties).
-
-To enable email module when starting a standalone node, move 
'optional/ignite-email' folder to
-'libs' folder before running 'ignite.{sh|bat}' script. The content of the 
module folder will
-be added to classpath in this case.
-
-Importing email Module In Maven Project
----------------------------------------
-
-If you are using Maven to manage dependencies of your project, you can add 
email module
-dependency like this (replace '${ignite.version}' with actual Ignite version 
you are
-interested in):
-
-<project xmlns="http://maven.apache.org/POM/4.0.0";
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
-                        http://maven.apache.org/xsd/maven-4.0.0.xsd";>
-    ...
-    <dependencies>
-        ...
-        <dependency>
-            <groupId>org.apache.ignite</groupId>
-            <artifactId>ignite-email</artifactId>
-            <version>${ignite.version}</version>
-        </dependency>
-        ...
-    </dependencies>
-    ...
-</project>

Reply via email to