Post SMTP Mailer/Email Log - Version 2.1.10

Version Description

  • 2022-10-10 =
  • FIXES
  • Avoid redirection to wizard on activation
  • Issue in resend emails
  • Made backend setting fields visible
  • IMPROVEMENTS
  • Email host message
  • Sendgrid message id to prevent spam emails
Download this release

Release Info

Developer wpexpertsio
Plugin Icon 128x128 Post SMTP Mailer/Email Log
Version 2.1.10
Comparing to
See all releases

Code changes from version 2.1.9 to 2.1.10

Postman/Postman-Email-Log/PostmanEmailLogView.php CHANGED
@@ -112,7 +112,9 @@ class PostmanEmailLogView extends WP_List_Table {
112
  if ( ! (empty( $meta_values ['original_to'] [0] ) && empty( $meta_values ['originalHeaders'] [0] )) ) {
113
  // $actions ['resend'] = sprintf ( '<a href="%s">%s</a>', $resendUrl, __ ( 'Resend', 'post-smtp' ) );
114
  $emails = $meta_values ['original_to'] [0];
115
- $to = is_array( $emails ) ? implode( ',', array_walk($emails, 'sanitize_email') ) : sanitize_email( $emails );
 
 
116
 
117
  $actions ['resend'] = sprintf( '<span id="%3$s"><a class="postman-open-resend" href="#">%2$s</a></span><div style="display:none;"><input type="hidden" name="security" value="%6$s"><input type="text" name="mail_to" class="regular-text ltr" data-id="%1$s" value="%4$s"><button class="postman-resend button button-primary">%2$s</button><i style="color: black;">%5$s</i></div>', $item ['ID'], __( 'Resend', 'post-smtp' ), 'resend-' . $item ['ID'], esc_attr( $to ), __( 'comma-separated for multiple emails', 'post-smtp' ), wp_create_nonce( 'resend' ) );
118
  } else {
112
  if ( ! (empty( $meta_values ['original_to'] [0] ) && empty( $meta_values ['originalHeaders'] [0] )) ) {
113
  // $actions ['resend'] = sprintf ( '<a href="%s">%s</a>', $resendUrl, __ ( 'Resend', 'post-smtp' ) );
114
  $emails = $meta_values ['original_to'] [0];
115
+ $to = !is_array( $emails ) ? explode( ',', $emails ) : $emails;
116
+ $to = array_map( 'sanitize_email', $to );
117
+ $to = implode( ',', $to );
118
 
119
  $actions ['resend'] = sprintf( '<span id="%3$s"><a class="postman-open-resend" href="#">%2$s</a></span><div style="display:none;"><input type="hidden" name="security" value="%6$s"><input type="text" name="mail_to" class="regular-text ltr" data-id="%1$s" value="%4$s"><button class="postman-resend button button-primary">%2$s</button><i style="color: black;">%5$s</i></div>', $item ['ID'], __( 'Resend', 'post-smtp' ), 'resend-' . $item ['ID'], esc_attr( $to ), __( 'comma-separated for multiple emails', 'post-smtp' ), wp_create_nonce( 'resend' ) );
120
  } else {
Postman/Postman-Mail/PostmanSendGridMailEngine.php CHANGED
@@ -136,7 +136,7 @@ if ( ! class_exists( 'PostmanSendGridMailEngine' ) ) {
136
  $email->addBccs($bccEmails);
137
 
138
  // add the messageId
139
- $messageId = $message->getMessageId();
140
  if ( ! empty( $messageId ) ) {
141
  $email->addHeader( 'message-id', $messageId );
142
  }
136
  $email->addBccs($bccEmails);
137
 
138
  // add the messageId
139
+ $messageId = '<' . $message->getMessageId() . '>';
140
  if ( ! empty( $messageId ) ) {
141
  $email->addHeader( 'message-id', $messageId );
142
  }
Postman/Postman-Mail/PostmanSmtpModuleTransport.php CHANGED
@@ -410,7 +410,7 @@ class PostmanSmtpModuleTransport extends PostmanAbstractZendModuleTransport impl
410
  * Get the settings option array and print one of its values
411
  */
412
  public function hostname_callback() {
413
- printf( '<input type="text" id="input_hostname" name="postman_options[hostname]" class="ps-input" value="%s" size="40" class="required" placeholder="%s"/>', null !== $this->options->getHostname() ? esc_attr( $this->options->getHostname() ) : '', __( 'Required', 'post-smtp' ) );
414
  }
415
 
416
  /**
@@ -460,7 +460,7 @@ class PostmanSmtpModuleTransport extends PostmanAbstractZendModuleTransport impl
460
  $inputValue = (null !== $this->options->getUsername() ? esc_attr( $this->options->getUsername() ) : '');
461
  $inputDescription = __( 'The Username is usually the same as the Envelope-From Email Address.', 'post-smtp' );
462
  print ('<input tabindex="99" id="fake_user_name" name="fake_user[name]" style="position:absolute; top:-500px;" type="text" value="Safari Autofill Me">') ;
463
- printf( '<input type="text" id="input_basic_auth_username" name="postman_options[basic_auth_username]" value="%s" size="40" class="required ps-input ps-w-75" placeholder="%s"/><br/><span class="postman_input_description ps-input ps-w-75">%s</span>', $inputValue, __( 'Required', 'post-smtp' ), $inputDescription );
464
  }
465
 
466
  /**
@@ -468,7 +468,7 @@ class PostmanSmtpModuleTransport extends PostmanAbstractZendModuleTransport impl
468
  */
469
  public function basic_auth_password_callback() {
470
  print ('<input tabindex="99" id="fake_password" name="fake[password]" style="position:absolute; top:-500px;" type="password" class="ps-input ps-w-75" value="Safari Autofill Me">') ;
471
- printf( '<input type="password" id="input_basic_auth_password" name="postman_options[basic_auth_password]" value="%s" size="40" class="required ps-input ps-w-75" placeholder="%s"/>', null !== $this->options->getPassword() ? esc_attr( PostmanUtils::obfuscatePassword( $this->options->getPassword() ) ) : '', __( 'Required', 'post-smtp' ) );
472
  print ' <input type="button" id="togglePasswordField" value="Show Password" class="button button-secondary" style="visibility:hidden" />';
473
  }
474
 
@@ -476,14 +476,14 @@ class PostmanSmtpModuleTransport extends PostmanAbstractZendModuleTransport impl
476
  * Get the settings option array and print one of its values
477
  */
478
  public function oauth_client_id_callback() {
479
- printf( '<input type="text" onClick="this.setSelectionRange(0, this.value.length)" id="oauth_client_id" name="postman_options[oauth_client_id]" value="%s" size="60" class="required ps-input ps-w-75" placeholder="%s"/>', null !== $this->options->getClientId() ? esc_attr( $this->options->getClientId() ) : '', __( 'Required', 'post-smtp' ) );
480
  }
481
 
482
  /**
483
  * Get the settings option array and print one of its values
484
  */
485
  public function oauth_client_secret_callback() {
486
- printf( '<input type="text" onClick="this.setSelectionRange(0, this.value.length)" autocomplete="off" id="oauth_client_secret" name="postman_options[oauth_client_secret]" value="%s" size="60" class="required ps-input ps-w-75" placeholder="%s"/>', null !== $this->options->getClientSecret() ? esc_attr( $this->options->getClientSecret() ) : '', __( 'Required', 'post-smtp' ) );
487
  }
488
 
489
  /**
@@ -541,6 +541,7 @@ class PostmanSmtpModuleTransport extends PostmanAbstractZendModuleTransport impl
541
  */
542
  public function printWizardMailServerHostnameStep() {
543
  printf( '<legend>%s</legend>', _x( 'Which host will relay the mail?', 'Wizard Step Title', 'post-smtp' ) );
 
544
  printf( '<p>%s</p>', __( 'This is the Outgoing (SMTP) Mail Server, or Mail Submission Agent (MSA), which Postman delegates mail delivery to. This server is specific to your email account, and if you don\'t know what to use, ask your email service provider.', 'post-smtp' ) );
545
  printf( '<p><label>%s<label></p>', __( 'Note that many WordPress hosts, such as GoDaddy, Bluehost and Dreamhost, require that you use their mail accounts with their mail servers, and prevent you from using others.', 'post-smtp' ) );
546
 
@@ -555,7 +556,8 @@ class PostmanSmtpModuleTransport extends PostmanAbstractZendModuleTransport impl
555
  printf( '<p id="godaddy_block"><span style="background-color:yellow"><b>%s</b>: %s</span></p>', $warning, $nonGodaddyDomainMessage );
556
  /* Translators: Where (%1$s) is the SPF-info URL and (%2$s) is the name of the web host */
557
  $godaddyCustomDomainMessage = sprintf( __( 'If you own this domain, make sure it has an <a href="%1$s">SPF record authorizing %2$s</a> as a relay, or you will have delivery problems.', 'post-smtp' ), 'http://www.mail-tester.com/spf/godaddy', 'GoDaddy' );
558
- printf( '<p id="godaddy_spf_required"><span style="background-color:yellow"><b>%s</b>: %s</span></p>', $warning, $godaddyCustomDomainMessage );
 
559
  }
560
 
561
  /**
410
  * Get the settings option array and print one of its values
411
  */
412
  public function hostname_callback() {
413
+ printf( '<input type="text" id="input_hostname" name="postman_options[hostname]" value="%s" size="40" class="required" placeholder="%s"/>', null !== $this->options->getHostname() ? esc_attr( $this->options->getHostname() ) : '', __( 'Required', 'post-smtp' ) );
414
  }
415
 
416
  /**
460
  $inputValue = (null !== $this->options->getUsername() ? esc_attr( $this->options->getUsername() ) : '');
461
  $inputDescription = __( 'The Username is usually the same as the Envelope-From Email Address.', 'post-smtp' );
462
  print ('<input tabindex="99" id="fake_user_name" name="fake_user[name]" style="position:absolute; top:-500px;" type="text" value="Safari Autofill Me">') ;
463
+ printf( '<input type="text" id="input_basic_auth_username" name="postman_options[basic_auth_username]" value="%s" size="40" class="required ps-w-75" placeholder="%s"/><br/><span class="postman_input_description ps-input ps-w-75">%s</span>', $inputValue, __( 'Required', 'post-smtp' ), $inputDescription );
464
  }
465
 
466
  /**
468
  */
469
  public function basic_auth_password_callback() {
470
  print ('<input tabindex="99" id="fake_password" name="fake[password]" style="position:absolute; top:-500px;" type="password" class="ps-input ps-w-75" value="Safari Autofill Me">') ;
471
+ printf( '<input type="password" id="input_basic_auth_password" name="postman_options[basic_auth_password]" value="%s" size="40" class="required ps-w-75" placeholder="%s"/>', null !== $this->options->getPassword() ? esc_attr( PostmanUtils::obfuscatePassword( $this->options->getPassword() ) ) : '', __( 'Required', 'post-smtp' ) );
472
  print ' <input type="button" id="togglePasswordField" value="Show Password" class="button button-secondary" style="visibility:hidden" />';
473
  }
474
 
476
  * Get the settings option array and print one of its values
477
  */
478
  public function oauth_client_id_callback() {
479
+ printf( '<input type="text" onClick="this.setSelectionRange(0, this.value.length)" id="oauth_client_id" name="postman_options[oauth_client_id]" value="%s" size="60" class="required ps-w-75" placeholder="%s"/>', null !== $this->options->getClientId() ? esc_attr( $this->options->getClientId() ) : '', __( 'Required', 'post-smtp' ) );
480
  }
481
 
482
  /**
483
  * Get the settings option array and print one of its values
484
  */
485
  public function oauth_client_secret_callback() {
486
+ printf( '<input type="text" onClick="this.setSelectionRange(0, this.value.length)" autocomplete="off" id="oauth_client_secret" name="postman_options[oauth_client_secret]" value="%s" size="60" class="required ps-w-75" placeholder="%s"/>', null !== $this->options->getClientSecret() ? esc_attr( $this->options->getClientSecret() ) : '', __( 'Required', 'post-smtp' ) );
487
  }
488
 
489
  /**
541
  */
542
  public function printWizardMailServerHostnameStep() {
543
  printf( '<legend>%s</legend>', _x( 'Which host will relay the mail?', 'Wizard Step Title', 'post-smtp' ) );
544
+ printf( '<p><label>%s</label></p>', __( 'If you want to use SendinBlue, Mandrill, Mailgun, SendGrid or other (API), You can skip this step by pressing next.', 'post-smtp' ) );
545
  printf( '<p>%s</p>', __( 'This is the Outgoing (SMTP) Mail Server, or Mail Submission Agent (MSA), which Postman delegates mail delivery to. This server is specific to your email account, and if you don\'t know what to use, ask your email service provider.', 'post-smtp' ) );
546
  printf( '<p><label>%s<label></p>', __( 'Note that many WordPress hosts, such as GoDaddy, Bluehost and Dreamhost, require that you use their mail accounts with their mail servers, and prevent you from using others.', 'post-smtp' ) );
547
 
556
  printf( '<p id="godaddy_block"><span style="background-color:yellow"><b>%s</b>: %s</span></p>', $warning, $nonGodaddyDomainMessage );
557
  /* Translators: Where (%1$s) is the SPF-info URL and (%2$s) is the name of the web host */
558
  $godaddyCustomDomainMessage = sprintf( __( 'If you own this domain, make sure it has an <a href="%1$s">SPF record authorizing %2$s</a> as a relay, or you will have delivery problems.', 'post-smtp' ), 'http://www.mail-tester.com/spf/godaddy', 'GoDaddy' );
559
+ $godaddy_note = __( 'Note: You may have delivery problems if you continue using the default outgoing mail server hostname.', 'post-smtp' );
560
+ printf( '<div id="godaddy_spf_required"><p><span style="background-color:yellow"><b>%s</b>: %s</span></p><p class="ps-default-host-name"><label>%s<label></p></div>', $warning, $godaddyCustomDomainMessage, $godaddy_note );
561
  }
562
 
563
  /**
Postman/PostmanViewController.php CHANGED
@@ -441,7 +441,7 @@ if ( ! class_exists( 'PostmanViewController' ) ) {
441
  </a>
442
  </div>
443
  <div>
444
- <a href="<?php echo esc_url( 'https://wordpress.org/support/plugin/post-smtp/' ); ?>" target="_blank">
445
  <img src="<?php echo esc_url( POST_SMTP_ASSETS . 'images/icons/finger.png' ) ?>" width="15" />
446
  <?php echo esc_html( 'Online Support' ); ?>
447
  </a>
441
  </a>
442
  </div>
443
  <div>
444
+ <a href="<?php echo esc_url( 'https://postmansmtp.com/forums/' ); ?>" target="_blank">
445
  <img src="<?php echo esc_url( POST_SMTP_ASSETS . 'images/icons/finger.png' ) ?>" width="15" />
446
  <?php echo esc_html( 'Online Support' ); ?>
447
  </a>
postman-smtp.php CHANGED
@@ -6,7 +6,7 @@ if ( ! defined( 'ABSPATH' ) ) {
6
  * Plugin Name: Post SMTP
7
  * Plugin URI: https://wordpress.org/plugins/post-smtp/
8
  * Description: Email not reliable? Post SMTP is the first and only WordPress SMTP plugin to implement OAuth 2.0 for Gmail, Hotmail and Yahoo Mail. Setup is a breeze with the Configuration Wizard and integrated Port Tester. Enjoy worry-free delivery even if your password changes!
9
- * Version: 2.1.9
10
  * Author: Post SMTP
11
  * Text Domain: post-smtp
12
  * Author URI: https://postmansmtp.com
@@ -54,7 +54,7 @@ if ( ! function_exists( 'ps_fs' ) ) {
54
  'has_paid_plans' => true,
55
  'menu' => array(
56
  'slug' => 'postman',
57
- 'first-path' => 'admin.php?page=postman/configuration_wizard',
58
  'account' => false,
59
  ),
60
  ) );
@@ -76,7 +76,7 @@ if ( ! function_exists( 'ps_fs' ) ) {
76
  define( 'POST_SMTP_BASE', __FILE__ );
77
  define( 'POST_SMTP_PATH', __DIR__ );
78
  define( 'POST_SMTP_URL', plugins_url('', POST_SMTP_BASE ) );
79
- define( 'POST_SMTP_VER', '2.1.9' );
80
  define( 'POST_SMTP_ASSETS', plugin_dir_url( __FILE__ ) . 'assets/' );
81
 
82
  $postman_smtp_exist = in_array( 'postman-smtp/postman-smtp.php', (array) get_option( 'active_plugins', array() ) );
6
  * Plugin Name: Post SMTP
7
  * Plugin URI: https://wordpress.org/plugins/post-smtp/
8
  * Description: Email not reliable? Post SMTP is the first and only WordPress SMTP plugin to implement OAuth 2.0 for Gmail, Hotmail and Yahoo Mail. Setup is a breeze with the Configuration Wizard and integrated Port Tester. Enjoy worry-free delivery even if your password changes!
9
+ * Version: 2.1.10
10
  * Author: Post SMTP
11
  * Text Domain: post-smtp
12
  * Author URI: https://postmansmtp.com
54
  'has_paid_plans' => true,
55
  'menu' => array(
56
  'slug' => 'postman',
57
+ 'first-path' => 'admin.php?page=postman',
58
  'account' => false,
59
  ),
60
  ) );
76
  define( 'POST_SMTP_BASE', __FILE__ );
77
  define( 'POST_SMTP_PATH', __DIR__ );
78
  define( 'POST_SMTP_URL', plugins_url('', POST_SMTP_BASE ) );
79
+ define( 'POST_SMTP_VER', '2.1.10' );
80
  define( 'POST_SMTP_ASSETS', plugin_dir_url( __FILE__ ) . 'assets/' );
81
 
82
  $postman_smtp_exist = in_array( 'postman-smtp/postman-smtp.php', (array) get_option( 'active_plugins', array() ) );
readme.txt CHANGED
@@ -4,7 +4,7 @@ Contributors: wpexpertsio
4
  Tags: email, mail, smtp, wordpress smtp, email log, postman smtp, postman, gmail, google apps, hotmail, yahoo, mandrill api, sendgrid api, elastic email, office365, mailgun
5
  Requires at least: 3.9
6
  Tested up to: 6.0.2
7
- Stable tag: 2.1.9
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -290,6 +290,15 @@ To avoid being flagged as spam, you need to prove your email isn't forged. On a
290
 
291
  == Changelog ==
292
 
 
 
 
 
 
 
 
 
 
293
  = 2.1.9 - 2022-09-9 =
294
  * **FIX**
295
  * User Compatibility Fix
4
  Tags: email, mail, smtp, wordpress smtp, email log, postman smtp, postman, gmail, google apps, hotmail, yahoo, mandrill api, sendgrid api, elastic email, office365, mailgun
5
  Requires at least: 3.9
6
  Tested up to: 6.0.2
7
+ Stable tag: 2.1.10
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
290
 
291
  == Changelog ==
292
 
293
+ = 2.1.10 - 2022-10-10 =
294
+ * **FIXES**
295
+ * Avoid redirection to wizard on activation
296
+ * Issue in resend emails
297
+ * Made backend setting fields visible
298
+ * **IMPROVEMENTS**
299
+ * Email host message
300
+ * Sendgrid message id to prevent spam emails
301
+
302
  = 2.1.9 - 2022-09-9 =
303
  * **FIX**
304
  * User Compatibility Fix