summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Postman/Postman-Mail/PostmanMailgunMailEngine.php6
-rw-r--r--Postman/Postman-Mail/PostmanSendGridMailEngine.php8
-rw-r--r--Postman/Postman.php7
-rw-r--r--Postman/PostmanUtils.php3
-rw-r--r--Postman/PostmanViewController.php4
-rw-r--r--postman-smtp.php33
-rw-r--r--readme.txt13
-rw-r--r--style/testEmail.html2
8 files changed, 58 insertions, 18 deletions
diff --git a/Postman/Postman-Mail/PostmanMailgunMailEngine.php b/Postman/Postman-Mail/PostmanMailgunMailEngine.php
index 58def41..8258022 100644
--- a/Postman/Postman-Mail/PostmanMailgunMailEngine.php
+++ b/Postman/Postman-Mail/PostmanMailgunMailEngine.php
@@ -20,7 +20,7 @@ if ( ! class_exists( 'PostmanMailgunMailEngine' ) ) {
private $apiKey;
private $domainName;
- private $mandrillMessage;
+ private $mailgunMessage;
/**
*
@@ -153,7 +153,7 @@ if ( ! class_exists( 'PostmanMailgunMailEngine' ) ) {
$result = array();
try {
if ( $this->logger->isDebug() ) {
- $this->logger->debug( 'Creating Mandrill service with apiKey=' . $this->apiKey );
+ $this->logger->debug( 'Creating Mailgun service with apiKey=' . $this->apiKey );
}
// send the message
@@ -184,7 +184,7 @@ if ( ! class_exists( 'PostmanMailgunMailEngine' ) ) {
private function processSend( $mg ) {
- if ( count( $this->mailgunMessage['to'] ) == 1 ) {
+ if ( count( $this->mailgunMessage['to'] ) <= 1 ) {
return $mg->messages()->send( $this->domainName, array_filter( $this->mailgunMessage ) );
} else {
diff --git a/Postman/Postman-Mail/PostmanSendGridMailEngine.php b/Postman/Postman-Mail/PostmanSendGridMailEngine.php
index 28e3c83..eaa5b69 100644
--- a/Postman/Postman-Mail/PostmanSendGridMailEngine.php
+++ b/Postman/Postman-Mail/PostmanSendGridMailEngine.php
@@ -188,14 +188,16 @@ if ( ! class_exists( 'PostmanSendGridMailEngine' ) ) {
$response_body = json_decode( $response->body() );
- if ( isset( $response_body->errors[0]->message ) ) {
- $this->transcript = $response_body->errors[0]->message;
+ if ( isset( $response_body->errors[0]->message ) || $response->statusCode() != 200 ) {
+
+ $e = $response->statusCode() != 200 ? sprintf( __( 'ERROR: Status code is %1$s', Postman::TEXT_DOMAIN ), $response->statusCode() ) : $response_body->errors[0]->message;
+ $this->transcript = $e;
$this->transcript .= PostmanModuleTransport::RAW_MESSAGE_FOLLOWS;
$this->transcript .= print_r( $mail, true );
$this->logger->debug( 'Transcript=' . $this->transcript );
- throw new Exception( $response_body->errors[0]->message );
+ throw new Exception( $e );
}
$this->transcript = print_r( $response->body(), true );
$this->transcript .= PostmanModuleTransport::RAW_MESSAGE_FOLLOWS;
diff --git a/Postman/Postman.php b/Postman/Postman.php
index 7df883a..ba639e3 100644
--- a/Postman/Postman.php
+++ b/Postman/Postman.php
@@ -54,6 +54,7 @@ class Postman {
require_once 'PostmanConfigTextHelper.php';
require_once 'Postman-Email-Log/PostmanEmailLogPostType.php';
require_once 'Postman-Mail/PostmanMyMailConnector.php';
+ require_once 'Postman-Mail/PostmanContactForm7.php';
//require_once 'Postman-Mail/PostmanWooCommerce.php';
// get plugin metadata - alternative to get_plugin_data
@@ -106,6 +107,9 @@ class Postman {
// MyMail integration
new PostmanMyMailConnector( $rootPluginFilenameAndPath );
+ // Contact form 7
+ new Postsmtp_ContactForm7;
+
// WooCommerce Integration
//new PostmanWoocommerce();
@@ -153,6 +157,7 @@ class Postman {
$this,
'on_deactivation',
) );
+
}
public function post_smtp_wpml_admin_notice() {
@@ -426,7 +431,7 @@ class Postman {
// because __FILE__ returns the wrong path if the plugin is installed as a symlink
$shortLocale = substr( get_locale(), 0, 2 );
if ( $shortLocale != 'en' ) {
- $langDir = 'postman-smtp/Postman/languages';
+ $langDir = 'post-smtp/Postman/languages';
$success = load_plugin_textdomain( Postman::TEXT_DOMAIN, false, $langDir );
if ( $this->logger->isDebug() ) {
if ( $success ) {
diff --git a/Postman/PostmanUtils.php b/Postman/PostmanUtils.php
index b70b2b8..7eaebe5 100644
--- a/Postman/PostmanUtils.php
+++ b/Postman/PostmanUtils.php
@@ -243,6 +243,9 @@ class PostmanUtils {
return $success;
}
static function createLockFile( $tempDirectory = null ) {
+ if ( self::lockFileExists() ) {
+ self::deleteLockFile();
+ }
$path = PostmanUtils::calculateTemporaryLockPath( $tempDirectory );
$success = @fopen( $path, 'xb' );
if ( PostmanUtils::$logger->isTrace() ) {
diff --git a/Postman/PostmanViewController.php b/Postman/PostmanViewController.php
index 49388f3..5fb8cb1 100644
--- a/Postman/PostmanViewController.php
+++ b/Postman/PostmanViewController.php
@@ -57,7 +57,7 @@ if ( ! class_exists( 'PostmanViewController' ) ) {
die();
}
- echo PostmanUtils::deleteLockFile() == true ? __('Success', Postman::TEXT_DOMAIN ) : __('Failed, try again.', Postman::TEXT_DOMAIN );
+ echo PostmanUtils::deleteLockFile() == true ? __('Success, try to send test email.', Postman::TEXT_DOMAIN ) : __('Failed, try again.', Postman::TEXT_DOMAIN );
die();
}
@@ -307,7 +307,7 @@ if ( ! class_exists( 'PostmanViewController' ) ) {
echo '
<div class="updated settings-error notice is-dismissible">
<p>
- <strong>Version ' . $version . ' released with Gmail upgrade and notifications:</strong> <a target="_blank" href="https://postmansmtp.com/post-smtp-1-8-4-best-wordpress-gmail-client">Read Here</a>
+ <strong>Version ' . $version . ' released with lockfile fix and new PHP requirement:</strong> <a target="_blank" href="https://postmansmtp.com/post-smtp-v1-8-6-lockfile-and-raise-the-php-version">Read Here</a>
</p>
<button style="z-index: 100;" data-version="'. $version . '" data-security="' . wp_create_nonce('postsmtp') .'" type="button" class="notice-dismiss postman-release-message">
<span class="screen-reader-text">Dismiss this notice.</span>
diff --git a/postman-smtp.php b/postman-smtp.php
index 29ea419..dba2fe8 100644
--- a/postman-smtp.php
+++ b/postman-smtp.php
@@ -4,7 +4,7 @@
* Plugin Name: Post SMTP
* Plugin URI: https://wordpress.org/plugins/post-smtp/
* 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!
- * Version: 1.8.5
+ * Version: 1.8.6
* Author: Jason Hendriks, Yehuda Hassine
* Text Domain: post-smtp
* Author URI: https://postmansmtp.com
@@ -38,9 +38,20 @@
define( 'POST_BASE', __FILE__ );
define( 'POST_PATH', __DIR__ );
-if ( in_array( 'postman-smtp/postman-smtp.php', (array) get_option( 'active_plugins', array() ) ) ) {
+$postman_smtp_exist = in_array( 'postman-smtp/postman-smtp.php', (array) get_option( 'active_plugins', array() ) );
+$required_php_version = version_compare(PHP_VERSION, '5.6.0', '<');
+
+if ( $postman_smtp_exist || $required_php_version ) {
add_action( 'admin_init', 'post_smtp_plugin_deactivate' );
- add_action( 'admin_notices', 'post_smtp_plugin_admin_notice' );
+
+ if ( $postman_smtp_exist ) {
+ add_action( 'admin_notices', 'post_smtp_plugin_admin_notice' );
+ }
+
+ if ( $required_php_version ) {
+ add_action( 'admin_notices', 'post_smtp_plugin_admin_notice_version' );
+ }
+
} else {
post_start( memory_get_usage() );
}
@@ -50,6 +61,20 @@ function post_smtp_plugin_deactivate() {
deactivate_plugins( plugin_basename( __FILE__ ) );
}
+function post_smtp_plugin_admin_notice_version() {
+ echo '<div class="error">
+ <p>
+ <strong>Post SMTP</strong> plugin require at least PHP version 5.6, contact to your web hostig support to upgrade.
+ </p>
+ <p>
+ <a href="https://secure.php.net/supported-versions.php">See supported versions on PHP.net</a>
+ </p>
+ </div>';
+
+ if ( isset( $_GET['activate'] ) ) {
+ unset( $_GET['activate'] ); }
+}
+
function post_smtp_plugin_admin_notice() {
echo '<div class="error"><p><strong>Post SMTP</strong> plugin is a fork (twin brother) of the original Postman SMTP, you must disable Postman SMTP to use this plugin.</p></div>';
@@ -99,5 +124,5 @@ function post_start( $startingMemory ) {
*/
function post_setupPostman() {
require_once 'Postman/Postman.php';
- $kevinCostner = new Postman( __FILE__, '1.8.5' );
+ $kevinCostner = new Postman( __FILE__, '1.8.6' );
}
diff --git a/readme.txt b/readme.txt
index 298b865..6abacd8 100644
--- a/readme.txt
+++ b/readme.txt
@@ -4,7 +4,7 @@ Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=yehuda@m
Tags: postman smtp, postman, smtp, email, mail, mailer, email log, oauth2, gmail, google apps, hotmail, yahoo, mandrill api, sendgrid api, elastic email, office365, mailgun
Requires at least: 3.9
Tested up to: 4.9.5
-Stable tag: 1.8.5
+Stable tag: 1.8.6
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
@@ -12,8 +12,8 @@ Send, log and troubleshoot your Outgoing Email easily. Supports everything: SMTP
== Description ==
-= Version 1.8.5 released =
-Making Post SMTP the best Gmail client for WordPress, and a notification feature for failed emails. [Read the detailes here](https://postmansmtp.com/post-smtp-1-8-4-best-wordpress-gmail-client/)
+= Version 1.8.6 released =
+Lockfile, Contact form 7 and raise the PHP version. [Read the detailes here](https://postmansmtp.com/post-smtp-v1-8-6-lockfile-and-raise-the-php-version/)
= WordPress Mail SMTP Plugin =
@@ -81,7 +81,7 @@ SendGrid has a free SMTP plan that you can use to send up to 100 emails per day.
* .. and every other plugin that uses the WordPress API [wp_mail](https://codex.wordpress.org/Function_Reference/wp_mail) to send mail!
= Requirements =
-* WordPress 3.9 and PHP 5.2 with SPL and iconv
+* WordPress 3.9 and PHP 5.6 with SPL and iconv
* Memory: 750KiB per process at idle
* Reliable mail delivery with custom email domains requires an SPF record
* Reliable SMTP delivery requires credentials with an email service provider
@@ -297,6 +297,11 @@ To avoid being flagged as spam, you need to prove your email isn't forged. On a
== Changelog ==
+= 1.8.6 - 2018-04-24
+* Fix lockfile erros
+* Contact form 7 integration
+* PHP 5.6 requirement
+
= 1.8.5 - 2018-04-19
* Remove Beta Woocommerce integration
* Better check for WPML less then version 3.9
diff --git a/style/testEmail.html b/style/testEmail.html
index 3f41ea9..544b0e6 100644
--- a/style/testEmail.html
+++ b/style/testEmail.html
@@ -25,7 +25,7 @@
<div
style="max-width: 600px; height: 400px; margin: 0 auto; overflow: hidden;background-image:url('http://plugins.svn.wordpress.org/postman-smtp/assets/email/poofytoo.png');background-repeat: no-repeat;">
<div style="margin:50px 0 0 300px; width:300px; font-size:2em;">Hello! - 你好 - Bonjour! - नमस्ते - ¡Hola! - Olá - Привет! - 今日は</div>
- <div style="text-align:right;font-size: 1.4em; color:black;margin:150px 0 0 200px;">Sent by <em>Postman</em> v1.5.6<br/><span style="font-size: 0.8em"><a style="color:#3f73b9" href="https://wordpress.org/plugins/postman-smtp/">https://wordpress.org/plugins/postman-smtp/</a></span></div>
+ <div style="text-align:right;font-size: 1.4em; color:black;margin:150px 0 0 200px;">Sent by <em>Postman</em> v1.5.6<br/><span style="font-size: 0.8em"><a style="color:#3f73b9" href="https://wordpress.org/plugins/post-smtp/">https://wordpress.org/plugins/post-smtp/</a></span></div>
</div>
</td>
</tr>