From e4b9b8235b5f537f1f8d35310f7f3b6dbcf368a6 Mon Sep 17 00:00:00 2001 From: Lai Power Date: Mon, 5 May 2025 12:51:00 +0000 Subject: [PATCH] modified file `upgrade-temp-backup` --- .../images/smtp-mailer-email-logger.png | Bin 0 -> 3248 bytes .../addons/images/smtp-mailer-reply-to.png | Bin 0 -> 3613 bytes .../smtp-mailer/addons/smtp-mailer-addons.css | 34 + .../smtp-mailer/addons/smtp-mailer-addons.php | 49 + .../smtp-mailer/languages/smtp-mailer.mo | Bin 0 -> 396 bytes .../smtp-mailer/languages/smtp-mailer.pot | 176 ++++ .../plugins/smtp-mailer/main.php | 970 ++++++++++++++++++ .../plugins/smtp-mailer/readme.txt | 151 +++ 8 files changed, 1380 insertions(+) create mode 100644 wp-content/upgrade-temp-backup/plugins/smtp-mailer/addons/images/smtp-mailer-email-logger.png create mode 100644 wp-content/upgrade-temp-backup/plugins/smtp-mailer/addons/images/smtp-mailer-reply-to.png create mode 100644 wp-content/upgrade-temp-backup/plugins/smtp-mailer/addons/smtp-mailer-addons.css create mode 100644 wp-content/upgrade-temp-backup/plugins/smtp-mailer/addons/smtp-mailer-addons.php create mode 100644 wp-content/upgrade-temp-backup/plugins/smtp-mailer/languages/smtp-mailer.mo create mode 100644 wp-content/upgrade-temp-backup/plugins/smtp-mailer/languages/smtp-mailer.pot create mode 100644 wp-content/upgrade-temp-backup/plugins/smtp-mailer/main.php create mode 100644 wp-content/upgrade-temp-backup/plugins/smtp-mailer/readme.txt diff --git a/wp-content/upgrade-temp-backup/plugins/smtp-mailer/addons/images/smtp-mailer-email-logger.png b/wp-content/upgrade-temp-backup/plugins/smtp-mailer/addons/images/smtp-mailer-email-logger.png new file mode 100644 index 0000000000000000000000000000000000000000..ce032702f8163273589c9cb966ab67d021a57074 GIT binary patch literal 3248 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 du6YA%1pIN0&2jme literal 0 HcmV?d00001 diff --git a/wp-content/upgrade-temp-backup/plugins/smtp-mailer/addons/images/smtp-mailer-reply-to.png b/wp-content/upgrade-temp-backup/plugins/smtp-mailer/addons/images/smtp-mailer-reply-to.png new file mode 100644 index 0000000000000000000000000000000000000000..3e40f13196986596381e176e4481d5b0ae21d7cf GIT binary patch literal 3613 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 a5q^>q68!fVhd=!K$7T+'; + echo '

' .__('SMTP Mailer Add-ons', 'smtp-mailer') . '

'; + */ + $addons_data = array(); + + $addon_1 = array( + 'name' => 'Reply-To', + 'thumbnail' => SMTP_MAILER_URL.'/addons/images/smtp-mailer-reply-to.png', + 'description' => 'Set a Reply-To address for all outgoing email messages', + 'page_url' => 'https://wphowto.net/how-to-add-a-reply-to-address-in-the-smtp-mailer-wordpress-plugin-6997', + ); + array_push($addons_data, $addon_1); + + $addon_2 = array( + 'name' => 'Email Logger', + 'thumbnail' => SMTP_MAILER_URL.'/addons/images/smtp-mailer-email-logger.png', + 'description' => 'Log and view all email messages', + 'page_url' => 'https://wphowto.net/smtp-mailer-email-logger-7066', + ); + array_push($addons_data, $addon_2); + + //Display the list + foreach ($addons_data as $addon) { + ?> +
+
+ <?php echo esc_attr($addon['name']);?> +
+
+
+ +
+
+ +
+ +
+
+ ';//end of wrap +} diff --git a/wp-content/upgrade-temp-backup/plugins/smtp-mailer/languages/smtp-mailer.mo b/wp-content/upgrade-temp-backup/plugins/smtp-mailer/languages/smtp-mailer.mo new file mode 100644 index 0000000000000000000000000000000000000000..8d5765262e46682ff745e5c09b21da90e7f6f47b GIT binary patch literal 396 zcmaKm&rZWI4917x)FWpOIdB7)bYjw$i3?+(X{)HVg1AklHCxa~ro{Z&gYbGh3$7;7 z8=v%3WPhLS{2U*BcSHxmiEt_$3g<$jzAzVaAa9fTQxW_tRSc6F9w|iYol%RtEL4tm zLm?^dOBe-076)#S$*8W*dXROYt5tSs^x!PhT1yb-^kJI~|K?^G8OnezZjgO2Dw&~M zz2l0YBz%)PpXB5AGg+#Wk#|f^#&%n|&-BF?+YMSbRMi?oB))nmZ=v7jn)NRfVC*Vi zTemW*|7SMTP Mailer " +"documentation page for usage instructions." +msgstr "" + +#: main.php:141 +msgid "To" +msgstr "" + +#: main.php:143 +msgid "Email address of the recipient" +msgstr "" + +#: main.php:147 +msgid "Subject" +msgstr "" + +#: main.php:149 +msgid "Subject of the email" +msgstr "" + +#: main.php:153 +msgid "Message" +msgstr "" + +#: main.php:155 +msgid "Email body" +msgstr "" + +#: main.php:162 +msgid "Send Email" +msgstr "" + +#: main.php:256 +msgid "Settings Saved!" +msgstr "" + +#: main.php:286 +msgid "SMTP Host" +msgstr "" + +#: main.php:288 +msgid "" +"The SMTP server which will be used to send email. For example: smtp.gmail.com" +msgstr "" + +#: main.php:292 +msgid "SMTP Authentication" +msgstr "" + +#: main.php:295 +msgid "True" +msgstr "" + +#: main.php:296 +msgid "False" +msgstr "" + +#: main.php:298 +msgid "" +"Whether to use SMTP Authentication when sending an email (recommended: True)." +msgstr "" + +#: main.php:303 +msgid "SMTP Username" +msgstr "" + +#: main.php:305 +msgid "Your SMTP Username." +msgstr "" + +#: main.php:309 +msgid "SMTP Password" +msgstr "" + +#: main.php:311 +msgid "Your SMTP Password." +msgstr "" + +#: main.php:315 +msgid "Type of Encryption" +msgstr "" + +#: main.php:318 +msgid "TLS" +msgstr "" + +#: main.php:319 +msgid "SSL" +msgstr "" + +#: main.php:320 +msgid "No Encryption" +msgstr "" + +#: main.php:322 +msgid "" +"The encryption which will be used when sending an email (recommended: TLS)." +msgstr "" + +#: main.php:327 +msgid "SMTP Port" +msgstr "" + +#: main.php:329 +msgid "" +"The port which will be used when sending an email (587/465/25). If you " +"choose TLS it should be set to 587. For SSL use port 465 instead." +msgstr "" + +#: main.php:333 +msgid "From Email Address" +msgstr "" + +#: main.php:335 +msgid "" +"The email address which will be used as the From Address if it is not " +"supplied to the mail function." +msgstr "" + +#: main.php:339 +msgid "From Name" +msgstr "" + +#: main.php:341 +msgid "" +"The name which will be used as the From Name if it is not supplied to the " +"mail function." +msgstr "" + +#: main.php:348 +msgid "Save Changes" +msgstr "" + +#: main.php:368 +msgid "" +"SMTP Mailer plugin cannot send email until you enter your credentials in the " +"settings." +msgstr "" diff --git a/wp-content/upgrade-temp-backup/plugins/smtp-mailer/main.php b/wp-content/upgrade-temp-backup/plugins/smtp-mailer/main.php new file mode 100644 index 00000000..562c1bad --- /dev/null +++ b/wp-content/upgrade-temp-backup/plugins/smtp-mailer/main.php @@ -0,0 +1,970 @@ +plugin_version); + define('SMTP_MAILER_SITE_URL', site_url()); + define('SMTP_MAILER_HOME_URL', home_url()); + define('SMTP_MAILER_URL', $this->plugin_url()); + define('SMTP_MAILER_PATH', $this->plugin_path()); + $this->plugin_includes(); + $this->loader_operations(); + } + + function plugin_includes() { + + } + + function loader_operations() { + if (is_admin()) { + include_once('addons/smtp-mailer-addons.php'); + } + add_action('plugins_loaded', array($this, 'plugins_loaded_handler')); + add_action('admin_menu', array($this, 'options_menu')); + add_action('admin_enqueue_scripts', array($this, 'enqueue_admin_scripts')); + //add_action('admin_notices', 'smtp_mailer_admin_notice'); + add_filter('pre_wp_mail', 'smtp_mailer_pre_wp_mail', 10, 2); + } + + function enqueue_admin_scripts($hook) { + if('settings_page_smtp-mailer-settings' != $hook) { + return; + } + wp_register_style('smtp-mailer-addons-menu', SMTP_MAILER_URL.'/addons/smtp-mailer-addons.css'); + wp_enqueue_style('smtp-mailer-addons-menu'); + } + + function plugins_loaded_handler() + { + if(is_admin() && current_user_can('manage_options')){ + add_filter('plugin_action_links', array($this, 'add_plugin_action_links'), 10, 2); + } + load_plugin_textdomain('smtp-mailer', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/'); + } + + function plugin_url() { + if ($this->plugin_url) + return $this->plugin_url; + return $this->plugin_url = plugins_url(basename(plugin_dir_path(__FILE__)), basename(__FILE__)); + } + + function plugin_path() { + if ($this->plugin_path) + return $this->plugin_path; + return $this->plugin_path = untrailingslashit(plugin_dir_path(__FILE__)); + } + + function add_plugin_action_links($links, $file) { + if ($file == plugin_basename(dirname(__FILE__) . '/main.php')) { + $links[] = ''.__('Settings', 'smtp-mailer').''; + } + return $links; + } + + function options_menu() { + add_options_page(__('SMTP Mailer', 'smtp-mailer'), __('SMTP Mailer', 'smtp-mailer'), 'manage_options', 'smtp-mailer-settings', array($this, 'options_page')); + } + + function options_page() { + $plugin_tabs = array( + 'smtp-mailer-settings' => __('General', 'smtp-mailer'), + 'smtp-mailer-settings&action=test-email' => __('Test Email', 'smtp-mailer'), + 'smtp-mailer-settings&action=server-info' => __('Server Info', 'smtp-mailer'), + 'smtp-mailer-settings&action=addons' => __('Add-ons', 'smtp-mailer'), + 'smtp-mailer-settings&action=advanced' => __('Advanced', 'smtp-mailer'), + ); + $url = "https://wphowto.net/smtp-mailer-plugin-for-wordpress-1482"; + $link_text = sprintf(__('Please visit the SMTP Mailer documentation page for usage instructions.', 'smtp-mailer'), esc_url($url)); + $allowed_html_tags = array( + 'a' => array( + 'href' => array(), + 'target' => array() + ) + ); + echo '

SMTP Mailer v' . SMTP_MAILER_VERSION . '

'; + echo '
'.wp_kses($link_text, $allowed_html_tags).'
'; + $current = ''; + $action = ''; + if (isset($_GET['page'])) { + $current = sanitize_text_field($_GET['page']); + if (isset($_GET['action'])) { + $action = sanitize_text_field($_GET['action']); + $current .= "&action=" . $action; + } + } + $content = ''; + $content .= ''; + $allowed_html_tags = array( + 'a' => array( + 'href' => array(), + 'class' => array() + ), + 'h2' => array( + 'href' => array(), + 'class' => array() + ) + ); + echo wp_kses($content, $allowed_html_tags); + if(!empty($action)) + { + switch($action) + { + case 'test-email': + $this->test_email_settings(); + break; + case 'server-info': + $this->server_info_settings(); + break; + case 'addons': + smtp_mailer_display_addons(); + break; + case 'advanced': + $this->advanced_settings(); + break; + } + } + else + { + $this->general_settings(); + } + echo '
'; + } + + function test_email_settings(){ + if(isset($_POST['smtp_mailer_send_test_email'])){ + $nonce = $_REQUEST['_wpnonce']; + if (!wp_verify_nonce($nonce, 'smtp_mailer_test_email')) { + wp_die(__('Error! Nonce Security Check Failed! please send the test email again.', 'smtp-mailer')); + } + $to = ''; + if(isset($_POST['smtp_mailer_to_email']) && !empty($_POST['smtp_mailer_to_email'])){ + $to = sanitize_email($_POST['smtp_mailer_to_email']); + } + $subject = ''; + if(isset($_POST['smtp_mailer_email_subject']) && !empty($_POST['smtp_mailer_email_subject'])){ + $subject = sanitize_text_field($_POST['smtp_mailer_email_subject']); + } + $message = ''; + if(isset($_POST['smtp_mailer_email_body']) && !empty($_POST['smtp_mailer_email_body'])){ + $message = sanitize_text_field($_POST['smtp_mailer_email_body']); + } + wp_mail($to, $subject, $message); + } + ?> +
+ + + + + + + + + + + + + + + + + + + + + + + +
+

+

+

+ +

+
+ + + + '; + $smtp_password = trim($_POST['smtp_password']); + $smtp_password = wp_unslash($smtp_password); // This removes slash (automatically added by WordPress) from the password when apostrophe is present + $smtp_password = base64_encode($smtp_password); + } + $type_of_encryption = ''; + if(isset($_POST['type_of_encryption']) && !empty($_POST['type_of_encryption'])){ + $type_of_encryption = sanitize_text_field($_POST['type_of_encryption']); + } + $smtp_port = ''; + if(isset($_POST['smtp_port']) && !empty($_POST['smtp_port'])){ + $smtp_port = sanitize_text_field($_POST['smtp_port']); + } + $from_email = ''; + if(isset($_POST['from_email']) && !empty($_POST['from_email'])){ + $from_email = sanitize_email($_POST['from_email']); + } + $from_name = ''; + if(isset($_POST['from_name']) && !empty($_POST['from_name'])){ + $from_name = sanitize_text_field(stripslashes($_POST['from_name'])); + } + $force_from_address = ''; + if(isset($_POST['force_from_address']) && !empty($_POST['force_from_address'])){ + $force_from_address = sanitize_text_field($_POST['force_from_address']); + } + $disable_ssl_verification = ''; + if(isset($_POST['disable_ssl_verification']) && !empty($_POST['disable_ssl_verification'])){ + $disable_ssl_verification = sanitize_text_field($_POST['disable_ssl_verification']); + } + $options = array(); + $options['smtp_host'] = $smtp_host; + $options['smtp_auth'] = $smtp_auth; + $options['smtp_username'] = $smtp_username; + if(!empty($smtp_password)){ + $options['smtp_password'] = $smtp_password; + } + $options['type_of_encryption'] = $type_of_encryption; + $options['smtp_port'] = $smtp_port; + $options['from_email'] = $from_email; + $options['from_name'] = $from_name; + $options['force_from_address'] = $force_from_address; + $options['disable_ssl_verification'] = $disable_ssl_verification; + smtp_mailer_update_option($options); + echo '

'; + echo __('Settings Saved!', 'smtp-mailer'); + echo '

'; + } + + $options = smtp_mailer_get_option(); + if(!is_array($options)){ + $options = smtp_mailer_get_empty_options_array(); + } + + // Avoid warning notice since this option was added later + if(!isset($options['force_from_address'])){ + $options['force_from_address'] = ''; + } + + // Avoid warning notice since this option was added later + if(!isset($options['disable_ssl_verification'])){ + $options['disable_ssl_verification'] = ''; + } + + ?> + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

+ +

+
+

+

+ +

+
+

+

+

value="1"> +

value="1"> +

+ +

+
+ + +
+

'; + echo __('Settings Saved!', 'smtp-mailer'); + echo '

'; + } + $settings_fields = ''; + $settings_fields = apply_filters('smtp_mailer_advanced_settings_fields', $settings_fields); + if(empty($settings_fields)){ + return; + } + ?> +
+ + + + + + + +
+ +

+
+ +
+

+
+ 0 ) { + $from_name = substr( $content, 0, $bracket_pos ); + $from_name = str_replace( '"', '', $from_name ); + $from_name = trim( $from_name ); + } + + $from_email = substr( $content, $bracket_pos + 1 ); + $from_email = str_replace( '>', '', $from_email ); + $from_email = trim( $from_email ); + + // Avoid setting an empty $from_email. + } elseif ( '' !== trim( $content ) ) { + $from_email = trim( $content ); + } + break; + case 'content-type': + if ( str_contains( $content, ';' ) ) { + list( $type, $charset_content ) = explode( ';', $content ); + $content_type = trim( $type ); + if ( false !== stripos( $charset_content, 'charset=' ) ) { + $charset = trim( str_replace( array( 'charset=', '"' ), '', $charset_content ) ); + } elseif ( false !== stripos( $charset_content, 'boundary=' ) ) { + $boundary = trim( str_replace( array( 'BOUNDARY=', 'boundary=', '"' ), '', $charset_content ) ); + $charset = ''; + } + + // Avoid setting an empty $content_type. + } elseif ( '' !== trim( $content ) ) { + $content_type = trim( $content ); + } + break; + case 'cc': + $cc = array_merge( (array) $cc, explode( ',', $content ) ); + break; + case 'bcc': + $bcc = array_merge( (array) $bcc, explode( ',', $content ) ); + break; + case 'reply-to': + $reply_to = array_merge( (array) $reply_to, explode( ',', $content ) ); + break; + default: + // Add it to our grand headers array. + $headers[ trim( $name ) ] = trim( $content ); + break; + } + } + } + } + + // Empty out the values that may be set. + $phpmailer->clearAllRecipients(); + $phpmailer->clearAttachments(); + $phpmailer->clearCustomHeaders(); + $phpmailer->clearReplyTos(); + $phpmailer->Body = ''; + $phpmailer->AltBody = ''; + + // Set "From" name and email. + + // If we don't have a name from the input headers. + if ( ! isset( $from_name ) ) { + $from_name = $options['from_name'];//'WordPress'; + } + + /* + * If we don't have an email from the input headers, default to wordpress@$sitename + * Some hosts will block outgoing mail from this address if it doesn't exist, + * but there's no easy alternative. Defaulting to admin_email might appear to be + * another option, but some hosts may refuse to relay mail from an unknown domain. + * See https://core.trac.wordpress.org/ticket/5007. + */ + if ( ! isset( $from_email ) ) { + // Get the site domain and get rid of www. + $sitename = wp_parse_url( network_home_url(), PHP_URL_HOST ); + $from_email = 'wordpress@'; + + if ( null !== $sitename ) { + if ( str_starts_with( $sitename, 'www.' ) ) { + $sitename = substr( $sitename, 4 ); + } + + $from_email .= $sitename; + } + $from_email = $options['from_email'];//'wordpress@' . $sitename; + } + + /** + * Filters the email address to send from. + * + * @since 2.2.0 + * + * @param string $from_email Email address to send from. + */ + $from_email = apply_filters( 'wp_mail_from', $from_email ); + + /** + * Filters the name to associate with the "from" email address. + * + * @since 2.3.0 + * + * @param string $from_name Name associated with the "from" email address. + */ + $from_name = apply_filters( 'wp_mail_from_name', $from_name ); + //force from address if checked + if(isset($options['force_from_address']) && !empty($options['force_from_address'])){ + $from_name = $options['from_name']; + $from_email = $options['from_email']; + } + try { + $phpmailer->setFrom( $from_email, $from_name, false ); + } catch ( PHPMailer\PHPMailer\Exception $e ) { + $mail_error_data = compact( 'to', 'subject', 'message', 'headers', 'attachments' ); + $mail_error_data['phpmailer_exception_code'] = $e->getCode(); + + /** This filter is documented in wp-includes/pluggable.php */ + do_action( 'wp_mail_failed', new WP_Error( 'wp_mail_failed', $e->getMessage(), $mail_error_data ) ); + + return false; + } + /*reply_to code */ + $smtpmailer_reply_to = ''; + $smtpmailer_reply_to = apply_filters('smtpmailer_reply_to', $smtpmailer_reply_to); + if(isset($smtpmailer_reply_to) && !empty($smtpmailer_reply_to)){ + $temp_reply_to_addresses = explode(",", $smtpmailer_reply_to); + $reply_to = array(); + foreach($temp_reply_to_addresses as $temp_reply_to_address){ + $reply_to_address = trim($temp_reply_to_address); + $reply_to[] = $reply_to_address; + } + } + /*end of reply_to code */ + // Set mail's subject and body. + $phpmailer->Subject = $subject; + $phpmailer->Body = $message; + + // Set destination addresses, using appropriate methods for handling addresses. + $address_headers = compact( 'to', 'cc', 'bcc', 'reply_to' ); + + foreach ( $address_headers as $address_header => $addresses ) { + if ( empty( $addresses ) ) { + continue; + } + + foreach ( (array) $addresses as $address ) { + try { + // Break $recipient into name and address parts if in the format "Foo ". + $recipient_name = ''; + + if ( preg_match( '/(.*)<(.+)>/', $address, $matches ) ) { + if ( count( $matches ) === 3 ) { + $recipient_name = $matches[1]; + $address = $matches[2]; + } + } + + switch ( $address_header ) { + case 'to': + $phpmailer->addAddress( $address, $recipient_name ); + break; + case 'cc': + $phpmailer->addCc( $address, $recipient_name ); + break; + case 'bcc': + $phpmailer->addBcc( $address, $recipient_name ); + break; + case 'reply_to': + $phpmailer->addReplyTo( $address, $recipient_name ); + break; + } + } catch ( PHPMailer\PHPMailer\Exception $e ) { + continue; + } + } + } + + // Tell PHPMailer to use SMTP + $phpmailer->isSMTP(); //$phpmailer->isMail(); + // Set the hostname of the mail server + $phpmailer->Host = $options['smtp_host']; + // Whether to use SMTP authentication + if(isset($options['smtp_auth']) && $options['smtp_auth'] == "true"){ + $phpmailer->SMTPAuth = true; + // SMTP username + $phpmailer->Username = $options['smtp_username']; + // SMTP password + $phpmailer->Password = base64_decode($options['smtp_password']); + } + // Whether to use encryption + $type_of_encryption = $options['type_of_encryption']; + if($type_of_encryption=="none"){ + $type_of_encryption = ''; + } + $phpmailer->SMTPSecure = $type_of_encryption; + // SMTP port + $phpmailer->Port = $options['smtp_port']; + + // Whether to enable TLS encryption automatically if a server supports it + $phpmailer->SMTPAutoTLS = false; + //enable debug when sending a test mail + if(isset($_POST['smtp_mailer_send_test_email'])){ + $phpmailer->SMTPDebug = 4; + // Ask for HTML-friendly debug output + $phpmailer->Debugoutput = 'html'; + } + + //disable ssl certificate verification if checked + if(isset($options['disable_ssl_verification']) && !empty($options['disable_ssl_verification'])){ + $phpmailer->SMTPOptions = array( + 'ssl' => array( + 'verify_peer' => false, + 'verify_peer_name' => false, + 'allow_self_signed' => true + ) + ); + } + // Set Content-Type and charset. + + // If we don't have a Content-Type from the input headers. + if ( ! isset( $content_type ) ) { + $content_type = 'text/plain'; + } + + /** + * Filters the wp_mail() content type. + * + * @since 2.3.0 + * + * @param string $content_type Default wp_mail() content type. + */ + $content_type = apply_filters( 'wp_mail_content_type', $content_type ); + + $phpmailer->ContentType = $content_type; + + // Set whether it's plaintext, depending on $content_type. + if ( 'text/html' === $content_type ) { + $phpmailer->isHTML( true ); + } + + // If we don't have a charset from the input headers. + if ( ! isset( $charset ) ) { + $charset = get_bloginfo( 'charset' ); + } + + /** + * Filters the default wp_mail() charset. + * + * @since 2.3.0 + * + * @param string $charset Default email charset. + */ + $phpmailer->CharSet = apply_filters( 'wp_mail_charset', $charset ); + + // Set custom headers. + if ( ! empty( $headers ) ) { + foreach ( (array) $headers as $name => $content ) { + // Only add custom headers not added automatically by PHPMailer. + if ( ! in_array( $name, array( 'MIME-Version', 'X-Mailer' ), true ) ) { + try { + $phpmailer->addCustomHeader( sprintf( '%1$s: %2$s', $name, $content ) ); + } catch ( PHPMailer\PHPMailer\Exception $e ) { + continue; + } + } + } + + if ( false !== stripos( $content_type, 'multipart' ) && ! empty( $boundary ) ) { + $phpmailer->addCustomHeader( sprintf( 'Content-Type: %s; boundary="%s"', $content_type, $boundary ) ); + } + } + + if ( isset( $attachments ) && ! empty( $attachments ) ) { + foreach ( $attachments as $filename => $attachment ) { + $filename = is_string( $filename ) ? $filename : ''; + + try { + $phpmailer->addAttachment( $attachment, $filename ); + } catch ( PHPMailer\PHPMailer\Exception $e ) { + continue; + } + } + } + + /** + * Fires after PHPMailer is initialized. + * + * @since 2.2.0 + * + * @param PHPMailer $phpmailer The PHPMailer instance (passed by reference). + */ + do_action_ref_array( 'phpmailer_init', array( &$phpmailer ) ); + + $mail_data = compact( 'to', 'subject', 'message', 'headers', 'attachments' ); + + // Send! + try { + $send = $phpmailer->send(); + + /** + * Fires after PHPMailer has successfully sent an email. + * + * The firing of this action does not necessarily mean that the recipient(s) received the + * email successfully. It only means that the `send` method above was able to + * process the request without any errors. + * + * @since 5.9.0 + * + * @param array $mail_data { + * An array containing the email recipient(s), subject, message, headers, and attachments. + * + * @type string[] $to Email addresses to send message. + * @type string $subject Email subject. + * @type string $message Message contents. + * @type string[] $headers Additional headers. + * @type string[] $attachments Paths to files to attach. + * } + */ + do_action( 'wp_mail_succeeded', $mail_data ); + + return $send; + } catch ( PHPMailer\PHPMailer\Exception $e ) { + $mail_data['phpmailer_exception_code'] = $e->getCode(); + + /** + * Fires after a PHPMailer\PHPMailer\Exception is caught. + * + * @since 4.4.0 + * + * @param WP_Error $error A WP_Error object with the PHPMailer\PHPMailer\Exception message, and an array + * containing the mail recipient, subject, message, headers, and attachments. + */ + do_action( 'wp_mail_failed', new WP_Error( 'wp_mail_failed', $e->getMessage(), $mail_data ) ); + + return false; + } +} diff --git a/wp-content/upgrade-temp-backup/plugins/smtp-mailer/readme.txt b/wp-content/upgrade-temp-backup/plugins/smtp-mailer/readme.txt new file mode 100644 index 00000000..9e83612f --- /dev/null +++ b/wp-content/upgrade-temp-backup/plugins/smtp-mailer/readme.txt @@ -0,0 +1,151 @@ +=== SMTP Mailer === +Contributors: naa986 +Donate link: https://wphowto.net/ +Tags: email, mail, smtp, phpmailer +Requires at least: 6.5 +Tested up to: 6.5 +Stable tag: 1.1.15 +License: GPLv2 or later +License URI: http://www.gnu.org/licenses/gpl-2.0.html + +Configure a SMTP server to send email from your WordPress site. Configure the wp_mail() function to use SMTP instead of the PHP mail() function. + +== Description == + +[SMTP Mailer](https://wphowto.net/smtp-mailer-plugin-for-wordpress-1482) plugin allows you to configure a mail server which handles all outgoing email from your website. It takes control of the wp_mail function and use SMTP instead. + +https://www.youtube.com/watch?v=7O_jgtykcEk&rel=0 + +=== SMTP Mailer Add-ons === + +* [Reply-To](https://wphowto.net/how-to-add-a-reply-to-address-in-the-smtp-mailer-wordpress-plugin-6997) +* [Email Logger](https://wphowto.net/smtp-mailer-email-logger-7066) + +=== SMTP Mailer Settings === + +* **SMTP Host**: Your outgoing mail server (e.g. smtp.gmail.com). +* **SMTP Authentication**: Whether to use SMTP authentication when sending an email (True/False). If you choose to authenticate you will also need to provide your username and password. +* **SMTP Username**: The username to connect to your SMTP server. +* **SMTP Password**: The password to connect to your SMTP server. +* **Type of Encryption**: The encryption to be used when sending an email (TLS/SSL/No Encryption. TLS is recommended). +* **SMTP Port**: The port to be used when sending an email (587/465/25). If you choose TLS the port should be set to 587. For SSL use port 465 instead. +* **From Email Address**: The email address to be used as the From Address when sending an email. +* **From Name**: The name to be used as the From Name when sending an email. + +=== SMTP Mailer Test Email === + +Once you have configured the settings you can send a test email to check the functionality of the plugin. + +* **To**: Email address of the recipient. +* **Subject**: Subject of the email. +* **Message**: Email body. + +=== Known Compatibility === + +SMTP Mailer should work with any plugin that uses the WordPress Mail function. However, It has been tested with the following form and contact form plugins: + +* Contact Form 7 +* Jetpack Contact Form +* Visual Form Builder +* Fast Secure Contact Form +* Formidable Forms +* Contact Form by BestWebSoft + +For detailed setup instructions please visit the [SMTP Mailer](https://wphowto.net/smtp-mailer-plugin-for-wordpress-1482) plugin page. + +== Installation == + +1. Go to the Add New plugins screen in your WordPress Dashboard +1. Click the upload tab +1. Browse for the plugin file (smtp-mailer.zip) on your computer +1. Click "Install Now" and then hit the activate button + +== Frequently Asked Questions == +none + +== Screenshots == + +1. SMTP Mailer Settings +2. SMTP Mailer Test Email Tab + +== Upgrade Notice == +none + +== Changelog == + += 1.1.15 = +* Updated the code for sanitizing password. + += 1.1.14 = +* Added support for the email logger add-on. + += 1.1.13 = +* WordPress 6.5 compatibility update. + += 1.1.12 = +* Added support for the reply-to add-on. + += 1.1.11 = +* WordPress 6.4 compatibility update. + += 1.1.10 = +* Added an option to set the configured from address for all outgoing email messages. + += 1.1.9 = +* Additional check for the settings link. + += 1.1.8 = +* Removed admin notices to avoid confusion since configurations can vary on different servers. + += 1.1.7 = +* WordPress 6.3 compatibility update. + += 1.1.6 = +* WordPress 6.2 compatibility update. + += 1.1.5 = +* Compatibility update for WordPress 6.1. + += 1.1.4 = +* Updated the mail function for WordPress 6.0. + += 1.1.3 = +* Updated the mail function for WordPress 5.9. + += 1.1.2 = +* Fixed an issue that could cause an Undefined variable error if $attachments was not set. + += 1.1.1 = +* WordPress 5.7 compatibility update. + += 1.1.0 = +* The password field can be left empty when updating the settings. + += 1.0.9 = +* Updated the code to be compatible with WordPress 5.5. + += 1.0.8 = +* SMTP Mailer is compatible with WordPress 5.3. + += 1.0.7 = +* SMTP Mailer now checks for a valid nonce when sending a test email. + += 1.0.6 = +* SMTP Mailer no longer shows the saved password in the settings. + += 1.0.5 = +* SMTP Mailer is now compatible with WordPress 4.9. + += 1.0.4 = +* Updated the mail() function by setting its minimum requirements to WordPress 4.8. +* "phpmailer_init" action hook is now enabled so it can be used by other plugins. + += 1.0.3 = +* Fixed a bug where an apostrophe in the password would cause SMTP authentication failure. + += 1.0.2 = +* SMTP Mailer now supports the "wp_mail_failed" hook which fires after a phpmailerException is caught. +* Added a new option to bypass this error on some servers where the SSL certificate is not properly configured - Warning: stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed. + += 1.0.1 = +* First commit