Post SMTP Mailer/Email Log - Version 2.0.25-beta.1

Version Description

Download this release

Release Info

Developer wpexpertsio
Plugin Icon 128x128 Post SMTP Mailer/Email Log
Version 2.0.25-beta.1
Comparing to
See all releases

Code changes from version 2.0.24 to 2.0.25-beta.1

Postman/Postman-Email-Log/PostmanEmailLogView.php CHANGED
@@ -390,22 +390,7 @@ class PostmanEmailLogView extends WP_List_Table {
390
  );
391
  array_push( $data, $flattenedPost );
392
  }
393
-
394
- /**
395
- * This checks for sorting input and sorts the data in our array accordingly.
396
- *
397
- * In a real-world situation involving a database, you would probably want
398
- * to handle sorting by passing the 'orderby' and 'order' values directly
399
- * to a custom query. The returned data will be pre-sorted, and this array
400
- * sorting technique would be unnecessary.
401
- */
402
- function usort_reorder( $a, $b ) {
403
- $orderby = ( ! empty( $_REQUEST ['orderby'] )) ? sanitize_text_field($_REQUEST ['orderby']) : 'title'; // If no sort, default to title
404
- $order = ( ! empty( $_REQUEST ['order'] )) ? sanitize_text_field($_REQUEST ['order']) : 'asc'; // If no order, default to asc
405
- $result = strcmp( $a [ $orderby ], $b [ $orderby ] ); // Determine sort order
406
- return ($order === 'asc') ? $result : - $result; // Send final sort direction to usort
407
- }
408
- // usort($data, 'usort_reorder');
409
  /**
410
  * *********************************************************************
411
  * ---------------------------------------------------------------------
390
  );
391
  array_push( $data, $flattenedPost );
392
  }
393
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
394
  /**
395
  * *********************************************************************
396
  * ---------------------------------------------------------------------
Postman/Postman-Mail/google-api-client/vendor/google/apiclient/src/Google/Service/Resource.php CHANGED
@@ -288,7 +288,7 @@ class Google_Service_Resource
288
  }
289
 
290
  if (count($queryVars)) {
291
- $requestUrl .= '?' . implode($queryVars, '&');
292
  }
293
 
294
  return $requestUrl;
288
  }
289
 
290
  if (count($queryVars)) {
291
+ $requestUrl .= '?' . implode( '&', $queryVars );
292
  }
293
 
294
  return $requestUrl;
Postman/Postman-Send-Test-Email/PostmanSendTestEmailController.php CHANGED
@@ -204,6 +204,10 @@ class PostmanSendTestEmailAjaxController extends PostmanAbstractAjaxHandler {
204
 
205
  /**
206
  * This Ajax sends a test email
 
 
 
 
207
  */
208
  function sendTestEmailViaAjax() {
209
 
@@ -225,11 +229,15 @@ class PostmanSendTestEmailAjaxController extends PostmanAbstractAjaxHandler {
225
  ) );
226
 
227
  // this header specifies that there are many parts (one text part, one html part)
228
- $header = 'Content-Type: multipart/alternative;';
 
229
 
230
  // createt the message content
231
  $message = $this->createMessageContent();
232
-
 
 
 
233
  // send the message
234
  $success = wp_mail( $email, $subject, $message, $header );
235
 
@@ -339,7 +347,7 @@ class PostmanSendTestEmailAjaxController extends PostmanAbstractAjaxHandler {
339
  ' <div style="max-width: 600px; height: 400px; margin: 0 auto; overflow: hidden;background-image:url(\'https://ps.w.org/postman-smtp/assets/email/poofytoo.png\');background-repeat: no-repeat;">',
340
  sprintf( ' <div style="margin:50px 0 0 300px; width:300px; font-size:2em;">%s</div>', $greeting ),
341
  sprintf( ' <div style="text-align:right;font-size: 1.4em; color:black;margin:150px 0 0 200px;">%s', $sentBy ),
342
- ' <br/><span style="font-size: 0.8em"><a style="color:#3f73b9" href="https://wordpress.org/plugins/post-smtp/">https://wordpress.org/plugins/post-smtp/</a></span>',
343
  ' </div>',
344
  ' </div>',
345
  ' </td>',
@@ -356,4 +364,4 @@ class PostmanSendTestEmailAjaxController extends PostmanAbstractAjaxHandler {
356
  );
357
  return implode( PostmanMessage::EOL, $messageArray );
358
  }
359
- }
204
 
205
  /**
206
  * This Ajax sends a test email
207
+ *
208
+ * @since 1.0
209
+ * @since 2.0.25 @filter `postman_test_email_args`
210
+ * @version 1.0
211
  */
212
  function sendTestEmailViaAjax() {
213
 
229
  ) );
230
 
231
  // this header specifies that there are many parts (one text part, one html part)
232
+ $header = 'Content-Type: multipart/alternative; \r\n';
233
+ $header .= 'MIME-Version: 1.0 \r\n';
234
 
235
  // createt the message content
236
  $message = $this->createMessageContent();
237
+
238
+ $email_args = apply_filters( 'postman_test_email_args', compact( 'email', 'subject', 'message', 'header' ) );
239
+ extract( $email_args );
240
+
241
  // send the message
242
  $success = wp_mail( $email, $subject, $message, $header );
243
 
347
  ' <div style="max-width: 600px; height: 400px; margin: 0 auto; overflow: hidden;background-image:url(\'https://ps.w.org/postman-smtp/assets/email/poofytoo.png\');background-repeat: no-repeat;">',
348
  sprintf( ' <div style="margin:50px 0 0 300px; width:300px; font-size:2em;">%s</div>', $greeting ),
349
  sprintf( ' <div style="text-align:right;font-size: 1.4em; color:black;margin:150px 0 0 200px;">%s', $sentBy ),
350
+ ' <br/>',
351
  ' </div>',
352
  ' </div>',
353
  ' </td>',
364
  );
365
  return implode( PostmanMessage::EOL, $messageArray );
366
  }
367
+ }
Postman/Postman.php CHANGED
@@ -193,6 +193,7 @@ class Postman {
193
  if ( PostmanUtils::isAdmin() && is_admin() ) {
194
  $this->setup_admin();
195
  }
 
196
  }
197
 
198
  /**
@@ -425,10 +426,15 @@ class Postman {
425
  *
426
  * The Gmail API used to be a separate plugin which was registered when that plugin
427
  * was loaded. But now both the SMTP, Gmail API and other transports are registered here.
428
- *
429
  * @param mixed $pluginData
430
  */
431
  private function registerTransports( $rootPluginFilenameAndPath ) {
 
 
 
 
 
432
  $postman_transport_registry = PostmanTransportRegistry::getInstance();
433
 
434
  $postman_transport_registry->registerTransport( new PostmanDefaultModuleTransport( $rootPluginFilenameAndPath ) );
193
  if ( PostmanUtils::isAdmin() && is_admin() ) {
194
  $this->setup_admin();
195
  }
196
+
197
  }
198
 
199
  /**
426
  *
427
  * The Gmail API used to be a separate plugin which was registered when that plugin
428
  * was loaded. But now both the SMTP, Gmail API and other transports are registered here.
429
+ * @since 2.0.25 require `PostmanAdminController.php` if not exists.
430
  * @param mixed $pluginData
431
  */
432
  private function registerTransports( $rootPluginFilenameAndPath ) {
433
+
434
+ if( !class_exists( 'PostmanAdminController' ) ) {
435
+ require_once 'PostmanAdminController.php';
436
+ }
437
+
438
  $postman_transport_registry = PostmanTransportRegistry::getInstance();
439
 
440
  $postman_transport_registry->registerTransport( new PostmanDefaultModuleTransport( $rootPluginFilenameAndPath ) );
Postman/PostmanViewController.php CHANGED
@@ -238,8 +238,8 @@ if ( ! class_exists( 'PostmanViewController' ) ) {
238
  */
239
  public static function outputChildPageHeader( $title, $slug = '' ) {
240
  printf( '<h2>%s</h2>', sprintf( __( '%s Setup', 'post-smtp' ), __( 'Post SMTP', 'post-smtp' ) ) );
241
- printf( '<div id="postman-main-menu" class="welcome-panel %s">', $slug );
242
- print '<div class="welcome-panel-content">';
243
  print '<div class="welcome-panel-column-container">';
244
  print '<div class="welcome-panel-column welcome-panel-last">';
245
  printf( '<h4>%s</h4>', $title );
@@ -328,8 +328,8 @@ if ( ! class_exists( 'PostmanViewController' ) ) {
328
  //include_once POST_SMTP_PATH . '/Postman/extra/donation.php';
329
 
330
  echo '<div class="twitter-wrap">';
331
- print '<div id="postman-main-menu" class="welcome-panel">';
332
- print '<div class="welcome-panel-content">';
333
  print '<div class="welcome-panel-column-container" style="display: flex; flex-wrap: wrap; justify-content: space-around; align-items: flex-start;">';
334
  print '<div class="ps-welcome-panel-column">';
335
  printf( '<h4>%s</h4>', __( 'Configuration', 'post-smtp' ) );
238
  */
239
  public static function outputChildPageHeader( $title, $slug = '' ) {
240
  printf( '<h2>%s</h2>', sprintf( __( '%s Setup', 'post-smtp' ), __( 'Post SMTP', 'post-smtp' ) ) );
241
+ printf( '<div id="postman-main-menu" class="post-smtp-welcome-panel %s">', $slug );
242
+ print '<div class="post-smtp-welcome-panel-content">';
243
  print '<div class="welcome-panel-column-container">';
244
  print '<div class="welcome-panel-column welcome-panel-last">';
245
  printf( '<h4>%s</h4>', $title );
328
  //include_once POST_SMTP_PATH . '/Postman/extra/donation.php';
329
 
330
  echo '<div class="twitter-wrap">';
331
+ print '<div id="postman-main-menu" class="post-smtp-welcome-panel">';
332
+ print '<div class="post-smtp-welcome-panel-content">';
333
  print '<div class="welcome-panel-column-container" style="display: flex; flex-wrap: wrap; justify-content: space-around; align-items: flex-start;">';
334
  print '<div class="ps-welcome-panel-column">';
335
  printf( '<h4>%s</h4>', __( 'Configuration', 'post-smtp' ) );
Postman/PostmanWpMailBinder.php CHANGED
@@ -108,13 +108,22 @@ if (! class_exists ( 'PostmanWpMailBinder' )) {
108
  * Optional. Additional headers.
109
  * @param string|array $attachments
110
  * Optional. Files to attach.
 
111
  * @return bool Whether the email contents were sent successfully.
112
  */
113
  function wp_mail($to, $subject, $message, $headers = '', $attachments = array()) {
114
  // create an instance of PostmanWpMail to send the message
115
  $postmanWpMail = new PostmanWpMail ();
116
  // send the mail
 
 
 
117
  $result = $postmanWpMail->send ( $to, $subject, $message, $headers, $attachments );
 
 
 
 
 
118
  // return the result
119
  return $result;
120
  }
108
  * Optional. Additional headers.
109
  * @param string|array $attachments
110
  * Optional. Files to attach.
111
+ * @since 2.0.25 @action `wp_mail_succeeded` added.
112
  * @return bool Whether the email contents were sent successfully.
113
  */
114
  function wp_mail($to, $subject, $message, $headers = '', $attachments = array()) {
115
  // create an instance of PostmanWpMail to send the message
116
  $postmanWpMail = new PostmanWpMail ();
117
  // send the mail
118
+
119
+ $mail_data = compact( 'to', 'subject', 'message', 'headers', 'attachments' );
120
+
121
  $result = $postmanWpMail->send ( $to, $subject, $message, $headers, $attachments );
122
+
123
+ if( $result ) {
124
+ do_action( 'wp_mail_succeeded', $mail_data );
125
+ }
126
+
127
  // return the result
128
  return $result;
129
  }
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.0.24
10
  * Author: Post SMTP
11
  * Text Domain: post-smtp
12
  * Author URI: https://postmansmtp.com
@@ -35,7 +35,7 @@ if ( ! defined( 'ABSPATH' ) ) {
35
  define( 'POST_SMTP_BASE', __FILE__ );
36
  define( 'POST_SMTP_PATH', __DIR__ );
37
  define( 'POST_SMTP_URL', plugins_url('', POST_SMTP_BASE ) );
38
- define( 'POST_SMTP_VER', '2.0.24' );
39
  define( 'POST_SMTP_SHOW_RELEASE_MESSAGE', true );
40
  define( 'POST_SMTP_RELEASE_MESSAGE', "THE FUTURE OF Post SMTP - PLEASE READ!" );
41
  define( 'POST_SMTP_RELEASE_URL', 'https://postmansmtp.com/the-future-of-post-smtp/' );
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.0.25
10
  * Author: Post SMTP
11
  * Text Domain: post-smtp
12
  * Author URI: https://postmansmtp.com
35
  define( 'POST_SMTP_BASE', __FILE__ );
36
  define( 'POST_SMTP_PATH', __DIR__ );
37
  define( 'POST_SMTP_URL', plugins_url('', POST_SMTP_BASE ) );
38
+ define( 'POST_SMTP_VER', '2.0.25' );
39
  define( 'POST_SMTP_SHOW_RELEASE_MESSAGE', true );
40
  define( 'POST_SMTP_RELEASE_MESSAGE', "THE FUTURE OF Post SMTP - PLEASE READ!" );
41
  define( 'POST_SMTP_RELEASE_URL', 'https://postmansmtp.com/the-future-of-post-smtp/' );
readme.txt CHANGED
@@ -281,6 +281,18 @@ To avoid being flagged as spam, you need to prove your email isn't forged. On a
281
 
282
  == Changelog ==
283
 
 
 
 
 
 
 
 
 
 
 
 
 
284
  = 2.0.24 - 2022-02-13
285
  * Update: THE FUTURE OF Post SMTP - https://postmansmtp.com/the-future-of-post-smtp/
286
 
281
 
282
  == Changelog ==
283
 
284
+ = 2.0.25 =
285
+ * **Bug Fixes**
286
+ * WP 5.9 Compatibility Ballon UI issue.
287
+ * Uncaught Error: Class ‘PostmanAdminController’ not found.
288
+ * Ajax error appearing due to Google API depreciated function.
289
+
290
+ * **Improvements**
291
+ * Code Optimization.
292
+ * MIME version added to test mails to prevent emails from spam.
293
+ * NEW Filter `postman_test_email_args` added to modify test email arguments.
294
+ * NEW Action `wp_mail_succeeded` added to exectue on every success email delivery.
295
+
296
  = 2.0.24 - 2022-02-13
297
  * Update: THE FUTURE OF Post SMTP - https://postmansmtp.com/the-future-of-post-smtp/
298
 
style/postman.css CHANGED
@@ -12,8 +12,9 @@
12
  border-radius: 5px;
13
  }
14
 
15
- .welcome-panel-content {
16
- width: 100%;
 
17
  }
18
 
19
  #postman-main-menu.welcome-panel {
@@ -135,6 +136,10 @@ p#back_to_main_menu {
135
  background: url(images/badge.png) no-repeat;
136
  }
137
 
 
 
 
 
138
 
139
  @keyframes pulse {
140
  0% {
12
  border-radius: 5px;
13
  }
14
 
15
+ .post-smtp-welcome-panel-content {
16
+ width: 100%;
17
+ padding: 10px 0;
18
  }
19
 
20
  #postman-main-menu.welcome-panel {
136
  background: url(images/badge.png) no-repeat;
137
  }
138
 
139
+ .post-smtp-welcome-panel {
140
+ background: #fff;
141
+ }
142
+
143
 
144
  @keyframes pulse {
145
  0% {