Version Description
- 2020-01-21
- Fixed: HTML content type
- Fixed: Sendgrid crash when has duplicates recipients (bypass, Sendgrid issue).
- Fixed: Few OAuth undefined notifications
- Fixed: Duplicate Emails - When you have notify and confirm (Ninja forms, etc..)
- Fixed: Logs wp_error convert
Download this release
Release Info
Developer | yehudah |
Plugin | Post SMTP Mailer/Email Log |
Version | 2.0.10 |
Comparing to | |
See all releases |
Code changes from version 2.0.9 to 2.0.10
Postman/Phpmailer/PostsmtpMailer.php
CHANGED
@@ -15,6 +15,8 @@ add_action('plugins_loaded', function() {
|
|
15 |
|
16 |
class PostsmtpMailer extends PHPMailer {
|
17 |
|
|
|
|
|
18 |
private $options;
|
19 |
|
20 |
private $error;
|
@@ -38,11 +40,23 @@ class PostsmtpMailer extends PHPMailer {
|
|
38 |
}
|
39 |
|
40 |
public function hooks() {
|
|
|
41 |
if ( $this->options->getTransportType() == 'smtp' ) {
|
42 |
add_action( 'phpmailer_init', array( $this, 'phpmailer_smtp_init' ), 999 );
|
43 |
}
|
44 |
}
|
45 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
/**
|
47 |
* @param PHPMailer $mail
|
48 |
*/
|
@@ -76,9 +90,7 @@ class PostsmtpMailer extends PHPMailer {
|
|
76 |
$postmanWpMail = new PostmanWpMail();
|
77 |
$postmanWpMail->init();
|
78 |
|
79 |
-
$
|
80 |
-
|
81 |
-
list($to, $subject, $body, $headers, $attachments) = array_pad( $backtrace[1]['args'], 5, null );
|
82 |
|
83 |
// build the message
|
84 |
$postmanMessage = $postmanWpMail->processWpMailCall( $to, $subject, $body, $headers, $attachments );
|
@@ -114,8 +126,6 @@ class PostsmtpMailer extends PHPMailer {
|
|
114 |
|
115 |
$this->mailHeader = '';
|
116 |
|
117 |
-
do_action( 'post_smtp_on_failed', $log, $postmanMessage, $this->transcript, $transport, $exc->getMessage() );
|
118 |
-
|
119 |
$this->setError($exc->getMessage());
|
120 |
if ($this->exceptions) {
|
121 |
throw $exc;
|
15 |
|
16 |
class PostsmtpMailer extends PHPMailer {
|
17 |
|
18 |
+
private $mail_args = array();
|
19 |
+
|
20 |
private $options;
|
21 |
|
22 |
private $error;
|
40 |
}
|
41 |
|
42 |
public function hooks() {
|
43 |
+
add_filter( 'wp_mail', array( $this, 'get_mail_args' ) );
|
44 |
if ( $this->options->getTransportType() == 'smtp' ) {
|
45 |
add_action( 'phpmailer_init', array( $this, 'phpmailer_smtp_init' ), 999 );
|
46 |
}
|
47 |
}
|
48 |
|
49 |
+
public function get_mail_args( $atts ) {
|
50 |
+
$this->mail_args = array();
|
51 |
+
$this->mail_args[] = $atts['to'];
|
52 |
+
$this->mail_args[] = $atts['subject'];
|
53 |
+
$this->mail_args[] = $atts['message'];
|
54 |
+
$this->mail_args[] = $atts['headers'];
|
55 |
+
$this->mail_args[] = $atts['attachments'];
|
56 |
+
|
57 |
+
return $atts;
|
58 |
+
}
|
59 |
+
|
60 |
/**
|
61 |
* @param PHPMailer $mail
|
62 |
*/
|
90 |
$postmanWpMail = new PostmanWpMail();
|
91 |
$postmanWpMail->init();
|
92 |
|
93 |
+
list($to, $subject, $body, $headers, $attachments) = array_pad( $this->mail_args, 5, null );
|
|
|
|
|
94 |
|
95 |
// build the message
|
96 |
$postmanMessage = $postmanWpMail->processWpMailCall( $to, $subject, $body, $headers, $attachments );
|
126 |
|
127 |
$this->mailHeader = '';
|
128 |
|
|
|
|
|
129 |
$this->setError($exc->getMessage());
|
130 |
if ($this->exceptions) {
|
131 |
throw $exc;
|
Postman/Postman-Email-Log/PostmanEmailLogService.php
CHANGED
@@ -167,8 +167,9 @@ if ( ! class_exists( 'PostmanEmailLogService' ) ) {
|
|
167 |
$message = $post_id->get_error_message();
|
168 |
|
169 |
printf( '<div class="%1$s"><p>%2$s</p></div>', esc_attr( $class ), esc_html( $message ) );
|
170 |
-
return;
|
171 |
});
|
|
|
|
|
172 |
}
|
173 |
|
174 |
$this->logger->debug( sprintf( 'Saved message #%s to the database', $post_id ) );
|
167 |
$message = $post_id->get_error_message();
|
168 |
|
169 |
printf( '<div class="%1$s"><p>%2$s</p></div>', esc_attr( $class ), esc_html( $message ) );
|
|
|
170 |
});
|
171 |
+
|
172 |
+
return;
|
173 |
}
|
174 |
|
175 |
$this->logger->debug( sprintf( 'Saved message #%s to the database', $post_id ) );
|
Postman/Postman-Mail/PostmanSendGridMailEngine.php
CHANGED
@@ -57,9 +57,14 @@ if ( ! class_exists( 'PostmanSendGridMailEngine' ) ) {
|
|
57 |
// now log it
|
58 |
$sender->log( $this->logger, 'From' );
|
59 |
|
|
|
|
|
60 |
// add the to recipients
|
61 |
foreach ( ( array ) $message->getToRecipients() as $recipient ) {
|
62 |
-
|
|
|
|
|
|
|
63 |
}
|
64 |
|
65 |
$email->addTos( $emails );
|
@@ -111,16 +116,22 @@ if ( ! class_exists( 'PostmanSendGridMailEngine' ) ) {
|
|
111 |
// add the cc recipients
|
112 |
$ccEmails = array();
|
113 |
foreach ( ( array ) $message->getCcRecipients() as $recipient ) {
|
114 |
-
$recipient->
|
115 |
-
|
|
|
|
|
|
|
116 |
}
|
117 |
$email->addCcs($ccEmails);
|
118 |
|
119 |
// add the bcc recipients
|
120 |
$bccEmails = array();
|
121 |
foreach ( ( array ) $message->getBccRecipients() as $recipient ) {
|
122 |
-
$recipient->
|
123 |
-
|
|
|
|
|
|
|
124 |
}
|
125 |
$email->addBccs($bccEmails);
|
126 |
|
57 |
// now log it
|
58 |
$sender->log( $this->logger, 'From' );
|
59 |
|
60 |
+
$duplicates = array();
|
61 |
+
|
62 |
// add the to recipients
|
63 |
foreach ( ( array ) $message->getToRecipients() as $recipient ) {
|
64 |
+
if ( ! in_array( $recipient->getEmail(), $duplicates ) ) {
|
65 |
+
$emails[] = new \SendGrid\Mail\To( $recipient->getEmail(), $recipient->getName() );
|
66 |
+
$duplicates[] = $recipient->getEmail();
|
67 |
+
}
|
68 |
}
|
69 |
|
70 |
$email->addTos( $emails );
|
116 |
// add the cc recipients
|
117 |
$ccEmails = array();
|
118 |
foreach ( ( array ) $message->getCcRecipients() as $recipient ) {
|
119 |
+
if ( ! in_array( $recipient->getEmail(), $duplicates ) ) {
|
120 |
+
$recipient->log($this->logger, 'Cc');
|
121 |
+
$ccEmails[] = new \SendGrid\Mail\Cc($recipient->getEmail(), $recipient->getName());
|
122 |
+
$duplicates[] = $recipient->getEmail();
|
123 |
+
}
|
124 |
}
|
125 |
$email->addCcs($ccEmails);
|
126 |
|
127 |
// add the bcc recipients
|
128 |
$bccEmails = array();
|
129 |
foreach ( ( array ) $message->getBccRecipients() as $recipient ) {
|
130 |
+
if ( ! in_array( $recipient->getEmail(), $duplicates ) ) {
|
131 |
+
$recipient->log($this->logger, 'Bcc');
|
132 |
+
$bccEmails[] = new \SendGrid\Mail\Bcc($recipient->getEmail(), $recipient->getName());
|
133 |
+
$duplicates[] = $recipient->getEmail();
|
134 |
+
}
|
135 |
}
|
136 |
$email->addBccs($bccEmails);
|
137 |
|
Postman/PostmanOAuthToken.php
CHANGED
@@ -45,10 +45,26 @@ if (! class_exists ( 'PostmanOAuthToken.php' )) {
|
|
45 |
*/
|
46 |
private function load() {
|
47 |
$a = get_option ( PostmanOAuthToken::OPTIONS_NAME );
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
}
|
53 |
|
54 |
/**
|
45 |
*/
|
46 |
private function load() {
|
47 |
$a = get_option ( PostmanOAuthToken::OPTIONS_NAME );
|
48 |
+
|
49 |
+
if ( ! is_array( $a ) ) {
|
50 |
+
return;
|
51 |
+
}
|
52 |
+
|
53 |
+
if ( isset( $a [PostmanOAuthToken::ACCESS_TOKEN] ) ) {
|
54 |
+
$this->setAccessToken ( $a [PostmanOAuthToken::ACCESS_TOKEN] );
|
55 |
+
}
|
56 |
+
|
57 |
+
if ( isset( $a [PostmanOAuthToken::REFRESH_TOKEN] ) ) {
|
58 |
+
$this->setRefreshToken($a [PostmanOAuthToken::REFRESH_TOKEN]);
|
59 |
+
}
|
60 |
+
|
61 |
+
if ( isset( $a [PostmanOAuthToken::EXPIRY_TIME] ) ) {
|
62 |
+
$this->setExpiryTime($a [PostmanOAuthToken::EXPIRY_TIME]);
|
63 |
+
}
|
64 |
+
|
65 |
+
if ( isset( $a [PostmanOAuthToken::VENDOR_NAME] ) ) {
|
66 |
+
$this->setVendorName($a [PostmanOAuthToken::VENDOR_NAME]);
|
67 |
+
}
|
68 |
}
|
69 |
|
70 |
/**
|
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.
|
10 |
* Author: Yehuda Hassine
|
11 |
* Text Domain: post-smtp
|
12 |
* Author URI: https://postmansmtp.com
|
@@ -44,7 +44,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
44 |
define( 'POST_SMTP_BASE', __FILE__ );
|
45 |
define( 'POST_SMTP_PATH', __DIR__ );
|
46 |
define( 'POST_SMTP_URL', plugins_url('', POST_SMTP_BASE ) );
|
47 |
-
define( 'POST_SMTP_VER', '2.0.
|
48 |
define( 'POST_SMTP_SHOW_RELEASE_MESSAGE', true );
|
49 |
define( 'POST_SMTP_RELEASE_MESSAGE', 'We have a new Facebook group, feel free to join.' );
|
50 |
define( 'POST_SMTP_RELEASE_URL', 'https://www.facebook.com/groups/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.10
|
10 |
* Author: Yehuda Hassine
|
11 |
* Text Domain: post-smtp
|
12 |
* Author URI: https://postmansmtp.com
|
44 |
define( 'POST_SMTP_BASE', __FILE__ );
|
45 |
define( 'POST_SMTP_PATH', __DIR__ );
|
46 |
define( 'POST_SMTP_URL', plugins_url('', POST_SMTP_BASE ) );
|
47 |
+
define( 'POST_SMTP_VER', '2.0.10' );
|
48 |
define( 'POST_SMTP_SHOW_RELEASE_MESSAGE', true );
|
49 |
define( 'POST_SMTP_RELEASE_MESSAGE', 'We have a new Facebook group, feel free to join.' );
|
50 |
define( 'POST_SMTP_RELEASE_URL', 'https://www.facebook.com/groups/post.smtp' );
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=yehuda@m
|
|
4 |
Tags: postman smtp, postman, smtp, email, mail, mailer, email log, oauth2, gmail, google apps, hotmail, yahoo, mandrill api, sendgrid api, elastic email, office365, mailgun
|
5 |
Requires at least: 3.9
|
6 |
Tested up to: 5.3.2
|
7 |
-
Stable tag: 2.0.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -17,9 +17,6 @@ Get notified if your emails are failing inside your Chrome browser. [Download he
|
|
17 |
|
18 |
= WordPress Mail SMTP Plugin =
|
19 |
|
20 |
-
= Postman SMTP is back! =
|
21 |
-
No need to search for another SMTP plugin anymore.
|
22 |
-
|
23 |
Post SMTP is a next-generation WP Mail SMTP plugin, that assists in the delivery of email generated by your WordPress site. Post SMTP is the first and only plugin to support the [latest security standards](http://googleonlinesecurity.blogspot.ca/2014/04/new-security-measures-will-affect-older.html). With OAuth 2.0, there is **no need** to [store your email passsword](http://blog.codinghorror.com/youre-probably-storing-passwords-incorrectly/) in the WordPress database where it might be found.
|
24 |
|
25 |
The **Connectivity Test** and intelligent **Setup Wizard** scan your SMTP server to detect firewall blocks and eliminate configuration mistakes. The built-in **Email Log** is an invaluable resource for [diagnosing problems](https://wordpress.org/support/topic/ugly-e-mails-no-html-and-no-special-characters?replies=15) with emails. Even hosts that block the standard SMTP ports, like GoDaddy or Bluehost, can't stop your email as **Post SMTP can deliver via HTTPS** if it can't use SMTP.
|
@@ -87,6 +84,10 @@ SendGrid has a free SMTP plan that you can use to send up to 100 emails per day.
|
|
87 |
* Reliable SMTP delivery requires credentials with an email service provider
|
88 |
* OAuth 2.0 features require a Gmail, Hotmail or Yahoo mail OAuth 2.0 credentials
|
89 |
|
|
|
|
|
|
|
|
|
90 |
= CREDITS =
|
91 |
|
92 |
Post SMTP (aka Postman SMTP) plugin was originally created by Jason Hendriks.
|
@@ -286,6 +287,13 @@ To avoid being flagged as spam, you need to prove your email isn't forged. On a
|
|
286 |
|
287 |
== Changelog ==
|
288 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
289 |
= 2.0.9 - 2020-01-13
|
290 |
* Fixed: Notify on error bug - crash site
|
291 |
* Fixed: From header
|
4 |
Tags: postman smtp, postman, smtp, email, mail, mailer, email log, oauth2, gmail, google apps, hotmail, yahoo, mandrill api, sendgrid api, elastic email, office365, mailgun
|
5 |
Requires at least: 3.9
|
6 |
Tested up to: 5.3.2
|
7 |
+
Stable tag: 2.0.10
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
17 |
|
18 |
= WordPress Mail SMTP Plugin =
|
19 |
|
|
|
|
|
|
|
20 |
Post SMTP is a next-generation WP Mail SMTP plugin, that assists in the delivery of email generated by your WordPress site. Post SMTP is the first and only plugin to support the [latest security standards](http://googleonlinesecurity.blogspot.ca/2014/04/new-security-measures-will-affect-older.html). With OAuth 2.0, there is **no need** to [store your email passsword](http://blog.codinghorror.com/youre-probably-storing-passwords-incorrectly/) in the WordPress database where it might be found.
|
21 |
|
22 |
The **Connectivity Test** and intelligent **Setup Wizard** scan your SMTP server to detect firewall blocks and eliminate configuration mistakes. The built-in **Email Log** is an invaluable resource for [diagnosing problems](https://wordpress.org/support/topic/ugly-e-mails-no-html-and-no-special-characters?replies=15) with emails. Even hosts that block the standard SMTP ports, like GoDaddy or Bluehost, can't stop your email as **Post SMTP can deliver via HTTPS** if it can't use SMTP.
|
84 |
* Reliable SMTP delivery requires credentials with an email service provider
|
85 |
* OAuth 2.0 features require a Gmail, Hotmail or Yahoo mail OAuth 2.0 credentials
|
86 |
|
87 |
+
= Looking for Google Analytics plugin? =
|
88 |
+
If you used Google Analytics Dashboard For WP and you really hate the latest updates, I have forked the original plugin here:
|
89 |
+
[https://wordpress.org/plugins/metrics-query/](https://wordpress.org/plugins/metrics-query/)
|
90 |
+
|
91 |
= CREDITS =
|
92 |
|
93 |
Post SMTP (aka Postman SMTP) plugin was originally created by Jason Hendriks.
|
287 |
|
288 |
== Changelog ==
|
289 |
|
290 |
+
= 2.0.10 - 2020-01-21
|
291 |
+
* Fixed: HTML content type
|
292 |
+
* Fixed: Sendgrid crash when has duplicates recipients (bypass, Sendgrid issue).
|
293 |
+
* Fixed: Few OAuth undefined notifications
|
294 |
+
* Fixed: Duplicate Emails - When you have notify and confirm (Ninja forms, etc..)
|
295 |
+
* Fixed: Logs wp_error convert
|
296 |
+
|
297 |
= 2.0.9 - 2020-01-13
|
298 |
* Fixed: Notify on error bug - crash site
|
299 |
* Fixed: From header
|