Plugin Directory

Changeset 3779168


Ignore:
Timestamp:
11/02/2026 07:40:22 AM (5 hours ago)
Author:
konceptwise
Message:

Performance Improvement

Location:
emailidea-smtp-mailer/trunk
Files:
2 added
7 edited

Legend:

Unmodified
Added
Removed
  • emailidea-smtp-mailer/trunk/admin/settings-page.php

    r3476364 r3779168  
    2828function emailidea_smtp_mailer_register_settings() {
    2929        register_setting( 'emailidea_smtp_mailer_group', 'emailidea_smtp_host', 'sanitize_text_field' );
    30         register_setting( 'emailidea_smtp_mailer_group', 'emailidea_smtp_port', 'absint' );
    3130        register_setting( 'emailidea_smtp_mailer_group', 'emailidea_smtp_username', 'sanitize_text_field' );
    32         register_setting( 'emailidea_smtp_mailer_group', 'emailidea_smtp_password', 'sanitize_text_field' );
    33         register_setting( 'emailidea_smtp_mailer_group', 'emailidea_smtp_encryption', 'sanitize_text_field' );
     31        register_setting( 'emailidea_smtp_mailer_group', 'emailidea_smtp_password', 'emailidea_smtp_mailer_sanitize_password' );
    3432        register_setting( 'emailidea_smtp_mailer_group', 'emailidea_from_email', 'sanitize_email' );
    3533        register_setting( 'emailidea_smtp_mailer_group', 'emailidea_from_name', 'sanitize_text_field' );
    … …  
    5351
    5452        add_settings_field(
    55                 'emailidea_smtp_port',
    56                 __( 'SMTP Port', 'emailidea-smtp-mailer' ),
    57                 'emailidea_smtp_mailer_number_field_render',
    58                 'emailidea-smtp-mailer',
    59                 'emailidea_smtp_mailer_main_section',
    60                 array( 'label_for' => 'emailidea_smtp_port' )
    61         );
    62 
    63         add_settings_field(
    6453                'emailidea_smtp_username',
    6554                __( 'SMTP Username', 'emailidea-smtp-mailer' ),
    … …  
    7766                'emailidea_smtp_mailer_main_section',
    7867                array( 'label_for' => 'emailidea_smtp_password' )
    79         );
    80 
    81         add_settings_field(
    82                 'emailidea_smtp_encryption',
    83                 __( 'Encryption', 'emailidea-smtp-mailer' ),
    84                 'emailidea_smtp_mailer_encryption_field_render',
    85                 'emailidea-smtp-mailer',
    86                 'emailidea_smtp_mailer_main_section',
    87                 array( 'label_for' => 'emailidea_smtp_encryption' )
    8868        );
    8969
    … …  
    124104
    125105/**
     106 * Sanitize the SMTP password.
     107 *
     108 * sanitize_text_field() must not be used here: it strips %xx sequences and tags,
     109 * encodes "<" and trims or collapses whitespace, which silently changes valid
     110 * passwords. Only invalid UTF-8, NUL bytes and line breaks are removed; the
     111 * password is used as a literal string and never printed unescaped.
     112 *
     113 * @param mixed $value Submitted password.
     114 * @return string
     115 */
     116function emailidea_smtp_mailer_sanitize_password( $value ) {
     117        if ( ! is_scalar( $value ) ) {
     118                return '';
     119        }
     120
     121        $value = wp_check_invalid_utf8( (string) $value, true );
     122
     123        return str_replace( array( "\0", "\r", "\n" ), '', $value );
     124}
     125
     126/**
    126127 * Field rendering functions.
    127128 */
    … …  
    133134function emailidea_smtp_mailer_number_field_render( $args ) {
    134135        $value = get_option( $args['label_for'] );
    135         echo '<input type="number" id="' . esc_attr( $args['label_for'] ) . '" name="' . esc_attr( $args['label_for'] ) . '" value="' . esc_attr( $value ) . '" class="small-text">';
     136        $placeholder = isset( $args['placeholder'] ) ? $args['placeholder'] : '';
     137        echo '<input type="number" id="' . esc_attr( $args['label_for'] ) . '" name="' . esc_attr( $args['label_for'] ) . '" value="' . esc_attr( $value ) . '" class="small-text" placeholder="' . esc_attr( $placeholder ) . '">';
    136138}
    137139
    138140function emailidea_smtp_mailer_password_field_render( $args ) {
    139         $value = get_option( $args['label_for'] );
    140         echo '<input type="password" id="' . esc_attr( $args['label_for'] ) . '" name="' . esc_attr( $args['label_for'] ) . '" value="' . esc_attr( $value ) . '" class="regular-text">';
     141        $value = (string) get_option( $args['label_for'] );
     142        // esc_attr() leaves existing entities such as "&amp;" untouched, so encode "&" first
     143        // to make passwords containing entity-like text round-trip exactly.
     144        echo '<input type="password" id="' . esc_attr( $args['label_for'] ) . '" name="' . esc_attr( $args['label_for'] ) . '" value="' . esc_attr( str_replace( '&', '&amp;', $value ) ) . '" class="regular-text" autocomplete="new-password">';
    141145}
    142146
    … …  
    197201                                <?php esc_html_e( 'Don’t have an account? Register at EmailIdea', 'emailidea-smtp-mailer' ); ?>
    198202                        </a>
     203                        <a href="<?php echo esc_url( admin_url( 'options-general.php?page=emailidea-smtp-logs' ) ); ?>" class="button button-secondary">
     204                                <?php esc_html_e( 'View Email Logs', 'emailidea-smtp-mailer' ); ?>
     205                        </a>
    199206                </div>
    200207
  • emailidea-smtp-mailer/trunk/assets/js/deactivation.js

    r3520099 r3779168  
    188188                };
    189189
    190                 // DEBUG: Log the payload being sent
    191                 console.log('=== EmailIdea SMTP: Deactivation Feedback Payload ===');
    192                 console.log('Webhook URL:', DEACT.rest_url);
    193                 console.log('AJAX URL:', DEACT.ajax_url);
    194                 console.log('Payload:', JSON.stringify(data, null, 2));
    195 
    196190                // Fire and forget via REST API
    197191                if (window.wp && window.wp.apiFetch) {
    … …  
    204198                                        contact_info: contactInfo || ''
    205199                                }
    206                         }).then(function(response) {
    207                                 console.log('=== EmailIdea SMTP: REST API Response ===');
    208                                 console.log('Response:', JSON.stringify(response, null, 2));
    209                         }).catch(function(error) {
    210                                 console.log('=== EmailIdea SMTP: REST API Error ===');
    211                                 console.log('Error:', error);
     200                        }).catch(function() {
     201                                // Ignored: deactivation must proceed even if feedback cannot be sent.
    212202                        });
    213203                }
    … …  
    218208                        type: 'POST',
    219209                        data: data,
    220                         timeout: 2000,
    221                         success: function(response) {
    222                                 console.log('=== EmailIdea SMTP: AJAX Response ===');
    223                                 console.log('Response:', JSON.stringify(response, null, 2));
    224                         },
    225                         error: function(xhr, status, error) {
    226                                 console.log('=== EmailIdea SMTP: AJAX Error ===');
    227                                 console.log('Status:', status, 'Error:', error);
    228                         }
     210                        timeout: 2000
    229211                });
    230212
  • emailidea-smtp-mailer/trunk/emailidea-smtp-mailer.php

    r3520099 r3779168  
    44 * Plugin URI: https://emailidea.biz/
    55 * Description: Allow WordPress websites to send all outgoing emails through EmailIdea’s SMTP service.
    6  * Version: 1.0.1
     6 * Version: 1.0.2
    77 * Author: EmailIdea
    88 * Text Domain: emailidea-smtp-mailer
    … …  
    1515
    1616// Define constants.
    17 define( 'EMAILIDEA_SMTP_MAILER_VERSION', '1.0.1' );
     17define( 'EMAILIDEA_SMTP_MAILER_VERSION', '1.0.2' );
    1818define( 'EMAILIDEA_SMTP_MAILER_PATH', plugin_dir_path( __FILE__ ) );
    1919define( 'EMAILIDEA_SMTP_MAILER_URL', plugin_dir_url( __FILE__ ) );
    … …  
    2222
    2323/**
     24 * Seed defaults when the plugin version changes. Existing values are never overwritten.
     25 */
     26function emailidea_smtp_mailer_maybe_upgrade() {
     27        if ( get_option( 'emailidea_smtp_mailer_version' ) === EMAILIDEA_SMTP_MAILER_VERSION ) {
     28                return;
     29        }
     30
     31        add_option( 'emailidea_smtp_encryption', 'none' );
     32        delete_transient( 'emailidea_smtp_debug_webhook_log' ); // Leftover from the removed debug code.
     33        update_option( 'emailidea_smtp_mailer_version', EMAILIDEA_SMTP_MAILER_VERSION );
     34}
     35
     36/**
    2437 * Initialize the plugin.
    2538 */
    2639function emailidea_smtp_mailer_init() {
     40        emailidea_smtp_mailer_maybe_upgrade();
     41
    2742        // Include required files.
    2843        require_once EMAILIDEA_SMTP_MAILER_PATH . 'includes/mailer.php';
     44        require_once EMAILIDEA_SMTP_MAILER_PATH . 'includes/class-emailidea-logger.php';
     45        EmailIdea_SMTP_Logger::init();
    2946
    3047        if ( is_admin() ) {
    3148                require_once EMAILIDEA_SMTP_MAILER_PATH . 'admin/settings-page.php';
     49                require_once EMAILIDEA_SMTP_MAILER_PATH . 'admin/logs-page.php';
    3250                require_once EMAILIDEA_SMTP_MAILER_PATH . 'includes/class-emailidea-deactivation.php';
    3351                new EmailIdea_SMTP_Deactivation();
  • emailidea-smtp-mailer/trunk/includes/class-emailidea-deactivation.php

    r3520099 r3779168  
    3232                add_action( 'add_option_emailidea_smtp_host', [ $this, 'handle_settings_add_tracking' ], 10, 2 );
    3333                add_action( 'add_option_emailidea_enabled', [ $this, 'handle_settings_add_tracking' ], 10, 2 );
    34 
    35                 // DEBUG: Show saved webhook log on the page after redirect
    36                 add_action( 'admin_footer', [ $this, 'output_debug_transient_log' ] );
    3734        }
    3835
    … …  
    5552        public function handle_settings_add_tracking( $option, $value ) {
    5653                $this->send_settings_save_to_api();
    57         }
    58 
    59         /**
    60          * DEBUG: Save webhook log to a transient so it survives the redirect.
    61          * Remove this method before going live.
    62          */
    63         public function print_debug_console_log( $label, $payload, $response ) {
    64                 $log_data = [
    65                         'label'    => $label,
    66                         'url'      => self::WEBHOOK_API_URL,
    67                         'payload'  => $payload,
    68                         'response' => is_wp_error( $response )
    69                                 ? [ 'error' => $response->get_error_message() ]
    70                                 : [
    71                                         'status' => wp_remote_retrieve_response_code( $response ),
    72                                         'body'   => json_decode( wp_remote_retrieve_body( $response ), true ),
    73                                 ],
    74                 ];
    75                 // Store in transient — it will be picked up after redirect
    76                 set_transient( 'emailidea_smtp_debug_webhook_log', $log_data, 60 );
    77         }
    78 
    79         /**
    80          * DEBUG: Output the stored webhook log to browser console after redirect.
    81          * Remove this method before going live.
    82          */
    83         public function output_debug_transient_log() {
    84                 $log_data = get_transient( 'emailidea_smtp_debug_webhook_log' );
    85                 if ( ! $log_data ) {
    86                         return;
    87                 }
    88                 // Delete immediately so it only shows once
    89                 delete_transient( 'emailidea_smtp_debug_webhook_log' );
    90 
    91                 echo '<script>';
    92                 echo 'console.log("=== EmailIdea SMTP: ' . esc_js( $log_data['label'] ) . ' ===");';
    93                 echo 'console.log("Webhook URL:", ' . wp_json_encode( $log_data['url'] ) . ');';
    94                 echo 'console.log("Payload:", ' . wp_json_encode( $log_data['payload'] ) . ');';
    95                 echo 'console.log("Response:", ' . wp_json_encode( $log_data['response'] ) . ');';
    96                 echo '</script>';
    9754        }
    9855
    … …  
    266223                        'body'        => wp_json_encode( $payload ),
    267224                        'timeout'     => 10,
    268                         'blocking'    => true, // DEBUG: temporarily true to capture response
     225                        'blocking'    => false,
    269226                        'redirection' => 0,
    270227                ];
    271228
    272                 $response = wp_remote_request( self::WEBHOOK_API_URL, $args );
    273 
    274                 // DEBUG: Log payload and response to browser console
    275                 $this->print_debug_console_log( 'Settings Save Webhook', $payload, $response );
     229                wp_remote_request( self::WEBHOOK_API_URL, $args );
    276230
    277231                return true;
    … …  
    320274                        'body'        => wp_json_encode( $payload ),
    321275                        'timeout'     => 10,
    322                         'blocking'    => true, // DEBUG: temporarily true to capture response
     276                        'blocking'    => false,
    323277                        'redirection' => 0,
    324278                ];
    325279
    326                 $response = wp_remote_request( self::WEBHOOK_API_URL, $args );
    327 
    328                 // DEBUG: Log payload and response to browser console
    329                 $this->print_debug_console_log( 'Deactivation Feedback Webhook', $payload, $response );
     280                wp_remote_request( self::WEBHOOK_API_URL, $args );
    330281
    331282                return true;
  • emailidea-smtp-mailer/trunk/includes/mailer.php

    r3476364 r3779168  
    1616function emailidea_smtp_mailer_configure_mailer( $phpmailer ) {
    1717        $host       = get_option( 'emailidea_smtp_host' );
    18         $port       = get_option( 'emailidea_smtp_port' );
    1918        $username   = get_option( 'emailidea_smtp_username' );
    2019        $password   = get_option( 'emailidea_smtp_password' );
    21         $encryption = get_option( 'emailidea_smtp_encryption', 'none' );
    2220        $from_email = get_option( 'emailidea_from_email' );
    2321        $from_name  = get_option( 'emailidea_from_name' );
    … …  
    2927        }
    3028
     29        // The EmailIdea SMTP service works on port 587 without encryption only, so neither is configurable.
    3130        $phpmailer->isSMTP();
    32         $phpmailer->Host       = $host;
    33         $phpmailer->Port       = $port;
    34         $phpmailer->SMTPAuth   = true;
    35         $phpmailer->Username   = $username;
    36         $phpmailer->Password   = $password;
    37         $phpmailer->SMTPSecure = ( 'none' === $encryption ) ? '' : $encryption;
     31        $phpmailer->Host        = $host;
     32        $phpmailer->Port        = 587;
     33        $phpmailer->SMTPAuth    = true;
     34        $phpmailer->Username    = $username;
     35        $phpmailer->Password    = $password;
     36        $phpmailer->SMTPSecure  = '';
     37        $phpmailer->SMTPAutoTLS = false;
    3838
    3939        if ( ! empty( $from_email ) ) {
  • emailidea-smtp-mailer/trunk/readme.txt

    r3557706 r3779168  
    11=== EmailIdea SMTP Mailer ===
    22Contributors: konceptwise
    3 Tags: smtp, wordpress mail smtp, email, emailidea, mailer
     3Tags: smtp, email, wp mail, email log, email deliverability
    44Requires PHP: 7.4
    5 Requires at least: 5.0
    6 Tested up to: 7.0
    7 Stable tag: 1.0.1
     5Requires at least: 5.9
     6Tested up to: 7.1
     7Stable tag: 1.0.2
    88License: GPLv2 or later
    99License URI: https://www.gnu.org/licenses/gpl-2.0.html
    1010
    11 EmailIdea SMTP Mailer ensures reliable WordPress email delivery via secure API-based SMTP and SaaS connectivity, solving common mail issues.
     11Send WordPress emails through EmailIdea SMTP. Fix emails not sending or going to spam, with a built-in email log and test email.
    1212
    1313== Description ==
    1414
    15 EmailIdea SMTP Mailer helps WordPress websites enhance and optimize their email delivery. Unlike generic SMTP plugins, EmailIdea provides:
     15EmailIdea SMTP Mailer sends the emails your WordPress site creates — contact form messages, WooCommerce order emails, password resets and admin notifications — through the EmailIdea SMTP service instead of the default PHP `mail()` function.
    1616
    17 * **API-based email delivery**: Faster and more reliable than traditional SMTP.
    18 * **SaaS connectivity**: Seamless integration with the EmailIdea ecosystem.
    19 * **Advanced reporting & logs**: Track every email sent from your site.
     17On many hosting environments, WordPress sends email with PHP `mail()`. It works in basic setups, but it often hurts deliverability: messages can be flagged, land in spam or never reach the inbox. Routing your emails through a dedicated SMTP service is the standard way to improve this.
    2018
    21 On many hosting environments, emails are sent using the default PHP mail() function. While this method works in basic setups, it sometimes does not provide the best deliverability performance and can result in emails being flagged as not reaching the inbox. 
     19**Why use EmailIdea SMTP Mailer**
    2220
    23 With EmailIdea, you can send all your WordPress emails — including admin notifications, contact form submissions, and WooCommerce order emails — through a secure and reliable SMTP service.
     21* **Set up in minutes** – enter your EmailIdea SMTP details, tick Enable and send a test email.
     22* **Works with the emails your site already sends** – anything sent through WordPress's standard email function, including core, plugins and themes (contact forms, WooCommerce and more).
     23* **Test email built in** – confirm your settings work before relying on them.
     24* **Email log for troubleshooting** – see what was sent and exactly what the mail server replied. Search, filter and delete entries. Off by default.
     25* **Delivery reports in your EmailIdea account** – review your sending in the EmailIdea dashboard.
    2426
    25 After registering at EmailIdea, you’ll receive:
    26 - SMTP Host
    27 - SMTP Port
    28 - SMTP Username
    29 - SMTP Password
     27**How it works**
    3028
    31 Enter these details in the plugin settings, and your site will start sending emails securely and reliably.
     29After registering at EmailIdea, you receive:
     30
     31* SMTP Host
     32* SMTP Username
     33* SMTP Password
     34
     35Enter these in the plugin settings, tick **Enable EmailIdea SMTP Mailer**, and your site starts sending its emails through EmailIdea.
     36
     37Don't have an account yet? [Register at EmailIdea](https://emailidea.biz/).
    3238
    3339**Video Tutorial How to Use EmailIdea SMTP Mailer**
    … …  
    3743== Company & Ownership ==
    3844
    39 EmailIdea is a product of Konceptwise Digital Media Pvt Ltd. 
    40 The plugin is officially developed and maintained by the EmailIdea team. 
     45EmailIdea is a product of Konceptwise Digital Media Pvt Ltd.
     46The plugin is officially developed and maintained by the EmailIdea team.
    4147Official website: https://emailidea.biz/
    4248
    … …  
    4753* [EmailIdea Privacy Policy](https://emailidea.biz/privacy-policy/)
    4854
     55**1. EmailIdea SMTP server (smtp.emailidea.biz)**
     56When the plugin is enabled, every email your site sends (recipients, subject, content and attachments) is sent to the EmailIdea SMTP server, together with the SMTP username and password you entered, so that it can be delivered.
     57
     58**2. EmailIdea plugin activity webhook (https://app.emailidea.biz/api/WordpressWebhook)**
     59The plugin notifies EmailIdea in these two cases. This information is used only to provide customer support in case of any error.
     60* Each time you save the plugin settings: your SMTP username (used to identify your EmailIdea account), the plugin name and version, the time, and the URL of the settings page.
     61* If you submit the feedback form when deactivating the plugin: the reason you select, any text or contact details you choose to type, the SMTP username, the plugin version, the time and the page URL.
     62No email content or SMTP password is sent to this webhook.
     63
     64**3. Email log (stored on your own site only)**
     65The optional email log (Settings → EmailIdea SMTP Logs) is off by default. When you turn it on, the plugin keeps a record of recent emails in your WordPress database: recipients, subject, sender, the SMTP conversation with the server and, if "Include message content" is ticked, the message headers and body. SMTP passwords are never stored. This data is not sent to EmailIdea or anyone else, entries are deleted automatically after 30 days (maximum 200 entries), and you can delete them at any time from the log page. The log table and its settings are removed when the plugin is deleted.
     66
    4967== Features ==
    5068
    51 * API-based email delivery for maximum reliability
    52 * SaaS connectivity with EmailIdea platform
    53 * Advanced reporting and email logs
    54 * Easy setup via WordPress admin panel
    55 * Secure SMTP authentication
    56 * Supports SSL/TLS encryption
    57 * Works with all WordPress emails (core, plugins, themes)
    58 * Test email option to verify configuration
     69* Send all WordPress emails through the EmailIdea SMTP service
     70* Works with core, plugin and theme emails (contact forms, WooCommerce and more)
     71* Simple settings: host, username, password, From email and From name
     72* Test email to verify your configuration
     73* Optional email log: what was sent and the server's reply, with search, status filter, bulk delete and pagination
     74* SMTP login details are never stored in the log
     75* Delivery reporting in your EmailIdea account
    5976
    6077== Installation ==
    … …  
    63802. Activate the plugin through the 'Plugins' menu in WordPress.
    64813. Go to **Settings → EmailIdea SMTP Mailer**.
    65 4. Enter your SMTP credentials (Host, Port, Username, Password).
    66 5. Save changes and send a test email to confirm setup.
     824. Enter your SMTP credentials (Host, Username, Password).
     835. Enter the From Email and From Name you want your emails to show.
     846. Tick **Enable EmailIdea SMTP Mailer** at the bottom of the form and click **Save Changes**. The plugin does nothing until this box is ticked.
     857. Use **Send Test Email** to confirm the setup.
    6786
    6887== Frequently Asked Questions ==
    6988
    7089= Why do I need this plugin? =
    71 WordPress’s default mail function is unreliable. This plugin ensures your emails are delivered using EmailIdea’s SMTP servers.
     90WordPress's default mail function is unreliable on many hosts. This plugin sends your emails through EmailIdea's SMTP servers, which helps them reach the inbox.
    7291
    7392= Do I need an EmailIdea account? =
    74 Yes. You must register at EmailIdea to obtain SMTP credentials.
     93Yes. You must register at [EmailIdea](https://emailidea.biz/) to obtain your SMTP credentials.
    7594
    7695= Will this work with WooCommerce and other plugins? =
    77 Yes. Any email sent via WordPress will be routed through EmailIdea SMTP.
     96Yes. Any email sent through WordPress's standard email function is routed through EmailIdea SMTP, including emails from contact form plugins, WooCommerce, membership plugins and password reset emails.
     97
     98= My emails are not sending. What should I check? =
     991. Make sure **Enable EmailIdea SMTP Mailer** is ticked and the settings are saved.
     1002. Check the host, username and password, and re-enter the password if in doubt.
     1013. Fill in the From Email field.
     1024. Send a test email.
     1035. Turn on the email log (Settings → EmailIdea SMTP Logs), send another test email and open the log entry. It shows what was sent and the exact reply from the mail server.
     104
     105= Do I need to set a port or encryption? =
     106No. The plugin connects to the EmailIdea SMTP server automatically, on port 587 without encryption, which is what the EmailIdea SMTP service uses. The Port and Encryption settings were removed in version 1.0.2.
     107
     108= Is my SMTP password stored? =
     109Your SMTP password is stored in your site's database in the plugin settings, as the plugin needs it to log in to the mail server. It is never written to the email log and never sent to the EmailIdea activity webhook.
     110
     111= How do I use the email log? =
     112Go to Settings → EmailIdea SMTP Logs, tick **Enable email logging** and save. Each email then shows its status, recipient, subject, sender and the SMTP conversation. You can search, filter by status, delete entries and choose whether message content is stored. Turn logging off when you finish troubleshooting.
     113
     114= Does the plugin send my data anywhere? =
     115Your emails go to the EmailIdea SMTP server, and the plugin notifies EmailIdea when you save settings or submit the deactivation feedback form. Details are listed under External Services above.
    78116
    79117== Changelog ==
     118
     119= 1.0.2 =
     120* Fixed: SMTP passwords containing characters such as %, < or > or extra spaces were altered when saved. Passwords are now stored exactly as entered.
     121* Fixed: emails are always sent on port 587 without encryption, which is what the EmailIdea SMTP service supports. The Port and Encryption settings were removed.
     122* Fixed: the settings save no longer waits for the activity webhook, and leftover debug output was removed.
     123* New: optional email log (Settings → EmailIdea SMTP Logs) showing what was sent and the server's reply, with search, filter, bulk delete and pagination. Off by default; login credentials are never stored.
    80124
    81125= 1.0.1 =
    … …  
    87131== Upgrade Notice ==
    88132
     133= 1.0.2 =
     134Fixes passwords being altered on save. The Port and Encryption settings are removed; all mail is sent on port 587 without encryption. Please re-enter your SMTP password once after updating and send a test email.
     135
    89136= 1.0.1 =
    90137Performance improvements.
  • emailidea-smtp-mailer/trunk/uninstall.php

    r3476364 r3779168  
    2727        delete_option( $emailidea_smtp_mailer_option );
    2828}
     29
     30// Email log module.
     31delete_option( 'emailidea_logging_enabled' );
     32delete_option( 'emailidea_logging_content' );
     33delete_option( 'emailidea_smtp_db_version' );
     34delete_option( 'emailidea_smtp_mailer_version' );
     35delete_transient( 'emailidea_smtp_install_failed' );
     36delete_transient( 'emailidea_smtp_debug_webhook_log' );
     37
     38global $wpdb;
     39// phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.DirectDatabaseQuery.SchemaChange, WordPress.DB.PreparedSQL.InterpolatedNotPrepared
     40$wpdb->query( "DROP TABLE IF EXISTS {$wpdb->prefix}emailidea_smtp_logs" );
Note: See TracChangeset for help on using the changeset viewer.