Send Email. Version: 0.9 Author: kojak711 Domain Path: /languages Text Domain: sefa Send Email From Admin is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Send Email From Admin is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Send Email From Admin. If not, see . */ # Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } define('SEFA_PLUGIN_DIR_URL', plugin_dir_url( __FILE__ )); /** * Add our sub menu in the Tools menu * * @since 0.9 */ function sefa_plugin_admin_menu() { add_submenu_page( 'tools.php', 'Send Email From Admin', 'Send Email', 'manage_options', 'sefa_email', 'sefa_plugin_main' ); } add_action( 'admin_menu', 'sefa_plugin_admin_menu' ); /** * Load our css and js. * * @since 0.9 */ function sefa_plugin_init() { wp_enqueue_style( 'sefa_admin_css', SEFA_PLUGIN_DIR_URL . '/css/sefa.css' ); wp_enqueue_script( 'sefa_admin_js', SEFA_PLUGIN_DIR_URL . '/js/sefa.js', array('jquery')); } add_action( 'admin_enqueue_scripts', 'sefa_plugin_init' ); /** * Register our text domain. * * @since 0.9 */ function sefa_plugin_load_textdomain() { load_plugin_textdomain( 'sefa', false, plugin_basename( dirname( __FILE__ ) ) . '/languages' ); } add_action('plugins_loaded', 'sefa_plugin_load_textdomain'); /** * Our main function to display and * process our form * @since 0.9 */ function sefa_plugin_main() { // get site info to construct 'FROM' for email $from_name = wp_specialchars_decode( get_option('blogname'), ENT_QUOTES ); $from_email = get_bloginfo('admin_email'); // initialize $send_mail_message = false; if ( !empty( $_POST ) && check_admin_referer( 'sefa_send_email', 'sefa-form-nonce' ) ) { // handle attachment $attachment_path = ''; if ( $_FILES ) { if ( !function_exists( 'wp_handle_upload' ) ) { require_once( ABSPATH . 'wp-admin/includes/file.php' ); } $uploaded_file = $_FILES['attachment']; $upload_overrides = array( 'test_form' => false ); $attachment = wp_handle_upload( $uploaded_file, $upload_overrides ); if ( $attachment && !isset( $attachment['error'] ) ) { // file was successfully uploaded $attachment_path = $attachment['file']; } else { // echo $attachment['error']; } } // get the posted form values $sefa_recipient_emails = isset( $_POST['sefa_recipient_emails'] ) ? trim($_POST['sefa_recipient_emails']) : ''; $sefa_subject = isset( $_POST['sefa_subject'] ) ? trim($_POST['sefa_subject']) : ''; $sefa_body = isset( $_POST['sefa_body'] ) ? nl2br($_POST['sefa_body']) : ''; $sefa_group_email = isset( $_POST['sefa_group_email'] ) ? trim($_POST['sefa_group_email']) : 'no'; $recipients = explode( ',',$sefa_recipient_emails ); // initialize some vars $errors = array(); $valid_email = true; // simple form validation if ( empty( $sefa_recipient_emails ) ) { $errors[] = __( "Please enter an email recipient in the To: field.", 'sefa' ); } else { // Loop through each email and validate it foreach( $recipients as $recipient ) { if ( !filter_var( trim($recipient), FILTER_VALIDATE_EMAIL ) ) { $valid_email = false; break; } } // create appropriate error msg if ( !$valid_email ) { $errors[] = _n( "The To: email address appears to be invalid.", "One of the To: email addresses appears to be invalid.", count($recipients), 'sefa' ); } } if ( empty($sefa_subject) ) $errors[] = __( "Please enter a Subject.", 'sefa' ); if ( empty($sefa_body) ) $errors[] = __( "Please enter a Message.", 'sefa' ); // send the email if no errors were found if ( empty($errors) ) { $headers[] = "Content-Type: text/html; charset=\"" . get_option('blog_charset') . "\"\n"; $headers[] = 'From: ' . $from_name . ' <' . $from_email . ">\r\n"; $attachments = $attachment_path; if ( $sefa_group_email === 'yes' ) { if ( wp_mail( $sefa_recipient_emails, $sefa_subject, $sefa_body, $headers, $attachments ) ) { $send_mail_message = '
' . __( 'Your email has been successfully sent!', 'sefa' ) . '
'; } else { $send_mail_message = '
' . __( 'There was an error sending the email.', 'sefa' ) . '
'; } } else { foreach( $recipients as $recipient ) { if ( wp_mail( $recipient, $sefa_subject, $sefa_body, $headers, $attachments ) ) { $send_mail_message .= '
' . __( 'Your email has been successfully sent to ', 'sefa' ) . esc_html($recipient) . '!
'; } else { $send_mail_message .= '
' . __( 'There was an error sending the email to ', 'sefa' ) . esc_html($recipient) . '
'; } } } } } ?>

\n"; } ?>
'; if ( !empty($errors) ) { echo '
'; foreach ($errors as $error) { echo "$error
"; } echo "
\n"; } if ( $send_mail_message ) { echo $send_mail_message; } echo "
From: ">
General.', 'sefa' ); ?>
To:
   >
Subject:
Message: "200" ); wp_editor( sefa_plugin_issetor($sefa_body), "sefa_body", $settings ); ?>
Attachment: