Version Description
- 2019-08-21
- Fixed: A few security issues.
Download this release
Release Info
Developer | yehudah |
Plugin | Post SMTP Mailer/Email Log |
Version | 2.0.3 |
Comparing to | |
See all releases |
Code changes from version 2.0.2 to 2.0.3
- Postman/Phpmailer/PostsmtpMailer.php +3 -0
- Postman/Postman-Auth/PostmanAbstractAuthenticationManager.php +3 -0
- Postman/Postman-Auth/PostmanAuthenticationManager.php +3 -0
- Postman/Postman-Auth/PostmanAuthenticationManagerFactory.php +3 -0
- Postman/Postman-Auth/PostmanGoogleAuthenticationManager.php +3 -0
- Postman/Postman-Auth/PostmanMicrosoftAuthenticationManager.php +3 -0
- Postman/Postman-Auth/PostmanNonOAuthAuthenticationManager.php +3 -0
- Postman/Postman-Auth/PostmanStateIdMissingException.php +3 -0
- Postman/Postman-Auth/PostmanYahooAuthenticationManager.php +3 -0
- Postman/Postman-Configuration/PostmanConfigurationController.php +24 -0
- Postman/Postman-Configuration/PostmanImportableConfiguration.php +4 -0
- Postman/Postman-Configuration/PostmanRegisterConfigurationSettings.php +5 -1
- Postman/Postman-Configuration/PostmanSmtpDiscovery.php +4 -0
- Postman/Postman-Configuration/postman_manual_config.js +2 -0
- Postman/Postman-Configuration/postman_wizard.js +15 -7
- Postman/Postman-Connectivity-Test/Postman-PortTest.php +4 -0
- Postman/Postman-Connectivity-Test/PostmanConnectivityTestController.php +18 -0
- Postman/Postman-Connectivity-Test/postman_port_test.js +8 -4
- Postman/Postman-Controller/PostmanAdminPointer.php +4 -0
- Postman/Postman-Controller/PostmanDashboardWidgetController.php +4 -0
- Postman/Postman-Controller/PostmanManageConfigurationAjaxHandler.php +4 -0
- Postman/Postman-Controller/PostmanWelcomeController.php +3 -0
- Postman/Postman-Diagnostic-Test/PostmanDiagnosticTestController.php +12 -0
- Postman/Postman-Diagnostic-Test/postman_diagnostics.js +2 -1
- Postman/Postman-Email-Log/PostmanEmailLogController.php +17 -5
- Postman/Postman-Email-Log/PostmanEmailLogPostType.php +3 -0
- Postman/Postman-Email-Log/PostmanEmailLogService.php +4 -0
- Postman/Postman-Email-Log/PostmanEmailLogView.php +8 -2
- Postman/Postman-Mail/PostmanContactForm7.php +3 -0
- Postman/Postman-Mail/PostmanDefaultModuleTransport.php +4 -0
- Postman/Postman-Mail/PostmanEmailAddress.php +4 -0
- Postman/Postman-Mail/PostmanGmailApiModuleTransport.php +4 -0
- Postman/Postman-Mail/PostmanGmailApiModuleZendMailTransport.php +4 -0
- Postman/Postman-Mail/PostmanMailEngine.php +4 -0
- Postman/Postman-Mail/PostmanMailgunMailEngine.php +4 -0
- Postman/Postman-Mail/PostmanMailgunTransport.php +7 -3
- Postman/Postman-Mail/PostmanMandrillMailEngine.php +4 -0
- Postman/Postman-Mail/PostmanMandrillTransport.php +4 -0
- Postman/Postman-Mail/PostmanMessage.php +4 -0
- Postman/Postman-Mail/PostmanModuleTransport.php +5 -1
- Postman/Postman-Mail/PostmanMyMailConnector.php +4 -0
- Postman/Postman-Mail/PostmanSendGridMailEngine.php +3 -0
- Postman/Postman-Mail/PostmanSendGridTransport.php +4 -0
- Postman/Postman-Mail/PostmanSmtpModuleTransport.php +4 -0
- Postman/Postman-Mail/PostmanTransportRegistry.php +4 -0
- Postman/Postman-Mail/PostmanWooCommerce.php +3 -0
- Postman/Postman-Mail/PostmanZendMailEngine.php +4 -0
- Postman/Postman-Mail/PostmanZendMailTransportConfigurationFactory.php +4 -0
- Postman/Postman-Send-Test-Email/PostmanSendTestEmailController.php +9 -0
- Postman/Postman-Send-Test-Email/postman_send_test_email.js +2 -1
- Postman/Postman.php +7 -29
- Postman/PostmanAdminController.php +4 -0
- Postman/PostmanAjaxController.php +4 -0
- Postman/PostmanConfigTextHelper.php +4 -0
- Postman/PostmanEmailLogs.php +3 -1
- Postman/PostmanInputSanitizer.php +3 -0
- Postman/PostmanInstaller.php +4 -0
- Postman/PostmanLogger.php +4 -0
- Postman/PostmanMessageHandler.php +3 -0
- Postman/PostmanOAuthToken.php +3 -0
- Postman/PostmanOptions.php +4 -1
- Postman/PostmanPluginFeedback.php +4 -2
- Postman/PostmanPreRequisitesCheck.php +3 -0
- Postman/PostmanSession.php +3 -0
- Postman/PostmanState.php +3 -0
- Postman/PostmanUtils.php +6 -2
- Postman/PostmanViewController.php +7 -7
- Postman/PostmanWpMail.php +4 -2
- Postman/PostmanWpMailBinder.php +3 -0
- Postman/notifications/INotify.php +3 -0
- Postman/notifications/PostmanMailNotify.php +3 -1
- Postman/notifications/PostmanNotify.php +3 -0
- Postman/notifications/PostmanPushoverNotify.php +3 -1
- Postman/notifications/PostmanSlackNotify.php +3 -1
- postman-smtp.php +6 -2
- readme.txt +7 -4
- script/postman.js +9 -0
Postman/Phpmailer/PostsmtpMailer.php
CHANGED
@@ -1,4 +1,7 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
2 |
require_once ABSPATH . WPINC . '/class-phpmailer.php';
|
3 |
require_once ABSPATH . WPINC . '/class-smtp.php';
|
4 |
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
require_once ABSPATH . WPINC . '/class-phpmailer.php';
|
6 |
require_once ABSPATH . WPINC . '/class-smtp.php';
|
7 |
|
Postman/Postman-Auth/PostmanAbstractAuthenticationManager.php
CHANGED
@@ -1,4 +1,7 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
2 |
if (! class_exists ( "PostmanAbstractAuthenticationManager" )) {
|
3 |
|
4 |
require_once 'PostmanAuthenticationManager.php';
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
if (! class_exists ( "PostmanAbstractAuthenticationManager" )) {
|
6 |
|
7 |
require_once 'PostmanAuthenticationManager.php';
|
Postman/Postman-Auth/PostmanAuthenticationManager.php
CHANGED
@@ -1,4 +1,7 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
2 |
if (! interface_exists ( "PostmanAuthenticationManager" )) {
|
3 |
interface PostmanAuthenticationManager {
|
4 |
const POSTMAN_AUTHORIZATION_IN_PROGRESS = 'request_oauth_permission';
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
if (! interface_exists ( "PostmanAuthenticationManager" )) {
|
6 |
interface PostmanAuthenticationManager {
|
7 |
const POSTMAN_AUTHORIZATION_IN_PROGRESS = 'request_oauth_permission';
|
Postman/Postman-Auth/PostmanAuthenticationManagerFactory.php
CHANGED
@@ -1,4 +1,7 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
2 |
if (! class_exists ( "PostmanAuthenticationManagerFactory" )) {
|
3 |
|
4 |
require_once 'PostmanGoogleAuthenticationManager.php';
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
if (! class_exists ( "PostmanAuthenticationManagerFactory" )) {
|
6 |
|
7 |
require_once 'PostmanGoogleAuthenticationManager.php';
|
Postman/Postman-Auth/PostmanGoogleAuthenticationManager.php
CHANGED
@@ -1,4 +1,7 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
2 |
if (! class_exists ( "PostmanGoogleAuthenticationManager" )) {
|
3 |
|
4 |
require_once 'PostmanAbstractAuthenticationManager.php';
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
if (! class_exists ( "PostmanGoogleAuthenticationManager" )) {
|
6 |
|
7 |
require_once 'PostmanAbstractAuthenticationManager.php';
|
Postman/Postman-Auth/PostmanMicrosoftAuthenticationManager.php
CHANGED
@@ -1,4 +1,7 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
2 |
if (! class_exists ( "PostmanMicrosoftAuthenticationManager" )) {
|
3 |
|
4 |
require_once 'PostmanAbstractAuthenticationManager.php';
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
if (! class_exists ( "PostmanMicrosoftAuthenticationManager" )) {
|
6 |
|
7 |
require_once 'PostmanAbstractAuthenticationManager.php';
|
Postman/Postman-Auth/PostmanNonOAuthAuthenticationManager.php
CHANGED
@@ -1,4 +1,7 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
2 |
if (! class_exists ( "PostmanNonOAuthAuthenticationManager" )) {
|
3 |
|
4 |
require_once 'PostmanAuthenticationManager.php';
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
if (! class_exists ( "PostmanNonOAuthAuthenticationManager" )) {
|
6 |
|
7 |
require_once 'PostmanAuthenticationManager.php';
|
Postman/Postman-Auth/PostmanStateIdMissingException.php
CHANGED
@@ -1,4 +1,7 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
2 |
if (! class_exists ( 'PostmanStateIdMissingException' )) {
|
3 |
class PostmanStateIdMissingException extends Exception {
|
4 |
}
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
if (! class_exists ( 'PostmanStateIdMissingException' )) {
|
6 |
class PostmanStateIdMissingException extends Exception {
|
7 |
}
|
Postman/Postman-Auth/PostmanYahooAuthenticationManager.php
CHANGED
@@ -1,4 +1,7 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
2 |
if (! class_exists ( "PostmanYahooAuthenticationManager" )) {
|
3 |
|
4 |
require_once 'PostmanAbstractAuthenticationManager.php';
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
if (! class_exists ( "PostmanYahooAuthenticationManager" )) {
|
6 |
|
7 |
require_once 'PostmanAbstractAuthenticationManager.php';
|
Postman/Postman-Configuration/PostmanConfigurationController.php
CHANGED
@@ -1,4 +1,8 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
2 |
require_once( 'PostmanRegisterConfigurationSettings.php' );
|
3 |
class PostmanConfigurationController {
|
4 |
const CONFIGURATION_SLUG = 'postman/configuration';
|
@@ -207,6 +211,9 @@ class PostmanConfigurationController {
|
|
207 |
print '</ul>';
|
208 |
|
209 |
print '<form method="post" action="options.php">';
|
|
|
|
|
|
|
210 |
// This prints out all hidden setting fields
|
211 |
settings_fields( PostmanAdminController::SETTINGS_GROUP_NAME );
|
212 |
|
@@ -235,6 +242,9 @@ class PostmanConfigurationController {
|
|
235 |
print '<div id="mailgun_settings" class="authentication_setting non-basic non-oauth2">';
|
236 |
do_settings_sections( PostmanMailgunTransport::MAILGUN_AUTH_OPTIONS );
|
237 |
print '</div>';
|
|
|
|
|
|
|
238 |
print '</section>';
|
239 |
// end account config
|
240 |
?>
|
@@ -438,6 +448,8 @@ class PostmanConfigurationController {
|
|
438 |
printf( '<input type="hidden" id="input_%2$s" name="%1$s[%2$s]" value="%3$s" />', PostmanOptions::POSTMAN_OPTIONS, PostmanOptions::STEALTH_MODE, $this->options->isStealthModeEnabled() );
|
439 |
printf( '<input type="hidden" id="input_%2$s" name="%1$s[%2$s]" value="%3$s" />', PostmanOptions::POSTMAN_OPTIONS, PostmanOptions::TEMPORARY_DIRECTORY, $this->options->getTempDirectory() );
|
440 |
|
|
|
|
|
441 |
// display the setting text
|
442 |
settings_fields( PostmanAdminController::SETTINGS_GROUP_NAME );
|
443 |
|
@@ -619,6 +631,9 @@ class PostmanGetHostnameByEmailAjaxController extends PostmanAbstractAjaxHandler
|
|
619 |
* This Ajax function retrieves the smtp hostname for a give e-mail address
|
620 |
*/
|
621 |
function getAjaxHostnameByEmail() {
|
|
|
|
|
|
|
622 |
$goDaddyHostDetected = $this->getBooleanRequestParameter( 'go_daddy' );
|
623 |
$email = $this->getRequestParameter( 'email' );
|
624 |
$d = new PostmanSmtpDiscovery( $email );
|
@@ -653,6 +668,9 @@ class PostmanManageConfigurationAjaxHandler extends PostmanAbstractAjaxHandler {
|
|
653 |
* @throws Exception
|
654 |
*/
|
655 |
function getManualConfigurationViaAjax() {
|
|
|
|
|
|
|
656 |
$queryTransportType = $this->getTransportTypeFromRequest();
|
657 |
$queryAuthType = $this->getAuthenticationTypeFromRequest();
|
658 |
$queryHostname = $this->getHostnameFromRequest();
|
@@ -683,6 +701,9 @@ class PostmanManageConfigurationAjaxHandler extends PostmanAbstractAjaxHandler {
|
|
683 |
* The UI response is built so the user may choose a different socket with different options.
|
684 |
*/
|
685 |
function getWizardConfigurationViaAjax() {
|
|
|
|
|
|
|
686 |
$this->logger->debug( 'in getWizardConfiguration' );
|
687 |
$originalSmtpServer = $this->getRequestParameter( 'original_smtp_server' );
|
688 |
$queryHostData = $this->getHostDataFromRequest();
|
@@ -892,6 +913,9 @@ class PostmanImportConfigurationAjaxController extends PostmanAbstractAjaxHandle
|
|
892 |
* and pushes them into the Postman configuration screen.
|
893 |
*/
|
894 |
function getConfigurationFromExternalPluginViaAjax() {
|
|
|
|
|
|
|
895 |
$importableConfiguration = new PostmanImportableConfiguration();
|
896 |
$plugin = $this->getRequestParameter( 'plugin' );
|
897 |
$this->logger->debug( 'Looking for config=' . $plugin );
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
+
|
6 |
require_once( 'PostmanRegisterConfigurationSettings.php' );
|
7 |
class PostmanConfigurationController {
|
8 |
const CONFIGURATION_SLUG = 'postman/configuration';
|
211 |
print '</ul>';
|
212 |
|
213 |
print '<form method="post" action="options.php">';
|
214 |
+
|
215 |
+
wp_nonce_field('post-smtp', 'security');
|
216 |
+
|
217 |
// This prints out all hidden setting fields
|
218 |
settings_fields( PostmanAdminController::SETTINGS_GROUP_NAME );
|
219 |
|
242 |
print '<div id="mailgun_settings" class="authentication_setting non-basic non-oauth2">';
|
243 |
do_settings_sections( PostmanMailgunTransport::MAILGUN_AUTH_OPTIONS );
|
244 |
print '</div>';
|
245 |
+
|
246 |
+
do_action( 'post_smtp_settings_sections' );
|
247 |
+
|
248 |
print '</section>';
|
249 |
// end account config
|
250 |
?>
|
448 |
printf( '<input type="hidden" id="input_%2$s" name="%1$s[%2$s]" value="%3$s" />', PostmanOptions::POSTMAN_OPTIONS, PostmanOptions::STEALTH_MODE, $this->options->isStealthModeEnabled() );
|
449 |
printf( '<input type="hidden" id="input_%2$s" name="%1$s[%2$s]" value="%3$s" />', PostmanOptions::POSTMAN_OPTIONS, PostmanOptions::TEMPORARY_DIRECTORY, $this->options->getTempDirectory() );
|
450 |
|
451 |
+
wp_nonce_field('post-smtp', 'security' );
|
452 |
+
|
453 |
// display the setting text
|
454 |
settings_fields( PostmanAdminController::SETTINGS_GROUP_NAME );
|
455 |
|
631 |
* This Ajax function retrieves the smtp hostname for a give e-mail address
|
632 |
*/
|
633 |
function getAjaxHostnameByEmail() {
|
634 |
+
|
635 |
+
check_admin_referer('post-smtp', 'security');
|
636 |
+
|
637 |
$goDaddyHostDetected = $this->getBooleanRequestParameter( 'go_daddy' );
|
638 |
$email = $this->getRequestParameter( 'email' );
|
639 |
$d = new PostmanSmtpDiscovery( $email );
|
668 |
* @throws Exception
|
669 |
*/
|
670 |
function getManualConfigurationViaAjax() {
|
671 |
+
|
672 |
+
check_admin_referer('post-smtp', 'security');
|
673 |
+
|
674 |
$queryTransportType = $this->getTransportTypeFromRequest();
|
675 |
$queryAuthType = $this->getAuthenticationTypeFromRequest();
|
676 |
$queryHostname = $this->getHostnameFromRequest();
|
701 |
* The UI response is built so the user may choose a different socket with different options.
|
702 |
*/
|
703 |
function getWizardConfigurationViaAjax() {
|
704 |
+
|
705 |
+
check_admin_referer('post-smtp', 'security');
|
706 |
+
|
707 |
$this->logger->debug( 'in getWizardConfiguration' );
|
708 |
$originalSmtpServer = $this->getRequestParameter( 'original_smtp_server' );
|
709 |
$queryHostData = $this->getHostDataFromRequest();
|
913 |
* and pushes them into the Postman configuration screen.
|
914 |
*/
|
915 |
function getConfigurationFromExternalPluginViaAjax() {
|
916 |
+
|
917 |
+
check_admin_referer('post-smtp', 'security');
|
918 |
+
|
919 |
$importableConfiguration = new PostmanImportableConfiguration();
|
920 |
$plugin = $this->getRequestParameter( 'plugin' );
|
921 |
$this->logger->debug( 'Looking for config=' . $plugin );
|
Postman/Postman-Configuration/PostmanImportableConfiguration.php
CHANGED
@@ -1,4 +1,8 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
2 |
if (! interface_exists ( 'PostmanPluginOptions' )) {
|
3 |
interface PostmanPluginOptions {
|
4 |
public function getPluginSlug();
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
+
|
6 |
if (! interface_exists ( 'PostmanPluginOptions' )) {
|
7 |
interface PostmanPluginOptions {
|
8 |
public function getPluginSlug();
|
Postman/Postman-Configuration/PostmanRegisterConfigurationSettings.php
CHANGED
@@ -1,4 +1,8 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
2 |
class PostmanSettingsRegistry {
|
3 |
|
4 |
private $options;
|
@@ -11,7 +15,7 @@ class PostmanSettingsRegistry {
|
|
11 |
* Fires on the admin_init method
|
12 |
*/
|
13 |
public function on_admin_init() {
|
14 |
-
|
15 |
}
|
16 |
|
17 |
/**
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
+
|
6 |
class PostmanSettingsRegistry {
|
7 |
|
8 |
private $options;
|
15 |
* Fires on the admin_init method
|
16 |
*/
|
17 |
public function on_admin_init() {
|
18 |
+
$this->registerSettings();
|
19 |
}
|
20 |
|
21 |
/**
|
Postman/Postman-Configuration/PostmanSmtpDiscovery.php
CHANGED
@@ -1,4 +1,8 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
2 |
if (! class_exists ( 'PostmanSmtpMappings' )) {
|
3 |
class PostmanSmtpMappings {
|
4 |
// if an email is in this domain array, it is a known smtp server (easy lookup)
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
+
|
6 |
if (! class_exists ( 'PostmanSmtpMappings' )) {
|
7 |
class PostmanSmtpMappings {
|
8 |
// if an email is in this domain array, it is a known smtp server (easy lookup)
|
Postman/Postman-Configuration/postman_manual_config.js
CHANGED
@@ -77,11 +77,13 @@ function reloadOauthSection() {
|
|
77 |
var hostname = jQuery(postman_hostname_element_name).val();
|
78 |
var transport = jQuery('#input_transport_type').val();
|
79 |
var authtype = jQuery('select#input_auth_type').val();
|
|
|
80 |
var data = {
|
81 |
'action' : 'manual_config',
|
82 |
'auth_type' : authtype,
|
83 |
'hostname' : hostname,
|
84 |
'transport' : transport,
|
|
|
85 |
};
|
86 |
jQuery.post(ajaxurl, data, function(response) {
|
87 |
if (response.success) {
|
77 |
var hostname = jQuery(postman_hostname_element_name).val();
|
78 |
var transport = jQuery('#input_transport_type').val();
|
79 |
var authtype = jQuery('select#input_auth_type').val();
|
80 |
+
var security = jQuery('#security').val();
|
81 |
var data = {
|
82 |
'action' : 'manual_config',
|
83 |
'auth_type' : authtype,
|
84 |
'hostname' : hostname,
|
85 |
'transport' : transport,
|
86 |
+
'security' : security
|
87 |
};
|
88 |
jQuery.post(ajaxurl, data, function(response) {
|
89 |
if (response.success) {
|
Postman/Postman-Configuration/postman_wizard.js
CHANGED
@@ -33,7 +33,8 @@ function checkGoDaddyAndCheckEmail(email) {
|
|
33 |
'action' : 'postman_wizard_port_test',
|
34 |
'hostname' : 'relay-hosting.secureserver.net',
|
35 |
'port' : 25,
|
36 |
-
'timeout' : 3
|
|
|
37 |
};
|
38 |
goDaddy = 'unknown';
|
39 |
checkedEmail = false;
|
@@ -50,7 +51,8 @@ function checkEmail(goDaddyHostDetected, email) {
|
|
50 |
var data = {
|
51 |
'action' : 'postman_check_email',
|
52 |
'go_daddy' : goDaddyHostDetected,
|
53 |
-
'email' : email
|
|
|
54 |
};
|
55 |
jQuery.post(
|
56 |
ajaxurl,
|
@@ -282,7 +284,8 @@ function getHostsToCheck(hostname) {
|
|
282 |
var data = {
|
283 |
'action' : 'postman_get_hosts_to_test',
|
284 |
'hostname' : hostname,
|
285 |
-
'original_smtp_server' : smtpDiscovery.hostname
|
|
|
286 |
};
|
287 |
jQuery.post(ajaxurl, data, function(response) {
|
288 |
if (postmanValidateAjaxResponseWithPopup(response)) {
|
@@ -311,7 +314,8 @@ function handleHostsToCheckResponse(response) {
|
|
311 |
'action' : 'postman_wizard_port_test',
|
312 |
'hostname' : hostname,
|
313 |
'port' : port,
|
314 |
-
'transport' : transport
|
|
|
315 |
};
|
316 |
postThePortTest(hostname, port, data);
|
317 |
}
|
@@ -358,6 +362,7 @@ function handlePortTestResponse(hostname, port, data, response) {
|
|
358 |
} else {
|
359 |
// SMTP failed, try again on the SMTPS port
|
360 |
data['action'] = 'postman_wizard_port_test_smtps';
|
|
|
361 |
postThePortTest(hostname, port, data);
|
362 |
}
|
363 |
}
|
@@ -386,7 +391,8 @@ function afterPortsChecked() {
|
|
386 |
var data = {
|
387 |
'action' : 'get_wizard_configuration_options',
|
388 |
'original_smtp_server' : smtpDiscovery.hostname,
|
389 |
-
'host_data' : connectivtyTestResults
|
|
|
390 |
};
|
391 |
postTheConfigurationRequest(data);
|
392 |
hide('#connectivity_test_status');
|
@@ -403,7 +409,8 @@ function userOverrideMenu() {
|
|
403 |
"input:radio[name='user_socket_override']:checked").val(),
|
404 |
'user_auth_override' : jQuery(
|
405 |
"input:radio[name='user_auth_override']:checked").val(),
|
406 |
-
'host_data' : connectivtyTestResults
|
|
|
407 |
};
|
408 |
postTheConfigurationRequest(data);
|
409 |
}
|
@@ -544,7 +551,8 @@ function getConfiguration() {
|
|
544 |
if (plugin != '') {
|
545 |
var data = {
|
546 |
'action' : 'import_configuration',
|
547 |
-
'plugin' : plugin
|
|
|
548 |
};
|
549 |
jQuery
|
550 |
.post(
|
33 |
'action' : 'postman_wizard_port_test',
|
34 |
'hostname' : 'relay-hosting.secureserver.net',
|
35 |
'port' : 25,
|
36 |
+
'timeout' : 3,
|
37 |
+
'security' : jQuery('#security').val(),
|
38 |
};
|
39 |
goDaddy = 'unknown';
|
40 |
checkedEmail = false;
|
51 |
var data = {
|
52 |
'action' : 'postman_check_email',
|
53 |
'go_daddy' : goDaddyHostDetected,
|
54 |
+
'email' : email,
|
55 |
+
'security' : jQuery('#security').val()
|
56 |
};
|
57 |
jQuery.post(
|
58 |
ajaxurl,
|
284 |
var data = {
|
285 |
'action' : 'postman_get_hosts_to_test',
|
286 |
'hostname' : hostname,
|
287 |
+
'original_smtp_server' : smtpDiscovery.hostname,
|
288 |
+
'security' : jQuery('#security').val(),
|
289 |
};
|
290 |
jQuery.post(ajaxurl, data, function(response) {
|
291 |
if (postmanValidateAjaxResponseWithPopup(response)) {
|
314 |
'action' : 'postman_wizard_port_test',
|
315 |
'hostname' : hostname,
|
316 |
'port' : port,
|
317 |
+
'transport' : transport,
|
318 |
+
'security' : jQuery('#security').val(),
|
319 |
};
|
320 |
postThePortTest(hostname, port, data);
|
321 |
}
|
362 |
} else {
|
363 |
// SMTP failed, try again on the SMTPS port
|
364 |
data['action'] = 'postman_wizard_port_test_smtps';
|
365 |
+
data['security'] = jQuery('#security').val();
|
366 |
postThePortTest(hostname, port, data);
|
367 |
}
|
368 |
}
|
391 |
var data = {
|
392 |
'action' : 'get_wizard_configuration_options',
|
393 |
'original_smtp_server' : smtpDiscovery.hostname,
|
394 |
+
'host_data' : connectivtyTestResults,
|
395 |
+
'security': jQuery('#security').val()
|
396 |
};
|
397 |
postTheConfigurationRequest(data);
|
398 |
hide('#connectivity_test_status');
|
409 |
"input:radio[name='user_socket_override']:checked").val(),
|
410 |
'user_auth_override' : jQuery(
|
411 |
"input:radio[name='user_auth_override']:checked").val(),
|
412 |
+
'host_data' : connectivtyTestResults,
|
413 |
+
'security' : jQuery('#security').val()
|
414 |
};
|
415 |
postTheConfigurationRequest(data);
|
416 |
}
|
551 |
if (plugin != '') {
|
552 |
var data = {
|
553 |
'action' : 'import_configuration',
|
554 |
+
'plugin' : plugin,
|
555 |
+
'_wpnonce' : jQuery('#_wpnonce').val(),
|
556 |
};
|
557 |
jQuery
|
558 |
.post(
|
Postman/Postman-Connectivity-Test/Postman-PortTest.php
CHANGED
@@ -1,4 +1,8 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
2 |
require_once ("registered-domain-libs-master/PHP/effectiveTLDs.inc.php");
|
3 |
require_once ("registered-domain-libs-master/PHP/regDomain.inc.php");
|
4 |
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
+
|
6 |
require_once ("registered-domain-libs-master/PHP/effectiveTLDs.inc.php");
|
7 |
require_once ("registered-domain-libs-master/PHP/regDomain.inc.php");
|
8 |
|
Postman/Postman-Connectivity-Test/PostmanConnectivityTestController.php
CHANGED
@@ -1,4 +1,7 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
2 |
|
3 |
class PostmanConnectivityTestController {
|
4 |
|
@@ -137,6 +140,9 @@ class PostmanConnectivityTestController {
|
|
137 |
print '<p>';
|
138 |
print __( 'This test determines which well-known ports are available for Postman to use.', 'post-smtp' );
|
139 |
print '<form id="port_test_form_id" method="post">';
|
|
|
|
|
|
|
140 |
printf( '<label for="hostname">%s</label>', __( 'Outgoing Mail Server Hostname', 'post-smtp' ) );
|
141 |
$this->port_test_hostname_callback();
|
142 |
submit_button( _x( 'Begin Test', 'Button Label', 'post-smtp' ), 'primary', 'begin-port-test', true );
|
@@ -205,6 +211,9 @@ class PostmanPortTestAjaxController {
|
|
205 |
* combinations to run the connectivity test on
|
206 |
*/
|
207 |
function getPortsToTestViaAjax() {
|
|
|
|
|
|
|
208 |
$queryHostname = PostmanUtils::getRequestParameter( 'hostname' );
|
209 |
// originalSmtpServer is what SmtpDiscovery thinks the SMTP server should be, given an email address
|
210 |
$originalSmtpServer = PostmanUtils::getRequestParameter( 'original_smtp_server' );
|
@@ -222,6 +231,9 @@ class PostmanPortTestAjaxController {
|
|
222 |
* This Ajax function retrieves whether a TCP port is open or not
|
223 |
*/
|
224 |
function runPortQuizTest() {
|
|
|
|
|
|
|
225 |
$hostname = 'portquiz.net';
|
226 |
$port = intval( PostmanUtils::getRequestParameter( 'port' ) );
|
227 |
$this->logger->debug( 'testing TCP port: hostname ' . $hostname . ' port ' . $port );
|
@@ -235,6 +247,9 @@ class PostmanPortTestAjaxController {
|
|
235 |
* This is called by both the Wizard and Port Test
|
236 |
*/
|
237 |
function runSmtpTest() {
|
|
|
|
|
|
|
238 |
$hostname = trim( PostmanUtils::getRequestParameter( 'hostname' ) );
|
239 |
$port = intval( PostmanUtils::getRequestParameter( 'port' ) );
|
240 |
$transport = trim( PostmanUtils::getRequestParameter( 'transport' ) );
|
@@ -258,6 +273,9 @@ class PostmanPortTestAjaxController {
|
|
258 |
* This Ajax function retrieves whether a TCP port is open or not
|
259 |
*/
|
260 |
function runSmtpsTest() {
|
|
|
|
|
|
|
261 |
$hostname = trim( PostmanUtils::getRequestParameter( 'hostname' ) );
|
262 |
$port = intval( PostmanUtils::getRequestParameter( 'port' ) );
|
263 |
$transport = trim( PostmanUtils::getRequestParameter( 'transport' ) );
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
|
6 |
class PostmanConnectivityTestController {
|
7 |
|
140 |
print '<p>';
|
141 |
print __( 'This test determines which well-known ports are available for Postman to use.', 'post-smtp' );
|
142 |
print '<form id="port_test_form_id" method="post">';
|
143 |
+
|
144 |
+
wp_nonce_field('post-smtp', 'security' );
|
145 |
+
|
146 |
printf( '<label for="hostname">%s</label>', __( 'Outgoing Mail Server Hostname', 'post-smtp' ) );
|
147 |
$this->port_test_hostname_callback();
|
148 |
submit_button( _x( 'Begin Test', 'Button Label', 'post-smtp' ), 'primary', 'begin-port-test', true );
|
211 |
* combinations to run the connectivity test on
|
212 |
*/
|
213 |
function getPortsToTestViaAjax() {
|
214 |
+
|
215 |
+
check_admin_referer('post-smtp', 'security');
|
216 |
+
|
217 |
$queryHostname = PostmanUtils::getRequestParameter( 'hostname' );
|
218 |
// originalSmtpServer is what SmtpDiscovery thinks the SMTP server should be, given an email address
|
219 |
$originalSmtpServer = PostmanUtils::getRequestParameter( 'original_smtp_server' );
|
231 |
* This Ajax function retrieves whether a TCP port is open or not
|
232 |
*/
|
233 |
function runPortQuizTest() {
|
234 |
+
|
235 |
+
check_admin_referer('post-smtp', 'security');
|
236 |
+
|
237 |
$hostname = 'portquiz.net';
|
238 |
$port = intval( PostmanUtils::getRequestParameter( 'port' ) );
|
239 |
$this->logger->debug( 'testing TCP port: hostname ' . $hostname . ' port ' . $port );
|
247 |
* This is called by both the Wizard and Port Test
|
248 |
*/
|
249 |
function runSmtpTest() {
|
250 |
+
|
251 |
+
check_admin_referer('post-smtp', 'security');
|
252 |
+
|
253 |
$hostname = trim( PostmanUtils::getRequestParameter( 'hostname' ) );
|
254 |
$port = intval( PostmanUtils::getRequestParameter( 'port' ) );
|
255 |
$transport = trim( PostmanUtils::getRequestParameter( 'transport' ) );
|
273 |
* This Ajax function retrieves whether a TCP port is open or not
|
274 |
*/
|
275 |
function runSmtpsTest() {
|
276 |
+
|
277 |
+
check_admin_referer('post-smtp', 'security');
|
278 |
+
|
279 |
$hostname = trim( PostmanUtils::getRequestParameter( 'hostname' ) );
|
280 |
$port = intval( PostmanUtils::getRequestParameter( 'port' ) );
|
281 |
$transport = trim( PostmanUtils::getRequestParameter( 'transport' ) );
|
Postman/Postman-Connectivity-Test/postman_port_test.js
CHANGED
@@ -23,7 +23,8 @@ jQuery(document).ready(function() {
|
|
23 |
var hostname = jQuery(postman_hostname_element_name).val();
|
24 |
var data = {
|
25 |
'action' : 'postman_get_hosts_to_test',
|
26 |
-
'hostname' : hostname
|
|
|
27 |
};
|
28 |
|
29 |
totalPortsTested = 0;
|
@@ -71,7 +72,8 @@ function portQuizTest(socket, hostname, port) {
|
|
71 |
var data = {
|
72 |
'action' : 'postman_port_quiz_test',
|
73 |
'hostname' : hostname,
|
74 |
-
'port' : port
|
|
|
75 |
};
|
76 |
jQuery.post(
|
77 |
ajaxurl,
|
@@ -104,7 +106,8 @@ function firstServiceTest(socket, hostname, port, open) {
|
|
104 |
var data = {
|
105 |
'action' : 'postman_test_port',
|
106 |
'hostname' : hostname,
|
107 |
-
'port' : port
|
|
|
108 |
};
|
109 |
jQuery
|
110 |
.post(
|
@@ -197,7 +200,8 @@ function portTest3(socket, hostname, port, open) {
|
|
197 |
var data = {
|
198 |
'action' : 'postman_test_smtps',
|
199 |
'hostname' : hostname,
|
200 |
-
'port' : port
|
|
|
201 |
};
|
202 |
jQuery
|
203 |
.post(
|
23 |
var hostname = jQuery(postman_hostname_element_name).val();
|
24 |
var data = {
|
25 |
'action' : 'postman_get_hosts_to_test',
|
26 |
+
'hostname' : hostname,
|
27 |
+
'security' : jQuery('#security').val(),
|
28 |
};
|
29 |
|
30 |
totalPortsTested = 0;
|
72 |
var data = {
|
73 |
'action' : 'postman_port_quiz_test',
|
74 |
'hostname' : hostname,
|
75 |
+
'port' : port,
|
76 |
+
'_wpnonce' : jQuery('#_wpnonce').val(),
|
77 |
};
|
78 |
jQuery.post(
|
79 |
ajaxurl,
|
106 |
var data = {
|
107 |
'action' : 'postman_test_port',
|
108 |
'hostname' : hostname,
|
109 |
+
'port' : port,
|
110 |
+
'security' : jQuery('#security').val(),
|
111 |
};
|
112 |
jQuery
|
113 |
.post(
|
200 |
var data = {
|
201 |
'action' : 'postman_test_smtps',
|
202 |
'hostname' : hostname,
|
203 |
+
'port' : port,
|
204 |
+
'_wpnonce' : jQuery('#_wpnonce').val(),
|
205 |
};
|
206 |
jQuery
|
207 |
.post(
|
Postman/Postman-Controller/PostmanAdminPointer.php
CHANGED
@@ -1,4 +1,8 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
2 |
if (! class_exists ( 'PostmanAdminPointer' )) {
|
3 |
|
4 |
/**
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
+
|
6 |
if (! class_exists ( 'PostmanAdminPointer' )) {
|
7 |
|
8 |
/**
|
Postman/Postman-Controller/PostmanDashboardWidgetController.php
CHANGED
@@ -1,4 +1,8 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
2 |
if (! class_exists ( "PostmanDashboardWidgetController" )) {
|
3 |
|
4 |
//
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
+
|
6 |
if (! class_exists ( "PostmanDashboardWidgetController" )) {
|
7 |
|
8 |
//
|
Postman/Postman-Controller/PostmanManageConfigurationAjaxHandler.php
CHANGED
@@ -1,4 +1,8 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
2 |
class PostmanWizardSocket {
|
3 |
|
4 |
// these variables are populated by the Port Test
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
+
|
6 |
class PostmanWizardSocket {
|
7 |
|
8 |
// these variables are populated by the Port Test
|
Postman/Postman-Controller/PostmanWelcomeController.php
CHANGED
@@ -1,4 +1,7 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
2 |
|
3 |
class PostmanWelcomeController {
|
4 |
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
|
6 |
class PostmanWelcomeController {
|
7 |
|
Postman/Postman-Diagnostic-Test/PostmanDiagnosticTestController.php
CHANGED
@@ -1,4 +1,7 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
2 |
class PostmanDiagnosticTestController {
|
3 |
const DIAGNOSTICS_SLUG = 'postman/diagnostics';
|
4 |
|
@@ -100,6 +103,12 @@ class PostmanDiagnosticTestController {
|
|
100 |
|
101 |
PostmanViewController::outputChildPageHeader( __( 'Diagnostic Test', 'post-smtp' ) );
|
102 |
|
|
|
|
|
|
|
|
|
|
|
|
|
103 |
printf( '<h4>%s</h4>', __( 'Are you having issues with Postman?', 'post-smtp' ) );
|
104 |
/* translators: where %1$s and %2$s are the URLs to the Troubleshooting and Support Forums on WordPress.org */
|
105 |
printf( '<p style="margin:0 10px">%s</p>', sprintf( __( 'Please check the <a href="%1$s">troubleshooting and error messages</a> page and the <a href="%2$s">support forum</a>.', 'post-smtp' ), 'https://wordpress.org/plugins/post-smtp/other_notes/', 'https://wordpress.org/support/plugin/post-smtp' ) );
|
@@ -208,6 +217,9 @@ class PostmanGetDiagnosticsViaAjax {
|
|
208 |
/**
|
209 |
*/
|
210 |
public function getDiagnostics() {
|
|
|
|
|
|
|
211 |
$curl = curl_version();
|
212 |
$transportRegistry = PostmanTransportRegistry::getInstance();
|
213 |
$this->addToDiagnostics( 'Mailer', PostmanOptions::getInstance()->getSmtpMailer() );
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
class PostmanDiagnosticTestController {
|
6 |
const DIAGNOSTICS_SLUG = 'postman/diagnostics';
|
7 |
|
103 |
|
104 |
PostmanViewController::outputChildPageHeader( __( 'Diagnostic Test', 'post-smtp' ) );
|
105 |
|
106 |
+
?>
|
107 |
+
<form>
|
108 |
+
<?php wp_nonce_field('post-smtp', 'security' ); ?>
|
109 |
+
</form>
|
110 |
+
<?php
|
111 |
+
|
112 |
printf( '<h4>%s</h4>', __( 'Are you having issues with Postman?', 'post-smtp' ) );
|
113 |
/* translators: where %1$s and %2$s are the URLs to the Troubleshooting and Support Forums on WordPress.org */
|
114 |
printf( '<p style="margin:0 10px">%s</p>', sprintf( __( 'Please check the <a href="%1$s">troubleshooting and error messages</a> page and the <a href="%2$s">support forum</a>.', 'post-smtp' ), 'https://wordpress.org/plugins/post-smtp/other_notes/', 'https://wordpress.org/support/plugin/post-smtp' ) );
|
217 |
/**
|
218 |
*/
|
219 |
public function getDiagnostics() {
|
220 |
+
|
221 |
+
check_admin_referer('post-smtp', 'security');
|
222 |
+
|
223 |
$curl = curl_version();
|
224 |
$transportRegistry = PostmanTransportRegistry::getInstance();
|
225 |
$this->addToDiagnostics( 'Mailer', PostmanOptions::getInstance()->getSmtpMailer() );
|
Postman/Postman-Diagnostic-Test/postman_diagnostics.js
CHANGED
@@ -6,7 +6,8 @@ jQuery(document).ready(function() {
|
|
6 |
*/
|
7 |
function getDiagnosticData() {
|
8 |
var data = {
|
9 |
-
'action' : 'postman_diagnostics'
|
|
|
10 |
};
|
11 |
jQuery.post(ajaxurl, data, function(response) {
|
12 |
if (response.success) {
|
6 |
*/
|
7 |
function getDiagnosticData() {
|
8 |
var data = {
|
9 |
+
'action' : 'postman_diagnostics',
|
10 |
+
'security' : jQuery('#security').val()
|
11 |
};
|
12 |
jQuery.post(ajaxurl, data, function(response) {
|
13 |
if (response.success) {
|
Postman/Postman-Email-Log/PostmanEmailLogController.php
CHANGED
@@ -1,4 +1,8 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
2 |
require_once dirname(__DIR__) . '/PostmanEmailLogs.php';
|
3 |
require_once 'PostmanEmailLogService.php';
|
4 |
require_once 'PostmanEmailLogView.php';
|
@@ -73,7 +77,7 @@ class PostmanEmailLogController {
|
|
73 |
/**
|
74 |
*/
|
75 |
public function resendMail() {
|
76 |
-
|
77 |
|
78 |
// get the email address of the recipient from the HTTP Request
|
79 |
$postid = $this->getRequestParameter( 'email' );
|
@@ -200,8 +204,13 @@ class PostmanEmailLogController {
|
|
200 |
// only do this for administrators
|
201 |
if ( PostmanUtils::isAdmin() ) {
|
202 |
$this->logger->trace( 'handling view item' );
|
203 |
-
$postid = $_REQUEST ['email'];
|
204 |
$post = get_post( $postid );
|
|
|
|
|
|
|
|
|
|
|
205 |
$meta_values = PostmanEmailLogs::get_data( $postid );
|
206 |
// https://css-tricks.com/examples/hrs/
|
207 |
print '<html><head><style>body {font-family: monospace;} hr {
|
@@ -369,18 +378,21 @@ class PostmanEmailLogController {
|
|
369 |
?>
|
370 |
|
371 |
<form id="postman-email-log-filter" method="post">
|
|
|
|
|
|
|
372 |
<div id="email-log-filter" class="postman-log-row">
|
373 |
<div class="form-control">
|
374 |
<label for="from_date"><?php _e( 'From Date', 'post-smtp' ); ?></label>
|
375 |
-
<input id="from_date" class="email-log-date" value="<?php echo $from_date; ?>" type="text" name="from_date" placeholder="<?php _e( 'From Date', 'post-smtp' ); ?>">
|
376 |
</div>
|
377 |
<div class="form-control">
|
378 |
<label for="to_date"><?php _e( 'To Date', 'post-smtp' ); ?></label>
|
379 |
-
<input id="to_date" class="email-log-date" value="<?php echo $to_date; ?>" type="text" name="to_date" placeholder="<?php _e( 'To Date', 'post-smtp' ); ?>">
|
380 |
</div>
|
381 |
<div class="form-control">
|
382 |
<label for="search"><?php _e( 'Search', 'post-smtp' ); ?></label>
|
383 |
-
<input id="search" type="text" name="search" value="<?php echo $search; ?>" placeholder="<?php _e( 'Search', 'post-smtp' ); ?>">
|
384 |
</div>
|
385 |
<div class="form-control">
|
386 |
<label id="postman_page_records"><?php _e( 'Records per page', 'post-smtp' ); ?></label>
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
+
|
6 |
require_once dirname(__DIR__) . '/PostmanEmailLogs.php';
|
7 |
require_once 'PostmanEmailLogService.php';
|
8 |
require_once 'PostmanEmailLogView.php';
|
77 |
/**
|
78 |
*/
|
79 |
public function resendMail() {
|
80 |
+
check_admin_referer( 'resend', 'security' );
|
81 |
|
82 |
// get the email address of the recipient from the HTTP Request
|
83 |
$postid = $this->getRequestParameter( 'email' );
|
204 |
// only do this for administrators
|
205 |
if ( PostmanUtils::isAdmin() ) {
|
206 |
$this->logger->trace( 'handling view item' );
|
207 |
+
$postid = absint( $_REQUEST ['email'] );
|
208 |
$post = get_post( $postid );
|
209 |
+
|
210 |
+
if ( $post->post_type !== 'postman_sent_mail' ) {
|
211 |
+
return;
|
212 |
+
}
|
213 |
+
|
214 |
$meta_values = PostmanEmailLogs::get_data( $postid );
|
215 |
// https://css-tricks.com/examples/hrs/
|
216 |
print '<html><head><style>body {font-family: monospace;} hr {
|
378 |
?>
|
379 |
|
380 |
<form id="postman-email-log-filter" method="post">
|
381 |
+
<input type="hidden" action="post-smtp-filter" value="1">
|
382 |
+
<?php wp_nonce_field('post-smtp', 'post-smtp-log'); ?>
|
383 |
+
|
384 |
<div id="email-log-filter" class="postman-log-row">
|
385 |
<div class="form-control">
|
386 |
<label for="from_date"><?php _e( 'From Date', 'post-smtp' ); ?></label>
|
387 |
+
<input id="from_date" class="email-log-date" value="<?php echo esc_attr($from_date); ?>" type="text" name="from_date" placeholder="<?php _e( 'From Date', 'post-smtp' ); ?>">
|
388 |
</div>
|
389 |
<div class="form-control">
|
390 |
<label for="to_date"><?php _e( 'To Date', 'post-smtp' ); ?></label>
|
391 |
+
<input id="to_date" class="email-log-date" value="<?php echo esc_attr($to_date); ?>" type="text" name="to_date" placeholder="<?php _e( 'To Date', 'post-smtp' ); ?>">
|
392 |
</div>
|
393 |
<div class="form-control">
|
394 |
<label for="search"><?php _e( 'Search', 'post-smtp' ); ?></label>
|
395 |
+
<input id="search" type="text" name="search" value="<?php echo esc_attr($search); ?>" placeholder="<?php _e( 'Search', 'post-smtp' ); ?>">
|
396 |
</div>
|
397 |
<div class="form-control">
|
398 |
<label id="postman_page_records"><?php _e( 'Records per page', 'post-smtp' ); ?></label>
|
Postman/Postman-Email-Log/PostmanEmailLogPostType.php
CHANGED
@@ -1,4 +1,7 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
2 |
if (! class_exists ( 'PostmanEmailLogPostType' )) {
|
3 |
|
4 |
/**
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
if (! class_exists ( 'PostmanEmailLogPostType' )) {
|
6 |
|
7 |
/**
|
Postman/Postman-Email-Log/PostmanEmailLogService.php
CHANGED
@@ -1,4 +1,8 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
2 |
if ( ! class_exists( 'PostmanEmailLog' ) ) {
|
3 |
class PostmanEmailLog {
|
4 |
public $sender;
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
+
|
6 |
if ( ! class_exists( 'PostmanEmailLog' ) ) {
|
7 |
class PostmanEmailLog {
|
8 |
public $sender;
|
Postman/Postman-Email-Log/PostmanEmailLogView.php
CHANGED
@@ -1,5 +1,7 @@
|
|
1 |
<?php
|
2 |
-
|
|
|
|
|
3 |
require_once dirname(__DIR__) . '/PostmanEmailLogs.php';
|
4 |
|
5 |
/**
|
@@ -260,8 +262,12 @@ class PostmanEmailLogView extends WP_List_Table {
|
|
260 |
* ************************************************************************
|
261 |
*/
|
262 |
function prepare_items() {
|
|
|
|
|
|
|
|
|
263 |
|
264 |
-
|
265 |
* First, lets decide how many records per page to show
|
266 |
*/
|
267 |
$per_page = isset( $_POST['postman_page_records'] ) ? absint( $_POST['postman_page_records'] ) : 10;
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
require_once dirname(__DIR__) . '/PostmanEmailLogs.php';
|
6 |
|
7 |
/**
|
262 |
* ************************************************************************
|
263 |
*/
|
264 |
function prepare_items() {
|
265 |
+
if ( isset( $_POST['action'] ) && $_POST['action'] == 'post-smtp-filter' ) {
|
266 |
+
if ( ! wp_verify_nonce( $_REQUEST['post-smtp-log'], 'post-smtp' ) )
|
267 |
+
die( 'Security check' );
|
268 |
+
}
|
269 |
|
270 |
+
/**
|
271 |
* First, lets decide how many records per page to show
|
272 |
*/
|
273 |
$per_page = isset( $_POST['postman_page_records'] ) ? absint( $_POST['postman_page_records'] ) : 10;
|
Postman/Postman-Mail/PostmanContactForm7.php
CHANGED
@@ -1,4 +1,7 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
2 |
class Postsmtp_ContactForm7 {
|
3 |
|
4 |
private $result_error;
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
class Postsmtp_ContactForm7 {
|
6 |
|
7 |
private $result_error;
|
Postman/Postman-Mail/PostmanDefaultModuleTransport.php
CHANGED
@@ -1,4 +1,8 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
2 |
require_once 'PostmanModuleTransport.php';
|
3 |
if (! class_exists ( 'PostmanSmtpModuleTransport' )) {
|
4 |
class PostmanDefaultModuleTransport extends PostmanAbstractZendModuleTransport implements PostmanZendModuleTransport {
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
+
|
6 |
require_once 'PostmanModuleTransport.php';
|
7 |
if (! class_exists ( 'PostmanSmtpModuleTransport' )) {
|
8 |
class PostmanDefaultModuleTransport extends PostmanAbstractZendModuleTransport implements PostmanZendModuleTransport {
|
Postman/Postman-Mail/PostmanEmailAddress.php
CHANGED
@@ -1,4 +1,8 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
2 |
if (! class_exists ( 'PostmanEmailAddress' )) {
|
3 |
class PostmanEmailAddress {
|
4 |
private $name;
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
+
|
6 |
if (! class_exists ( 'PostmanEmailAddress' )) {
|
7 |
class PostmanEmailAddress {
|
8 |
private $name;
|
Postman/Postman-Mail/PostmanGmailApiModuleTransport.php
CHANGED
@@ -1,4 +1,8 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
2 |
require_once 'PostmanModuleTransport.php';
|
3 |
|
4 |
/**
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
+
|
6 |
require_once 'PostmanModuleTransport.php';
|
7 |
|
8 |
/**
|
Postman/Postman-Mail/PostmanGmailApiModuleZendMailTransport.php
CHANGED
@@ -1,4 +1,8 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
2 |
/**
|
3 |
* Zend Framework
|
4 |
*
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
+
|
6 |
/**
|
7 |
* Zend Framework
|
8 |
*
|
Postman/Postman-Mail/PostmanMailEngine.php
CHANGED
@@ -1,4 +1,8 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
2 |
if (! interface_exists ( "PostmanMailEngine" )) {
|
3 |
|
4 |
interface PostmanMailEngine {
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
+
|
6 |
if (! interface_exists ( "PostmanMailEngine" )) {
|
7 |
|
8 |
interface PostmanMailEngine {
|
Postman/Postman-Mail/PostmanMailgunMailEngine.php
CHANGED
@@ -1,4 +1,8 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
2 |
require_once 'mailgun/mailgun.php';
|
3 |
|
4 |
use Mailgun\Mailgun;
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
+
|
6 |
require_once 'mailgun/mailgun.php';
|
7 |
|
8 |
use Mailgun\Mailgun;
|
Postman/Postman-Mail/PostmanMailgunTransport.php
CHANGED
@@ -1,4 +1,8 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
2 |
require_once 'PostmanModuleTransport.php';
|
3 |
/**
|
4 |
* Postman Mailgun module
|
@@ -154,9 +158,9 @@ class PostmanMailgunTransport extends PostmanAbstractModuleTransport implements
|
|
154 |
// push the authentication options into the $overrideItem structure
|
155 |
$overrideItem ['auth_items'] = array(
|
156 |
array(
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
),
|
161 |
);
|
162 |
return $overrideItem;
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
+
|
6 |
require_once 'PostmanModuleTransport.php';
|
7 |
/**
|
8 |
* Postman Mailgun module
|
158 |
// push the authentication options into the $overrideItem structure
|
159 |
$overrideItem ['auth_items'] = array(
|
160 |
array(
|
161 |
+
'selected' => true,
|
162 |
+
'name' => __( 'API Key', 'post-smtp' ),
|
163 |
+
'value' => 'api_key',
|
164 |
),
|
165 |
);
|
166 |
return $overrideItem;
|
Postman/Postman-Mail/PostmanMandrillMailEngine.php
CHANGED
@@ -1,4 +1,8 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
2 |
if ( ! class_exists( 'PostmanMandrillMailEngine' ) ) {
|
3 |
|
4 |
require_once 'mailchimp-mandrill-api-php-da3adc10042e/src/Mandrill.php';
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
+
|
6 |
if ( ! class_exists( 'PostmanMandrillMailEngine' ) ) {
|
7 |
|
8 |
require_once 'mailchimp-mandrill-api-php-da3adc10042e/src/Mandrill.php';
|
Postman/Postman-Mail/PostmanMandrillTransport.php
CHANGED
@@ -1,4 +1,8 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
2 |
require_once 'PostmanModuleTransport.php';
|
3 |
/**
|
4 |
* Postman Mandrill module
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
+
|
6 |
require_once 'PostmanModuleTransport.php';
|
7 |
/**
|
8 |
* Postman Mandrill module
|
Postman/Postman-Mail/PostmanMessage.php
CHANGED
@@ -1,4 +1,8 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
2 |
if ( ! class_exists( 'PostmanMessage' ) ) {
|
3 |
|
4 |
require_once 'PostmanEmailAddress.php';
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
+
|
6 |
if ( ! class_exists( 'PostmanMessage' ) ) {
|
7 |
|
8 |
require_once 'PostmanEmailAddress.php';
|
Postman/Postman-Mail/PostmanModuleTransport.php
CHANGED
@@ -1,4 +1,8 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
2 |
/**
|
3 |
* Keep the interface_exists check here for Postman Gmail API Extension users!
|
4 |
*
|
@@ -78,7 +82,7 @@ abstract class PostmanAbstractModuleTransport implements PostmanModuleTransport
|
|
78 |
|
79 |
/**
|
80 |
*/
|
81 |
-
public function __construct($rootPluginFilenameAndPath) {
|
82 |
$this->logger = new PostmanLogger ( get_class ( $this ) );
|
83 |
$this->options = PostmanOptions::getInstance ();
|
84 |
$this->rootPluginFilenameAndPath = $rootPluginFilenameAndPath;
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
+
|
6 |
/**
|
7 |
* Keep the interface_exists check here for Postman Gmail API Extension users!
|
8 |
*
|
82 |
|
83 |
/**
|
84 |
*/
|
85 |
+
public function __construct($rootPluginFilenameAndPath = null) {
|
86 |
$this->logger = new PostmanLogger ( get_class ( $this ) );
|
87 |
$this->options = PostmanOptions::getInstance ();
|
88 |
$this->rootPluginFilenameAndPath = $rootPluginFilenameAndPath;
|
Postman/Postman-Mail/PostmanMyMailConnector.php
CHANGED
@@ -1,4 +1,8 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
2 |
define( 'MAILSTER_POSTMAN_REQUIRED_VERSION', '2.0' );
|
3 |
define( 'MAILSTER_POSTMAN_ID', 'postman' );
|
4 |
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
+
|
6 |
define( 'MAILSTER_POSTMAN_REQUIRED_VERSION', '2.0' );
|
7 |
define( 'MAILSTER_POSTMAN_ID', 'postman' );
|
8 |
|
Postman/Postman-Mail/PostmanSendGridMailEngine.php
CHANGED
@@ -1,4 +1,7 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
2 |
|
3 |
if ( ! class_exists( 'PostmanSendGridMailEngine' ) ) {
|
4 |
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
|
6 |
if ( ! class_exists( 'PostmanSendGridMailEngine' ) ) {
|
7 |
|
Postman/Postman-Mail/PostmanSendGridTransport.php
CHANGED
@@ -1,4 +1,8 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
2 |
require_once 'PostmanModuleTransport.php';
|
3 |
/**
|
4 |
* Postman SendGrid module
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
+
|
6 |
require_once 'PostmanModuleTransport.php';
|
7 |
/**
|
8 |
* Postman SendGrid module
|
Postman/Postman-Mail/PostmanSmtpModuleTransport.php
CHANGED
@@ -1,4 +1,8 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
2 |
require_once 'PostmanModuleTransport.php';
|
3 |
|
4 |
/**
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
+
|
6 |
require_once 'PostmanModuleTransport.php';
|
7 |
|
8 |
/**
|
Postman/Postman-Mail/PostmanTransportRegistry.php
CHANGED
@@ -1,4 +1,8 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
2 |
require_once 'PostmanModuleTransport.php';
|
3 |
require_once 'PostmanZendMailTransportConfigurationFactory.php';
|
4 |
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
+
|
6 |
require_once 'PostmanModuleTransport.php';
|
7 |
require_once 'PostmanZendMailTransportConfigurationFactory.php';
|
8 |
|
Postman/Postman-Mail/PostmanWooCommerce.php
CHANGED
@@ -1,4 +1,7 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
2 |
|
3 |
if ( ! class_exists( 'PostmanWoocommerce' ) ) {
|
4 |
class PostmanWoocommerce {
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
|
6 |
if ( ! class_exists( 'PostmanWoocommerce' ) ) {
|
7 |
class PostmanWoocommerce {
|
Postman/Postman-Mail/PostmanZendMailEngine.php
CHANGED
@@ -1,4 +1,8 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
2 |
if ( ! class_exists( 'PostmanZendMailEngine' ) ) {
|
3 |
|
4 |
require_once 'Zend-1.12.10/Loader.php';
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
+
|
6 |
if ( ! class_exists( 'PostmanZendMailEngine' ) ) {
|
7 |
|
8 |
require_once 'Zend-1.12.10/Loader.php';
|
Postman/Postman-Mail/PostmanZendMailTransportConfigurationFactory.php
CHANGED
@@ -1,4 +1,8 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
2 |
if (! interface_exists ( 'PostmanZendMailTransportConfigurationFactory' )) {
|
3 |
interface PostmanZendMailTransportConfigurationFactory {
|
4 |
static function createConfig(PostmanTransport $transport);
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
+
|
6 |
if (! interface_exists ( 'PostmanZendMailTransportConfigurationFactory' )) {
|
7 |
interface PostmanZendMailTransportConfigurationFactory {
|
8 |
static function createConfig(PostmanTransport $transport);
|
Postman/Postman-Send-Test-Email/PostmanSendTestEmailController.php
CHANGED
@@ -1,4 +1,8 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
2 |
class PostmanSendTestEmailController {
|
3 |
const EMAIL_TEST_SLUG = 'postman/email_test';
|
4 |
const RECIPIENT_EMAIL_FIELD_NAME = 'postman_recipient_email';
|
@@ -127,6 +131,8 @@ class PostmanSendTestEmailController {
|
|
127 |
|
128 |
printf( '<form id="postman_test_email_wizard" method="post" action="%s">', PostmanUtils::getSettingsPageUrl() );
|
129 |
|
|
|
|
|
130 |
// Step 1
|
131 |
printf( '<h5>%s</h5>', __( 'Specify the Recipient', 'post-smtp' ) );
|
132 |
print '<fieldset>';
|
@@ -199,6 +205,9 @@ class PostmanSendTestEmailAjaxController extends PostmanAbstractAjaxHandler {
|
|
199 |
* This Ajax sends a test email
|
200 |
*/
|
201 |
function sendTestEmailViaAjax() {
|
|
|
|
|
|
|
202 |
// get the email address of the recipient from the HTTP Request
|
203 |
$email = $this->getRequestParameter( 'email' );
|
204 |
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
+
|
6 |
class PostmanSendTestEmailController {
|
7 |
const EMAIL_TEST_SLUG = 'postman/email_test';
|
8 |
const RECIPIENT_EMAIL_FIELD_NAME = 'postman_recipient_email';
|
131 |
|
132 |
printf( '<form id="postman_test_email_wizard" method="post" action="%s">', PostmanUtils::getSettingsPageUrl() );
|
133 |
|
134 |
+
wp_nonce_field('post-smtp', 'security' );
|
135 |
+
|
136 |
// Step 1
|
137 |
printf( '<h5>%s</h5>', __( 'Specify the Recipient', 'post-smtp' ) );
|
138 |
print '<fieldset>';
|
205 |
* This Ajax sends a test email
|
206 |
*/
|
207 |
function sendTestEmailViaAjax() {
|
208 |
+
|
209 |
+
check_admin_referer('post-smtp', 'security');
|
210 |
+
|
211 |
// get the email address of the recipient from the HTTP Request
|
212 |
$email = $this->getRequestParameter( 'email' );
|
213 |
|
Postman/Postman-Send-Test-Email/postman_send_test_email.js
CHANGED
@@ -107,7 +107,8 @@ function postHandleStepChange(event, currentIndex, priorIndex, myself) {
|
|
107 |
jQuery('li').addClass('disabled');
|
108 |
var data = {
|
109 |
'action' : 'postman_send_test_email',
|
110 |
-
'email' : jQuery(postman_email_test.recipient).val()
|
|
|
111 |
};
|
112 |
jQuery('#postman_test_message_status').html(postman_email_test.sending);
|
113 |
jQuery('#postman_test_message_status').css('color', 'blue');
|
107 |
jQuery('li').addClass('disabled');
|
108 |
var data = {
|
109 |
'action' : 'postman_send_test_email',
|
110 |
+
'email' : jQuery(postman_email_test.recipient).val(),
|
111 |
+
'security' : jQuery('#security').val()
|
112 |
};
|
113 |
jQuery('#postman_test_message_status').html(postman_email_test.sending);
|
114 |
jQuery('#postman_test_message_status').css('color', 'blue');
|
Postman/Postman.php
CHANGED
@@ -1,5 +1,7 @@
|
|
1 |
<?php
|
2 |
-
|
|
|
|
|
3 |
/**
|
4 |
* Postman execution begins here:
|
5 |
* - the default Postman transports are loaded
|
@@ -35,6 +37,8 @@ class Postman {
|
|
35 |
private $pluginData;
|
36 |
private $rootPluginFilenameAndPath;
|
37 |
|
|
|
|
|
38 |
/**
|
39 |
* The constructor
|
40 |
*
|
@@ -45,6 +49,7 @@ class Postman {
|
|
45 |
assert( ! empty( $rootPluginFilenameAndPath ) );
|
46 |
assert( ! empty( $version ) );
|
47 |
$this->rootPluginFilenameAndPath = $rootPluginFilenameAndPath;
|
|
|
48 |
|
49 |
// load the dependencies
|
50 |
require_once 'PostmanOptions.php';
|
@@ -152,9 +157,6 @@ class Postman {
|
|
152 |
$active_plugins = (array)get_option('active_plugins', array());
|
153 |
if (in_array('sitepress-multilingual-cms/sitepress.php', $active_plugins) && !get_option('postman_wpml_fixed')) {
|
154 |
add_action('admin_notices', array($this, 'post_smtp_wpml_admin_notice'));
|
155 |
-
|
156 |
-
// Temp: Just a quick solution, need to find a better option.
|
157 |
-
add_action('admin_init', array($this, 'postman_fix_wpml'));
|
158 |
}
|
159 |
}
|
160 |
|
@@ -178,30 +180,6 @@ class Postman {
|
|
178 |
|
179 |
}
|
180 |
|
181 |
-
public function post_smtp_wpml_admin_notice() {
|
182 |
-
$class = 'notice notice-error';
|
183 |
-
$title = __( 'Post SMTP notice!', 'post-smtp' );
|
184 |
-
$intro = __( 'WPML is installed and has a known bug with Post SMTP and few other plugins - you better upgrade, but we can try to fix it.', 'post-smtp' );
|
185 |
-
$text = __( 'Click here to fix', 'post-smtp' );
|
186 |
-
$message = '<br><a href="' . esc_url( add_query_arg( 'action', 'postman_fix_wpml', get_permalink() ) ) . '">' . $text . '</a>';
|
187 |
-
|
188 |
-
printf( '<div class="%1$s"><h2>%2$s</h2><p>%3$s</p><p>%4$s</p></div>', esc_attr( $class ), $title, $intro, $message );
|
189 |
-
}
|
190 |
-
|
191 |
-
public function postman_fix_wpml() {
|
192 |
-
if ( isset( $_GET['action'] ) && $_GET['action'] == 'postman_fix_wpml' ) {
|
193 |
-
$wpml_file_path = WP_PLUGIN_DIR . '/sitepress-multilingual-cms/inc/utilities/wpml-data-encryptor.class.php';
|
194 |
-
|
195 |
-
if ( file_exists( $wpml_file_path ) ) {
|
196 |
-
$content = file_get_contents( $wpml_file_path );
|
197 |
-
$content = str_replace( "require_once ABSPATH . '/wp-includes/pluggable.php';", "//require_once ABSPATH . '/wp-includes/pluggable.php';", $content );
|
198 |
-
file_put_contents( $wpml_file_path, $content );
|
199 |
-
}
|
200 |
-
|
201 |
-
update_option( 'postman_wpml_fixed', true );
|
202 |
-
wp_redirect( esc_url( remove_query_arg( 'action' ) ) );
|
203 |
-
}
|
204 |
-
}
|
205 |
|
206 |
/**
|
207 |
* Functions to execute on the plugins_loaded event
|
@@ -433,7 +411,7 @@ class Postman {
|
|
433 |
$message .= (sprintf( ' %s | %s', $goToEmailLog, $goToSettings ));
|
434 |
$message .= '<input type="hidden" name="security" class="security" value="' . wp_create_nonce('postsmtp') . '">';
|
435 |
|
436 |
-
$hide = get_option('
|
437 |
|
438 |
if ( $msg['error'] == true && ! $hide ) {
|
439 |
$this->messageHandler->printMessage( $message, 'postman-not-configured-notice notice notice-error is-dismissible' );
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
/**
|
6 |
* Postman execution begins here:
|
7 |
* - the default Postman transports are loaded
|
37 |
private $pluginData;
|
38 |
private $rootPluginFilenameAndPath;
|
39 |
|
40 |
+
public static $rootPlugin;
|
41 |
+
|
42 |
/**
|
43 |
* The constructor
|
44 |
*
|
49 |
assert( ! empty( $rootPluginFilenameAndPath ) );
|
50 |
assert( ! empty( $version ) );
|
51 |
$this->rootPluginFilenameAndPath = $rootPluginFilenameAndPath;
|
52 |
+
self::$rootPlugin = $rootPluginFilenameAndPath;
|
53 |
|
54 |
// load the dependencies
|
55 |
require_once 'PostmanOptions.php';
|
157 |
$active_plugins = (array)get_option('active_plugins', array());
|
158 |
if (in_array('sitepress-multilingual-cms/sitepress.php', $active_plugins) && !get_option('postman_wpml_fixed')) {
|
159 |
add_action('admin_notices', array($this, 'post_smtp_wpml_admin_notice'));
|
|
|
|
|
|
|
160 |
}
|
161 |
}
|
162 |
|
180 |
|
181 |
}
|
182 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
183 |
|
184 |
/**
|
185 |
* Functions to execute on the plugins_loaded event
|
411 |
$message .= (sprintf( ' %s | %s', $goToEmailLog, $goToSettings ));
|
412 |
$message .= '<input type="hidden" name="security" class="security" value="' . wp_create_nonce('postsmtp') . '">';
|
413 |
|
414 |
+
$hide = get_option('postman_release_version' );
|
415 |
|
416 |
if ( $msg['error'] == true && ! $hide ) {
|
417 |
$this->messageHandler->printMessage( $message, 'postman-not-configured-notice notice notice-error is-dismissible' );
|
Postman/PostmanAdminController.php
CHANGED
@@ -1,4 +1,8 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
2 |
if ( ! class_exists( 'PostmanAdminController' ) ) {
|
3 |
|
4 |
require_once 'PostmanOptions.php';
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
+
|
6 |
if ( ! class_exists( 'PostmanAdminController' ) ) {
|
7 |
|
8 |
require_once 'PostmanOptions.php';
|
Postman/PostmanAjaxController.php
CHANGED
@@ -1,4 +1,8 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
2 |
if (! class_exists ( 'PostmanAbstractAjaxHandler' )) {
|
3 |
|
4 |
require_once ('PostmanPreRequisitesCheck.php');
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
+
|
6 |
if (! class_exists ( 'PostmanAbstractAjaxHandler' )) {
|
7 |
|
8 |
require_once ('PostmanPreRequisitesCheck.php');
|
Postman/PostmanConfigTextHelper.php
CHANGED
@@ -1,4 +1,8 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
2 |
if ( ! interface_exists( 'PostmanConfigTextHelper' ) ) {
|
3 |
interface PostmanConfigTextHelper {
|
4 |
public function isOauthHost();
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
+
|
6 |
if ( ! interface_exists( 'PostmanConfigTextHelper' ) ) {
|
7 |
interface PostmanConfigTextHelper {
|
8 |
public function isOauthHost();
|
Postman/PostmanEmailLogs.php
CHANGED
@@ -1,5 +1,7 @@
|
|
1 |
<?php
|
2 |
-
|
|
|
|
|
3 |
class PostmanEmailLogs {
|
4 |
|
5 |
private $db;
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
class PostmanEmailLogs {
|
6 |
|
7 |
private $db;
|
Postman/PostmanInputSanitizer.php
CHANGED
@@ -1,4 +1,7 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
2 |
if ( ! class_exists( 'PostmanInputSanitizer' ) ) {
|
3 |
class PostmanInputSanitizer {
|
4 |
private $logger;
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
if ( ! class_exists( 'PostmanInputSanitizer' ) ) {
|
6 |
class PostmanInputSanitizer {
|
7 |
private $logger;
|
Postman/PostmanInstaller.php
CHANGED
@@ -1,4 +1,8 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
2 |
require_once( 'PostmanOAuthToken.php' );
|
3 |
require_once( 'PostmanOptions.php' );
|
4 |
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
+
|
6 |
require_once( 'PostmanOAuthToken.php' );
|
7 |
require_once( 'PostmanOptions.php' );
|
8 |
|
Postman/PostmanLogger.php
CHANGED
@@ -1,4 +1,8 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
2 |
if (! class_exists ( "PostmanLogger" )) {
|
3 |
|
4 |
//
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
+
|
6 |
if (! class_exists ( "PostmanLogger" )) {
|
7 |
|
8 |
//
|
Postman/PostmanMessageHandler.php
CHANGED
@@ -1,4 +1,7 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
2 |
if (! class_exists ( 'PostmanMessageHandler' )) {
|
3 |
|
4 |
require_once ('PostmanSession.php');
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
if (! class_exists ( 'PostmanMessageHandler' )) {
|
6 |
|
7 |
require_once ('PostmanSession.php');
|
Postman/PostmanOAuthToken.php
CHANGED
@@ -1,4 +1,7 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
2 |
if (! class_exists ( 'PostmanOAuthToken.php' )) {
|
3 |
|
4 |
class PostmanOAuthToken {
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
if (! class_exists ( 'PostmanOAuthToken.php' )) {
|
6 |
|
7 |
class PostmanOAuthToken {
|
Postman/PostmanOptions.php
CHANGED
@@ -1,4 +1,7 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
2 |
if ( ! interface_exists( 'PostmanOptionsInterface' ) ) {
|
3 |
interface PostmanOptionsInterface {
|
4 |
/**
|
@@ -172,7 +175,7 @@ if ( ! class_exists( 'PostmanOptions' ) ) {
|
|
172 |
$this->load();
|
173 |
}
|
174 |
|
175 |
-
|
176 |
|
177 |
$options = get_option( self::POSTMAN_OPTIONS );
|
178 |
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
if ( ! interface_exists( 'PostmanOptionsInterface' ) ) {
|
6 |
interface PostmanOptionsInterface {
|
7 |
/**
|
175 |
$this->load();
|
176 |
}
|
177 |
|
178 |
+
public function load() {
|
179 |
|
180 |
$options = get_option( self::POSTMAN_OPTIONS );
|
181 |
|
Postman/PostmanPluginFeedback.php
CHANGED
@@ -1,5 +1,7 @@
|
|
1 |
<?php
|
2 |
-
|
|
|
|
|
3 |
class PostmanPluginFeedback {
|
4 |
function __construct() {
|
5 |
add_filter( 'plugin_action_links_' . plugin_basename( POST_BASE ), array( $this, 'insert_deactivate_link_id' ) );
|
@@ -152,4 +154,4 @@ class PostmanPluginFeedback {
|
|
152 |
<?php
|
153 |
}
|
154 |
}
|
155 |
-
new PostmanPluginFeedback;
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
class PostmanPluginFeedback {
|
6 |
function __construct() {
|
7 |
add_filter( 'plugin_action_links_' . plugin_basename( POST_BASE ), array( $this, 'insert_deactivate_link_id' ) );
|
154 |
<?php
|
155 |
}
|
156 |
}
|
157 |
+
//new PostmanPluginFeedback;
|
Postman/PostmanPreRequisitesCheck.php
CHANGED
@@ -1,4 +1,7 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
2 |
if (! class_exists ( 'PostmanPreRequisitesCheck' )) {
|
3 |
class PostmanPreRequisitesCheck {
|
4 |
public static function checkIconv() {
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
if (! class_exists ( 'PostmanPreRequisitesCheck' )) {
|
6 |
class PostmanPreRequisitesCheck {
|
7 |
public static function checkIconv() {
|
Postman/PostmanSession.php
CHANGED
@@ -1,4 +1,7 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
2 |
if (! class_exists ( 'PostmanSession' )) {
|
3 |
|
4 |
/**
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
if (! class_exists ( 'PostmanSession' )) {
|
6 |
|
7 |
/**
|
Postman/PostmanState.php
CHANGED
@@ -1,4 +1,7 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
2 |
if (! class_exists ( "PostmanState" )) {
|
3 |
|
4 |
/**
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
if (! class_exists ( "PostmanState" )) {
|
6 |
|
7 |
/**
|
Postman/PostmanUtils.php
CHANGED
@@ -1,4 +1,7 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
2 |
require_once 'PostmanLogger.php';
|
3 |
require_once 'PostmanState.php';
|
4 |
|
@@ -368,9 +371,9 @@ class PostmanUtils {
|
|
368 |
*/
|
369 |
static function postmanGetServerName() {
|
370 |
if ( ! empty( $_SERVER ['SERVER_NAME'] ) ) {
|
371 |
-
$serverName = $_SERVER ['SERVER_NAME'];
|
372 |
} else if ( ! empty( $_SERVER ['HTTP_HOST'] ) ) {
|
373 |
-
$serverName = $_SERVER ['HTTP_HOST'];
|
374 |
} else {
|
375 |
$serverName = 'localhost.localdomain';
|
376 |
}
|
@@ -410,6 +413,7 @@ class PostmanUtils {
|
|
410 |
* @param mixed $callbackName
|
411 |
*/
|
412 |
public static function registerAjaxHandler( $actionName, $class, $callbackName ) {
|
|
|
413 |
if ( is_admin() ) {
|
414 |
$fullname = 'wp_ajax_' . $actionName;
|
415 |
// $this->logger->debug ( 'Registering ' . 'wp_ajax_' . $fullname . ' Ajax handler' );
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
require_once 'PostmanLogger.php';
|
6 |
require_once 'PostmanState.php';
|
7 |
|
371 |
*/
|
372 |
static function postmanGetServerName() {
|
373 |
if ( ! empty( $_SERVER ['SERVER_NAME'] ) ) {
|
374 |
+
$serverName = sanitize_text_field($_SERVER ['SERVER_NAME']);
|
375 |
} else if ( ! empty( $_SERVER ['HTTP_HOST'] ) ) {
|
376 |
+
$serverName = sanitize_text_field($_SERVER ['HTTP_HOST']);
|
377 |
} else {
|
378 |
$serverName = 'localhost.localdomain';
|
379 |
}
|
413 |
* @param mixed $callbackName
|
414 |
*/
|
415 |
public static function registerAjaxHandler( $actionName, $class, $callbackName ) {
|
416 |
+
|
417 |
if ( is_admin() ) {
|
418 |
$fullname = 'wp_ajax_' . $actionName;
|
419 |
// $this->logger->debug ( 'Registering ' . 'wp_ajax_' . $fullname . ' Ajax handler' );
|
Postman/PostmanViewController.php
CHANGED
@@ -1,4 +1,7 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
2 |
if ( ! class_exists( 'PostmanViewController' ) ) {
|
3 |
class PostmanViewController {
|
4 |
private $logger;
|
@@ -46,19 +49,19 @@ if ( ! class_exists( 'PostmanViewController' ) ) {
|
|
46 |
|
47 |
|
48 |
function dismiss_version_notify() {
|
49 |
-
|
50 |
|
51 |
$result = update_option('postman_release_version', true );
|
52 |
}
|
53 |
|
54 |
function dismiss_donation_notify() {
|
55 |
-
|
56 |
|
57 |
$result = update_option('postman_dismiss_donation', true );
|
58 |
}
|
59 |
|
60 |
function delete_lock_file() {
|
61 |
-
|
62 |
|
63 |
if ( ! PostmanUtils::lockFileExists() ) {
|
64 |
echo __('No lock file found.', 'post-smtp' );
|
@@ -295,7 +298,7 @@ if ( ! class_exists( 'PostmanViewController' ) ) {
|
|
295 |
print '</section>';
|
296 |
print '<section id="delete_settings">';
|
297 |
printf( '<h3><span>%s<span></h3>', $resetTitle );
|
298 |
-
print '<form method="POST" action="' . get_admin_url() . 'admin-post.php">';
|
299 |
wp_nonce_field( PostmanAdminController::PURGE_DATA_SLUG );
|
300 |
printf( '<input type="hidden" name="action" value="%s" />', PostmanAdminController::PURGE_DATA_SLUG );
|
301 |
printf( '<p><span>%s</span></p><p><span>%s</span></p>', __( 'This will purge all of Postman\'s settings, including account credentials and the email log.', 'post-smtp' ), __( 'Are you sure?', 'post-smtp' ) );
|
@@ -375,9 +378,6 @@ if ( ! class_exists( 'PostmanViewController' ) ) {
|
|
375 |
printf( '<li><img class="align-middle" src="' . plugins_url( 'style/images/new.gif', dirname( __DIR__ ) . '/postman-smtp.php' ) . '"><a target="blank" class="align-middle" href="https://postmansmtp.com/category/guides/" class="welcome-icon postman_guides">%s</a></li>', __( 'Guides', 'post-smtp' ) );
|
376 |
print '</ul></div></div></div></div>';
|
377 |
?>
|
378 |
-
<div class="twitter-iframe-wrap" style="min-width: 300px;">
|
379 |
-
<a class="twitter-timeline" data-height="304" href="https://twitter.com/PostSMTP?ref_src=twsrc%5Etfw">Tweets by PostSMTP</a> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
|
380 |
-
</div>
|
381 |
</div>
|
382 |
<?php
|
383 |
}
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
if ( ! class_exists( 'PostmanViewController' ) ) {
|
6 |
class PostmanViewController {
|
7 |
private $logger;
|
49 |
|
50 |
|
51 |
function dismiss_version_notify() {
|
52 |
+
check_admin_referer( 'postsmtp', 'security' );
|
53 |
|
54 |
$result = update_option('postman_release_version', true );
|
55 |
}
|
56 |
|
57 |
function dismiss_donation_notify() {
|
58 |
+
check_admin_referer( 'postsmtp', 'security' );
|
59 |
|
60 |
$result = update_option('postman_dismiss_donation', true );
|
61 |
}
|
62 |
|
63 |
function delete_lock_file() {
|
64 |
+
check_admin_referer( 'postman', 'security' );
|
65 |
|
66 |
if ( ! PostmanUtils::lockFileExists() ) {
|
67 |
echo __('No lock file found.', 'post-smtp' );
|
298 |
print '</section>';
|
299 |
print '<section id="delete_settings">';
|
300 |
printf( '<h3><span>%s<span></h3>', $resetTitle );
|
301 |
+
print '<form class="post-smtp-reset-options" method="POST" action="' . get_admin_url() . 'admin-post.php">';
|
302 |
wp_nonce_field( PostmanAdminController::PURGE_DATA_SLUG );
|
303 |
printf( '<input type="hidden" name="action" value="%s" />', PostmanAdminController::PURGE_DATA_SLUG );
|
304 |
printf( '<p><span>%s</span></p><p><span>%s</span></p>', __( 'This will purge all of Postman\'s settings, including account credentials and the email log.', 'post-smtp' ), __( 'Are you sure?', 'post-smtp' ) );
|
378 |
printf( '<li><img class="align-middle" src="' . plugins_url( 'style/images/new.gif', dirname( __DIR__ ) . '/postman-smtp.php' ) . '"><a target="blank" class="align-middle" href="https://postmansmtp.com/category/guides/" class="welcome-icon postman_guides">%s</a></li>', __( 'Guides', 'post-smtp' ) );
|
379 |
print '</ul></div></div></div></div>';
|
380 |
?>
|
|
|
|
|
|
|
381 |
</div>
|
382 |
<?php
|
383 |
}
|
Postman/PostmanWpMail.php
CHANGED
@@ -1,5 +1,7 @@
|
|
1 |
<?php
|
2 |
-
|
|
|
|
|
3 |
if ( ! class_exists( 'PostmanWpMail' ) ) {
|
4 |
|
5 |
/**
|
@@ -75,7 +77,7 @@ if ( ! class_exists( 'PostmanWpMail' ) ) {
|
|
75 |
$id = md5(uniqid(time()));
|
76 |
|
77 |
if (isset($_SERVER["SERVER_NAME"])) {
|
78 |
-
$hostName = $_SERVER["SERVER_NAME"];
|
79 |
} else {
|
80 |
$hostName = php_uname('n');
|
81 |
}
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
if ( ! class_exists( 'PostmanWpMail' ) ) {
|
6 |
|
7 |
/**
|
77 |
$id = md5(uniqid(time()));
|
78 |
|
79 |
if (isset($_SERVER["SERVER_NAME"])) {
|
80 |
+
$hostName = sanitize_text_field($_SERVER["SERVER_NAME"]);
|
81 |
} else {
|
82 |
$hostName = php_uname('n');
|
83 |
}
|
Postman/PostmanWpMailBinder.php
CHANGED
@@ -1,4 +1,7 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
2 |
if (! class_exists ( 'PostmanWpMailBinder' )) {
|
3 |
class PostmanWpMailBinder {
|
4 |
private $logger;
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
if (! class_exists ( 'PostmanWpMailBinder' )) {
|
6 |
class PostmanWpMailBinder {
|
7 |
private $logger;
|
Postman/notifications/INotify.php
CHANGED
@@ -1,4 +1,7 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
2 |
interface Postman_Notify {
|
3 |
public function send_message( $message );
|
4 |
}
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
interface Postman_Notify {
|
6 |
public function send_message( $message );
|
7 |
}
|
Postman/notifications/PostmanMailNotify.php
CHANGED
@@ -1,5 +1,7 @@
|
|
1 |
<?php
|
2 |
-
|
|
|
|
|
3 |
class PostmanMailNotify implements Postman_Notify {
|
4 |
|
5 |
public function send_message($message)
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
class PostmanMailNotify implements Postman_Notify {
|
6 |
|
7 |
public function send_message($message)
|
Postman/notifications/PostmanNotify.php
CHANGED
@@ -1,4 +1,7 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
2 |
require_once 'INotify.php';
|
3 |
require_once 'PostmanMailNotify.php';
|
4 |
require_once 'PostmanPushoverNotify.php';
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
require_once 'INotify.php';
|
6 |
require_once 'PostmanMailNotify.php';
|
7 |
require_once 'PostmanPushoverNotify.php';
|
Postman/notifications/PostmanPushoverNotify.php
CHANGED
@@ -1,5 +1,7 @@
|
|
1 |
<?php
|
2 |
-
|
|
|
|
|
3 |
class PostmanPushoverNotify implements Postman_Notify {
|
4 |
|
5 |
public function send_message($message)
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
class PostmanPushoverNotify implements Postman_Notify {
|
6 |
|
7 |
public function send_message($message)
|
Postman/notifications/PostmanSlackNotify.php
CHANGED
@@ -1,5 +1,7 @@
|
|
1 |
<?php
|
2 |
-
|
|
|
|
|
3 |
class PostmanSlackNotify implements Postman_Notify {
|
4 |
|
5 |
public function send_message($message)
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
class PostmanSlackNotify implements Postman_Notify {
|
6 |
|
7 |
public function send_message($message)
|
postman-smtp.php
CHANGED
@@ -1,9 +1,12 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
2 |
/*
|
3 |
* Plugin Name: Post SMTP
|
4 |
* Plugin URI: https://wordpress.org/plugins/post-smtp/
|
5 |
* 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!
|
6 |
-
* Version: 2.0.
|
7 |
* Author: Yehuda Hassine
|
8 |
* Text Domain: post-smtp
|
9 |
* Author URI: https://postmansmtp.com
|
@@ -41,7 +44,7 @@
|
|
41 |
define( 'POST_BASE', __FILE__ );
|
42 |
define( 'POST_PATH', __DIR__ );
|
43 |
define( 'POST_URL', plugins_url('', POST_BASE ) );
|
44 |
-
define( 'POST_SMTP_VER', '2.0.
|
45 |
|
46 |
$postman_smtp_exist = in_array( 'postman-smtp/postman-smtp.php', (array) get_option( 'active_plugins', array() ) );
|
47 |
$required_php_version = version_compare( PHP_VERSION, '5.6.0', '<' );
|
@@ -129,4 +132,5 @@ function post_start( $startingMemory ) {
|
|
129 |
function post_setupPostman() {
|
130 |
require_once 'Postman/Postman.php';
|
131 |
$kevinCostner = new Postman( __FILE__, POST_SMTP_VER );
|
|
|
132 |
}
|
1 |
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit; // Exit if accessed directly
|
4 |
+
}
|
5 |
/*
|
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.3
|
10 |
* Author: Yehuda Hassine
|
11 |
* Text Domain: post-smtp
|
12 |
* Author URI: https://postmansmtp.com
|
44 |
define( 'POST_BASE', __FILE__ );
|
45 |
define( 'POST_PATH', __DIR__ );
|
46 |
define( 'POST_URL', plugins_url('', POST_BASE ) );
|
47 |
+
define( 'POST_SMTP_VER', '2.0.3' );
|
48 |
|
49 |
$postman_smtp_exist = in_array( 'postman-smtp/postman-smtp.php', (array) get_option( 'active_plugins', array() ) );
|
50 |
$required_php_version = version_compare( PHP_VERSION, '5.6.0', '<' );
|
132 |
function post_setupPostman() {
|
133 |
require_once 'Postman/Postman.php';
|
134 |
$kevinCostner = new Postman( __FILE__, POST_SMTP_VER );
|
135 |
+
do_action( 'post_smtp_init');
|
136 |
}
|
readme.txt
CHANGED
@@ -3,8 +3,8 @@ Contributors: yehudah
|
|
3 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=yehuda@myinbox.in&item_name=Donation+for+PostSMTP
|
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.2
|
7 |
-
Stable tag: 2.0.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -12,8 +12,8 @@ Send, log and troubleshoot your Outgoing Email easily. Supports everything: SMTP
|
|
12 |
|
13 |
== Description ==
|
14 |
|
15 |
-
= Version 2.0.
|
16 |
-
|
17 |
|
18 |
= The Only SMTP plugin with chrome Notifications =
|
19 |
Get notified if your emails are failing inside your Chrome browser. [Download here](https://chrome.google.com/webstore/detail/post-smtp-notifications/npklmbkpbknkmbohdbpikeidiaekjoch?hl=en-US)
|
@@ -289,6 +289,9 @@ To avoid being flagged as spam, you need to prove your email isn't forged. On a
|
|
289 |
|
290 |
== Changelog ==
|
291 |
|
|
|
|
|
|
|
292 |
= 2.0.2 - 2019-05-19
|
293 |
* Fixed: Sendgrid code fix.
|
294 |
* Fixed: Default method (nothing configured) will use the default mail on the server and not SMTP.
|
3 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=yehuda@myinbox.in&item_name=Donation+for+PostSMTP
|
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.2.2
|
7 |
+
Stable tag: 2.0.3
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
12 |
|
13 |
== Description ==
|
14 |
|
15 |
+
= Version 2.0.3 released - Security Fix =
|
16 |
+
I fixed a few security issues - I still need to fix one more thing (minor), so another version bump will coming soon.
|
17 |
|
18 |
= The Only SMTP plugin with chrome Notifications =
|
19 |
Get notified if your emails are failing inside your Chrome browser. [Download here](https://chrome.google.com/webstore/detail/post-smtp-notifications/npklmbkpbknkmbohdbpikeidiaekjoch?hl=en-US)
|
289 |
|
290 |
== Changelog ==
|
291 |
|
292 |
+
= 2.0.3 - 2019-08-21
|
293 |
+
* Fixed: A few security issues.
|
294 |
+
|
295 |
= 2.0.2 - 2019-05-19
|
296 |
* Fixed: Sendgrid code fix.
|
297 |
* Fixed: Default method (nothing configured) will use the default mail on the server and not SMTP.
|
script/postman.js
CHANGED
@@ -1,6 +1,15 @@
|
|
1 |
jQuery(document).ready(function($) {
|
2 |
$( ".email-log-date" ).datepicker();
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
$('.notice-dismiss.postman-release-message').on('click', function() {
|
5 |
var $this = $(this);
|
6 |
var args = {
|
1 |
jQuery(document).ready(function($) {
|
2 |
$( ".email-log-date" ).datepicker();
|
3 |
|
4 |
+
$('.post-smtp-reset-options').on('submit', function(e) {
|
5 |
+
var result = confirm('Are you sure?');
|
6 |
+
|
7 |
+
if ( ! result ) {
|
8 |
+
e.preventDefault();
|
9 |
+
return false;
|
10 |
+
}
|
11 |
+
});
|
12 |
+
|
13 |
$('.notice-dismiss.postman-release-message').on('click', function() {
|
14 |
var $this = $(this);
|
15 |
var args = {
|