wp_network_admin_email_change_notification

The timeline below displays how wordpress function wp_network_admin_email_change_notification has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 6.1

/**
 * Sends an email to the old network admin email address when the network admin email address changes.
 *
 * @since 4.9.0
 *
 * @param string $option_name The relevant database option name.
 * @param string $new_email   The new network admin email address.
 * @param string $old_email   The old network admin email address.
 * @param int    $network_id  ID of the network.
 */
function wp_network_admin_email_change_notification($option_name, $new_email, $old_email, $network_id)
{
    $send = true;
    // Don't send the notification to the default 'admin_email' value.
    if ('you@example.com' === $old_email) {
        $send = false;
    }
    /**
     * Filters whether to send the network admin email change notification email.
     *
     * @since 4.9.0
     *
     * @param bool   $send       Whether to send the email notification.
     * @param string $old_email  The old network admin email address.
     * @param string $new_email  The new network admin email address.
     * @param int    $network_id ID of the network.
     */
    $send = apply_filters('send_network_admin_email_change_email', $send, $old_email, $new_email, $network_id);
    if (!$send) {
        return;
    }
    /* translators: Do not translate OLD_EMAIL, NEW_EMAIL, SITENAME, SITEURL: those are placeholders. */
    $email_change_text = __('Hi,

This notice confirms that the network admin email address was changed on ###SITENAME###.

The new network admin email address is ###NEW_EMAIL###.

This email has been sent to ###OLD_EMAIL###

Regards,
All at ###SITENAME###
###SITEURL###');
    $email_change_email = array(
        'to' => $old_email,
        /* translators: Network admin email change notification email subject. %s: Network title. */
        'subject' => __('[%s] Network Admin Email Changed'),
        'message' => $email_change_text,
        'headers' => '',
    );
    // Get network name.
    $network_name = wp_specialchars_decode(get_site_option('site_name'), ENT_QUOTES);
    /**
     * Filters the contents of the email notification sent when the network admin email address is changed.
     *
     * @since 4.9.0
     *
     * @param array $email_change_email {
     *     Used to build wp_mail().
     *
     *     @type string $to      The intended recipient.
     *     @type string $subject The subject of the email.
     *     @type string $message The content of the email.
     *         The following strings have a special meaning and will get replaced dynamically:
     *         - ###OLD_EMAIL### The old network admin email address.
     *         - ###NEW_EMAIL### The new network admin email address.
     *         - ###SITENAME###  The name of the network.
     *         - ###SITEURL###   The URL to the site.
     *     @type string $headers Headers.
     * }
     * @param string $old_email  The old network admin email address.
     * @param string $new_email  The new network admin email address.
     * @param int    $network_id ID of the network.
     */
    $email_change_email = apply_filters('network_admin_email_change_email', $email_change_email, $old_email, $new_email, $network_id);
    $email_change_email['message'] = str_replace('###OLD_EMAIL###', $old_email, $email_change_email['message']);
    $email_change_email['message'] = str_replace('###NEW_EMAIL###', $new_email, $email_change_email['message']);
    $email_change_email['message'] = str_replace('###SITENAME###', $network_name, $email_change_email['message']);
    $email_change_email['message'] = str_replace('###SITEURL###', home_url(), $email_change_email['message']);
    wp_mail($email_change_email['to'], sprintf($email_change_email['subject'], $network_name), $email_change_email['message'], $email_change_email['headers']);
}

WordPress Version: 5.6

/**
 * Send an email to the old network admin email address when the network admin email address changes.
 *
 * @since 4.9.0
 *
 * @param string $option_name The relevant database option name.
 * @param string $new_email   The new network admin email address.
 * @param string $old_email   The old network admin email address.
 * @param int    $network_id  ID of the network.
 */
function wp_network_admin_email_change_notification($option_name, $new_email, $old_email, $network_id)
{
    $send = true;
    // Don't send the notification to the default 'admin_email' value.
    if ('you@example.com' === $old_email) {
        $send = false;
    }
    /**
     * Filters whether to send the network admin email change notification email.
     *
     * @since 4.9.0
     *
     * @param bool   $send       Whether to send the email notification.
     * @param string $old_email  The old network admin email address.
     * @param string $new_email  The new network admin email address.
     * @param int    $network_id ID of the network.
     */
    $send = apply_filters('send_network_admin_email_change_email', $send, $old_email, $new_email, $network_id);
    if (!$send) {
        return;
    }
    /* translators: Do not translate OLD_EMAIL, NEW_EMAIL, SITENAME, SITEURL: those are placeholders. */
    $email_change_text = __('Hi,

This notice confirms that the network admin email address was changed on ###SITENAME###.

The new network admin email address is ###NEW_EMAIL###.

This email has been sent to ###OLD_EMAIL###

Regards,
All at ###SITENAME###
###SITEURL###');
    $email_change_email = array(
        'to' => $old_email,
        /* translators: Network admin email change notification email subject. %s: Network title. */
        'subject' => __('[%s] Network Admin Email Changed'),
        'message' => $email_change_text,
        'headers' => '',
    );
    // Get network name.
    $network_name = wp_specialchars_decode(get_site_option('site_name'), ENT_QUOTES);
    /**
     * Filters the contents of the email notification sent when the network admin email address is changed.
     *
     * @since 4.9.0
     *
     * @param array $email_change_email {
     *     Used to build wp_mail().
     *
     *     @type string $to      The intended recipient.
     *     @type string $subject The subject of the email.
     *     @type string $message The content of the email.
     *         The following strings have a special meaning and will get replaced dynamically:
     *         - ###OLD_EMAIL### The old network admin email address.
     *         - ###NEW_EMAIL### The new network admin email address.
     *         - ###SITENAME###  The name of the network.
     *         - ###SITEURL###   The URL to the site.
     *     @type string $headers Headers.
     * }
     * @param string $old_email  The old network admin email address.
     * @param string $new_email  The new network admin email address.
     * @param int    $network_id ID of the network.
     */
    $email_change_email = apply_filters('network_admin_email_change_email', $email_change_email, $old_email, $new_email, $network_id);
    $email_change_email['message'] = str_replace('###OLD_EMAIL###', $old_email, $email_change_email['message']);
    $email_change_email['message'] = str_replace('###NEW_EMAIL###', $new_email, $email_change_email['message']);
    $email_change_email['message'] = str_replace('###SITENAME###', $network_name, $email_change_email['message']);
    $email_change_email['message'] = str_replace('###SITEURL###', home_url(), $email_change_email['message']);
    wp_mail($email_change_email['to'], sprintf($email_change_email['subject'], $network_name), $email_change_email['message'], $email_change_email['headers']);
}

WordPress Version: 5.4

/**
 * Send an email to the old network admin email address when the network admin email address changes.
 *
 * @since 4.9.0
 *
 * @param string $option_name The relevant database option name.
 * @param string $new_email   The new network admin email address.
 * @param string $old_email   The old network admin email address.
 * @param int    $network_id  ID of the network.
 */
function wp_network_admin_email_change_notification($option_name, $new_email, $old_email, $network_id)
{
    $send = true;
    // Don't send the notification to the default 'admin_email' value.
    if ('you@example.com' === $old_email) {
        $send = false;
    }
    /**
     * Filters whether to send the network admin email change notification email.
     *
     * @since 4.9.0
     *
     * @param bool   $send       Whether to send the email notification.
     * @param string $old_email  The old network admin email address.
     * @param string $new_email  The new network admin email address.
     * @param int    $network_id ID of the network.
     */
    $send = apply_filters('send_network_admin_email_change_email', $send, $old_email, $new_email, $network_id);
    if (!$send) {
        return;
    }
    /* translators: Do not translate OLD_EMAIL, NEW_EMAIL, SITENAME, SITEURL: those are placeholders. */
    $email_change_text = __('Hi,

This notice confirms that the network admin email address was changed on ###SITENAME###.

The new network admin email address is ###NEW_EMAIL###.

This email has been sent to ###OLD_EMAIL###

Regards,
All at ###SITENAME###
###SITEURL###');
    $email_change_email = array(
        'to' => $old_email,
        /* translators: Network admin email change notification email subject. %s: Network title. */
        'subject' => __('[%s] Network Admin Email Changed'),
        'message' => $email_change_text,
        'headers' => '',
    );
    // Get network name.
    $network_name = wp_specialchars_decode(get_site_option('site_name'), ENT_QUOTES);
    /**
     * Filters the contents of the email notification sent when the network admin email address is changed.
     *
     * @since 4.9.0
     *
     * @param array $email_change_email {
     *            Used to build wp_mail().
     *
     *            @type string $to      The intended recipient.
     *            @type string $subject The subject of the email.
     *            @type string $message The content of the email.
     *                The following strings have a special meaning and will get replaced dynamically:
     *                - ###OLD_EMAIL### The old network admin email address.
     *                - ###NEW_EMAIL### The new network admin email address.
     *                - ###SITENAME###  The name of the network.
     *                - ###SITEURL###   The URL to the site.
     *            @type string $headers Headers.
     *        }
     * @param string $old_email  The old network admin email address.
     * @param string $new_email  The new network admin email address.
     * @param int    $network_id ID of the network.
     */
    $email_change_email = apply_filters('network_admin_email_change_email', $email_change_email, $old_email, $new_email, $network_id);
    $email_change_email['message'] = str_replace('###OLD_EMAIL###', $old_email, $email_change_email['message']);
    $email_change_email['message'] = str_replace('###NEW_EMAIL###', $new_email, $email_change_email['message']);
    $email_change_email['message'] = str_replace('###SITENAME###', $network_name, $email_change_email['message']);
    $email_change_email['message'] = str_replace('###SITEURL###', home_url(), $email_change_email['message']);
    wp_mail($email_change_email['to'], sprintf($email_change_email['subject'], $network_name), $email_change_email['message'], $email_change_email['headers']);
}

WordPress Version: 5.3

/**
 * Send an email to the old network admin email address when the network admin email address changes.
 *
 * @since 4.9.0
 *
 * @param string $option_name The relevant database option name.
 * @param string $new_email   The new network admin email address.
 * @param string $old_email   The old network admin email address.
 * @param int    $network_id  ID of the network.
 */
function wp_network_admin_email_change_notification($option_name, $new_email, $old_email, $network_id)
{
    $send = true;
    // Don't send the notification to the default 'admin_email' value.
    if ('you@example.com' === $old_email) {
        $send = false;
    }
    /**
     * Filters whether to send the network admin email change notification email.
     *
     * @since 4.9.0
     *
     * @param bool   $send       Whether to send the email notification.
     * @param string $old_email  The old network admin email address.
     * @param string $new_email  The new network admin email address.
     * @param int    $network_id ID of the network.
     */
    $send = apply_filters('send_network_admin_email_change_email', $send, $old_email, $new_email, $network_id);
    if (!$send) {
        return;
    }
    /* translators: Do not translate OLD_EMAIL, NEW_EMAIL, SITENAME, SITEURL: those are placeholders. */
    $email_change_text = __('Hi,

This notice confirms that the network admin email address was changed on ###SITENAME###.

The new network admin email address is ###NEW_EMAIL###.

This email has been sent to ###OLD_EMAIL###

Regards,
All at ###SITENAME###
###SITEURL###');
    $email_change_email = array(
        'to' => $old_email,
        /* translators: Network admin email change notification email subject. %s: Network title. */
        'subject' => __('[%s] Network Admin Email Changed'),
        'message' => $email_change_text,
        'headers' => '',
    );
    // get network name
    $network_name = wp_specialchars_decode(get_site_option('site_name'), ENT_QUOTES);
    /**
     * Filters the contents of the email notification sent when the network admin email address is changed.
     *
     * @since 4.9.0
     *
     * @param array $email_change_email {
     *            Used to build wp_mail().
     *
     *            @type string $to      The intended recipient.
     *            @type string $subject The subject of the email.
     *            @type string $message The content of the email.
     *                The following strings have a special meaning and will get replaced dynamically:
     *                - ###OLD_EMAIL### The old network admin email address.
     *                - ###NEW_EMAIL### The new network admin email address.
     *                - ###SITENAME###  The name of the network.
     *                - ###SITEURL###   The URL to the site.
     *            @type string $headers Headers.
     *        }
     * @param string $old_email  The old network admin email address.
     * @param string $new_email  The new network admin email address.
     * @param int    $network_id ID of the network.
     */
    $email_change_email = apply_filters('network_admin_email_change_email', $email_change_email, $old_email, $new_email, $network_id);
    $email_change_email['message'] = str_replace('###OLD_EMAIL###', $old_email, $email_change_email['message']);
    $email_change_email['message'] = str_replace('###NEW_EMAIL###', $new_email, $email_change_email['message']);
    $email_change_email['message'] = str_replace('###SITENAME###', $network_name, $email_change_email['message']);
    $email_change_email['message'] = str_replace('###SITEURL###', home_url(), $email_change_email['message']);
    wp_mail($email_change_email['to'], sprintf($email_change_email['subject'], $network_name), $email_change_email['message'], $email_change_email['headers']);
}

WordPress Version: 5.2

/**
 * Send an email to the old network admin email address when the network admin email address changes.
 *
 * @since 4.9.0
 *
 * @param string $option_name The relevant database option name.
 * @param string $new_email   The new network admin email address.
 * @param string $old_email   The old network admin email address.
 * @param int    $network_id  ID of the network.
 */
function wp_network_admin_email_change_notification($option_name, $new_email, $old_email, $network_id)
{
    $send = true;
    // Don't send the notification to the default 'admin_email' value.
    if ('you@example.com' === $old_email) {
        $send = false;
    }
    /**
     * Filters whether to send the network admin email change notification email.
     *
     * @since 4.9.0
     *
     * @param bool   $send       Whether to send the email notification.
     * @param string $old_email  The old network admin email address.
     * @param string $new_email  The new network admin email address.
     * @param int    $network_id ID of the network.
     */
    $send = apply_filters('send_network_admin_email_change_email', $send, $old_email, $new_email, $network_id);
    if (!$send) {
        return;
    }
    /* translators: Do not translate OLD_EMAIL, NEW_EMAIL, SITENAME, SITEURL: those are placeholders. */
    $email_change_text = __('Hi,

This notice confirms that the network admin email address was changed on ###SITENAME###.

The new network admin email address is ###NEW_EMAIL###.

This email has been sent to ###OLD_EMAIL###

Regards,
All at ###SITENAME###
###SITEURL###');
    $email_change_email = array(
        'to' => $old_email,
        /* translators: Network admin email change notification email subject. %s: Network title */
        'subject' => __('[%s] Network Admin Email Changed'),
        'message' => $email_change_text,
        'headers' => '',
    );
    // get network name
    $network_name = wp_specialchars_decode(get_site_option('site_name'), ENT_QUOTES);
    /**
     * Filters the contents of the email notification sent when the network admin email address is changed.
     *
     * @since 4.9.0
     *
     * @param array $email_change_email {
     *            Used to build wp_mail().
     *
     *            @type string $to      The intended recipient.
     *            @type string $subject The subject of the email.
     *            @type string $message The content of the email.
     *                The following strings have a special meaning and will get replaced dynamically:
     *                - ###OLD_EMAIL### The old network admin email address.
     *                - ###NEW_EMAIL### The new network admin email address.
     *                - ###SITENAME###  The name of the network.
     *                - ###SITEURL###   The URL to the site.
     *            @type string $headers Headers.
     *        }
     * @param string $old_email  The old network admin email address.
     * @param string $new_email  The new network admin email address.
     * @param int    $network_id ID of the network.
     */
    $email_change_email = apply_filters('network_admin_email_change_email', $email_change_email, $old_email, $new_email, $network_id);
    $email_change_email['message'] = str_replace('###OLD_EMAIL###', $old_email, $email_change_email['message']);
    $email_change_email['message'] = str_replace('###NEW_EMAIL###', $new_email, $email_change_email['message']);
    $email_change_email['message'] = str_replace('###SITENAME###', $network_name, $email_change_email['message']);
    $email_change_email['message'] = str_replace('###SITEURL###', home_url(), $email_change_email['message']);
    wp_mail($email_change_email['to'], sprintf($email_change_email['subject'], $network_name), $email_change_email['message'], $email_change_email['headers']);
}

WordPress Version: .20

/**
 * Send an email to the old network admin email address when the network admin email address changes.
 *
 * @since 4.9.0
 *
 * @param string $option_name The relevant database option name.
 * @param string $new_email   The new network admin email address.
 * @param string $old_email   The old network admin email address.
 * @param int    $network_id  ID of the network.
 */
function wp_network_admin_email_change_notification($option_name, $new_email, $old_email, $network_id)
{
    $send = true;
    // Don't send the notification to the default 'admin_email' value.
    if ('you@example.com' === $old_email) {
        $send = false;
    }
    /**
     * Filters whether to send the network admin email change notification email.
     *
     * @since 4.9.0
     *
     * @param bool   $send       Whether to send the email notification.
     * @param string $old_email  The old network admin email address.
     * @param string $new_email  The new network admin email address.
     * @param int    $network_id ID of the network.
     */
    $send = apply_filters('send_network_admin_email_change_email', $send, $old_email, $new_email, $network_id);
    if (!$send) {
        return;
    }
    /* translators: Do not translate OLD_EMAIL, NEW_EMAIL, SITENAME, SITEURL: those are placeholders. */
    $email_change_text = __('Hi,

This notice confirms that the network admin email address was changed on ###SITENAME###.

The new network admin email address is ###NEW_EMAIL###.

This email has been sent to ###OLD_EMAIL###

Regards,
All at ###SITENAME###
###SITEURL###');
    $email_change_email = array(
        'to' => $old_email,
        /* translators: Network admin email change notification email subject. %s: Network title */
        'subject' => __('[%s] Notice of Network Admin Email Change'),
        'message' => $email_change_text,
        'headers' => '',
    );
    // get network name
    $network_name = wp_specialchars_decode(get_site_option('site_name'), ENT_QUOTES);
    /**
     * Filters the contents of the email notification sent when the network admin email address is changed.
     *
     * @since 4.9.0
     *
     * @param array $email_change_email {
     *            Used to build wp_mail().
     *
     *            @type string $to      The intended recipient.
     *            @type string $subject The subject of the email.
     *            @type string $message The content of the email.
     *                The following strings have a special meaning and will get replaced dynamically:
     *                - ###OLD_EMAIL### The old network admin email address.
     *                - ###NEW_EMAIL### The new network admin email address.
     *                - ###SITENAME###  The name of the network.
     *                - ###SITEURL###   The URL to the site.
     *            @type string $headers Headers.
     *        }
     * @param string $old_email  The old network admin email address.
     * @param string $new_email  The new network admin email address.
     * @param int    $network_id ID of the network.
     */
    $email_change_email = apply_filters('network_admin_email_change_email', $email_change_email, $old_email, $new_email, $network_id);
    $email_change_email['message'] = str_replace('###OLD_EMAIL###', $old_email, $email_change_email['message']);
    $email_change_email['message'] = str_replace('###NEW_EMAIL###', $new_email, $email_change_email['message']);
    $email_change_email['message'] = str_replace('###SITENAME###', $network_name, $email_change_email['message']);
    $email_change_email['message'] = str_replace('###SITEURL###', home_url(), $email_change_email['message']);
    wp_mail($email_change_email['to'], sprintf($email_change_email['subject'], $network_name), $email_change_email['message'], $email_change_email['headers']);
}

WordPress Version: 9.2

/**
 * Send an email to the old network admin email address when the network admin email address changes.
 *
 * @since 4.9.0
 *
 * @param string $option_name The relevant database option name.
 * @param string $new_email   The new network admin email address.
 * @param string $old_email   The old network admin email address.
 * @param int    $network_id  ID of the network.
 */
function wp_network_admin_email_change_notification($option_name, $new_email, $old_email, $network_id)
{
    /**
     * Filters whether to send the network admin email change notification email.
     *
     * @since 4.9.0
     *
     * @param bool   $send       Whether to send the email notification.
     * @param string $old_email  The old network admin email address.
     * @param string $new_email  The new network admin email address.
     * @param int    $network_id ID of the network.
     */
    $send = apply_filters('send_network_admin_email_change_email', true, $old_email, $new_email, $network_id);
    if (!$send) {
        return;
    }
    /* translators: Do not translate OLD_EMAIL, NEW_EMAIL, SITENAME, SITEURL: those are placeholders. */
    $email_change_text = __('Hi,

This notice confirms that the network admin email address was changed on ###SITENAME###.

The new network admin email address is ###NEW_EMAIL###.

This email has been sent to ###OLD_EMAIL###

Regards,
All at ###SITENAME###
###SITEURL###');
    $email_change_email = array(
        'to' => $old_email,
        /* translators: Network admin email change notification email subject. %s: Network title */
        'subject' => __('[%s] Notice of Network Admin Email Change'),
        'message' => $email_change_text,
        'headers' => '',
    );
    // get network name
    $network_name = wp_specialchars_decode(get_site_option('site_name'), ENT_QUOTES);
    /**
     * Filters the contents of the email notification sent when the network admin email address is changed.
     *
     * @since 4.9.0
     *
     * @param array $email_change_email {
     *            Used to build wp_mail().
     *
     *            @type string $to      The intended recipient.
     *            @type string $subject The subject of the email.
     *            @type string $message The content of the email.
     *                The following strings have a special meaning and will get replaced dynamically:
     *                - ###OLD_EMAIL### The old network admin email address.
     *                - ###NEW_EMAIL### The new network admin email address.
     *                - ###SITENAME###  The name of the network.
     *                - ###SITEURL###   The URL to the site.
     *            @type string $headers Headers.
     *        }
     * @param string $old_email  The old network admin email address.
     * @param string $new_email  The new network admin email address.
     * @param int    $network_id ID of the network.
     */
    $email_change_email = apply_filters('network_admin_email_change_email', $email_change_email, $old_email, $new_email, $network_id);
    $email_change_email['message'] = str_replace('###OLD_EMAIL###', $old_email, $email_change_email['message']);
    $email_change_email['message'] = str_replace('###NEW_EMAIL###', $new_email, $email_change_email['message']);
    $email_change_email['message'] = str_replace('###SITENAME###', $network_name, $email_change_email['message']);
    $email_change_email['message'] = str_replace('###SITEURL###', home_url(), $email_change_email['message']);
    wp_mail($email_change_email['to'], sprintf($email_change_email['subject'], $network_name), $email_change_email['message'], $email_change_email['headers']);
}

WordPress Version: .10

/**
 * Send an email to the old network admin email address when the network admin email address changes.
 *
 * @since 4.9.0
 *
 * @param string $option_name The relevant database option name.
 * @param string $new_email   The new network admin email address.
 * @param string $old_email   The old network admin email address.
 * @param int    $network_id  ID of the network.
 */
function wp_network_admin_email_change_notification($option_name, $new_email, $old_email, $network_id)
{
    $send = true;
    // Don't send the notification to the default 'admin_email' value.
    if ('you@example.com' === $old_email) {
        $send = false;
    }
    /**
     * Filters whether to send the network admin email change notification email.
     *
     * @since 4.9.0
     *
     * @param bool   $send       Whether to send the email notification.
     * @param string $old_email  The old network admin email address.
     * @param string $new_email  The new network admin email address.
     * @param int    $network_id ID of the network.
     */
    $send = apply_filters('send_network_admin_email_change_email', $send, $old_email, $new_email, $network_id);
    if (!$send) {
        return;
    }
    /* translators: Do not translate OLD_EMAIL, NEW_EMAIL, SITENAME, SITEURL: those are placeholders. */
    $email_change_text = __('Hi,

This notice confirms that the network admin email address was changed on ###SITENAME###.

The new network admin email address is ###NEW_EMAIL###.

This email has been sent to ###OLD_EMAIL###

Regards,
All at ###SITENAME###
###SITEURL###');
    $email_change_email = array(
        'to' => $old_email,
        /* translators: Network admin email change notification email subject. %s: Network title */
        'subject' => __('[%s] Notice of Network Admin Email Change'),
        'message' => $email_change_text,
        'headers' => '',
    );
    // get network name
    $network_name = wp_specialchars_decode(get_site_option('site_name'), ENT_QUOTES);
    /**
     * Filters the contents of the email notification sent when the network admin email address is changed.
     *
     * @since 4.9.0
     *
     * @param array $email_change_email {
     *            Used to build wp_mail().
     *
     *            @type string $to      The intended recipient.
     *            @type string $subject The subject of the email.
     *            @type string $message The content of the email.
     *                The following strings have a special meaning and will get replaced dynamically:
     *                - ###OLD_EMAIL### The old network admin email address.
     *                - ###NEW_EMAIL### The new network admin email address.
     *                - ###SITENAME###  The name of the network.
     *                - ###SITEURL###   The URL to the site.
     *            @type string $headers Headers.
     *        }
     * @param string $old_email  The old network admin email address.
     * @param string $new_email  The new network admin email address.
     * @param int    $network_id ID of the network.
     */
    $email_change_email = apply_filters('network_admin_email_change_email', $email_change_email, $old_email, $new_email, $network_id);
    $email_change_email['message'] = str_replace('###OLD_EMAIL###', $old_email, $email_change_email['message']);
    $email_change_email['message'] = str_replace('###NEW_EMAIL###', $new_email, $email_change_email['message']);
    $email_change_email['message'] = str_replace('###SITENAME###', $network_name, $email_change_email['message']);
    $email_change_email['message'] = str_replace('###SITEURL###', home_url(), $email_change_email['message']);
    wp_mail($email_change_email['to'], sprintf($email_change_email['subject'], $network_name), $email_change_email['message'], $email_change_email['headers']);
}

WordPress Version: 4.9

/**
 * Send an email to the old network admin email address when the network admin email address changes.
 *
 * @since 4.9.0
 *
 * @param string $option_name The relevant database option name.
 * @param string $new_email   The new network admin email address.
 * @param string $old_email   The old network admin email address.
 * @param int    $network_id  ID of the network.
 */
function wp_network_admin_email_change_notification($option_name, $new_email, $old_email, $network_id)
{
    /**
     * Filters whether to send the network admin email change notification email.
     *
     * @since 4.9.0
     *
     * @param bool   $send       Whether to send the email notification.
     * @param string $old_email  The old network admin email address.
     * @param string $new_email  The new network admin email address.
     * @param int    $network_id ID of the network.
     */
    $send = apply_filters('send_network_admin_email_change_email', true, $old_email, $new_email, $network_id);
    if (!$send) {
        return;
    }
    /* translators: Do not translate OLD_EMAIL, NEW_EMAIL, SITENAME, SITEURL: those are placeholders. */
    $email_change_text = __('Hi,

This notice confirms that the network admin email address was changed on ###SITENAME###.

The new network admin email address is ###NEW_EMAIL###.

This email has been sent to ###OLD_EMAIL###

Regards,
All at ###SITENAME###
###SITEURL###');
    $email_change_email = array(
        'to' => $old_email,
        /* translators: Network admin email change notification email subject. %s: Network title */
        'subject' => __('[%s] Notice of Network Admin Email Change'),
        'message' => $email_change_text,
        'headers' => '',
    );
    // get network name
    $network_name = wp_specialchars_decode(get_site_option('site_name'), ENT_QUOTES);
    /**
     * Filters the contents of the email notification sent when the network admin email address is changed.
     *
     * @since 4.9.0
     *
     * @param array $email_change_email {
     *            Used to build wp_mail().
     *
     *            @type string $to      The intended recipient.
     *            @type string $subject The subject of the email.
     *            @type string $message The content of the email.
     *                The following strings have a special meaning and will get replaced dynamically:
     *                - ###OLD_EMAIL### The old network admin email address.
     *                - ###NEW_EMAIL### The new network admin email address.
     *                - ###SITENAME###  The name of the network.
     *                - ###SITEURL###   The URL to the site.
     *            @type string $headers Headers.
     *        }
     * @param string $old_email  The old network admin email address.
     * @param string $new_email  The new network admin email address.
     * @param int    $network_id ID of the network.
     */
    $email_change_email = apply_filters('network_admin_email_change_email', $email_change_email, $old_email, $new_email, $network_id);
    $email_change_email['message'] = str_replace('###OLD_EMAIL###', $old_email, $email_change_email['message']);
    $email_change_email['message'] = str_replace('###NEW_EMAIL###', $new_email, $email_change_email['message']);
    $email_change_email['message'] = str_replace('###SITENAME###', $network_name, $email_change_email['message']);
    $email_change_email['message'] = str_replace('###SITEURL###', home_url(), $email_change_email['message']);
    wp_mail($email_change_email['to'], sprintf($email_change_email['subject'], $network_name), $email_change_email['message'], $email_change_email['headers']);
}