Version Description
- Add port 2525 for SMTP
- Use cache for stats widget on dashboard
Download this release
Release Info
Developer | team-rs |
Plugin | SendGrid |
Version | 1.10.7 |
Comparing to | |
See all releases |
Code changes from version 1.10.6 to 1.10.7
- lib/class-sendgrid-mc-optin.php +12 -44
- lib/class-sendgrid-tools.php +45 -67
- lib/sendgrid/class-sendgrid-smtp.php +1 -0
- readme.txt +7 -1
- view/sendgrid_settings_general.php +1 -0
- wpsendgrid.php +1 -1
lib/class-sendgrid-mc-optin.php
CHANGED
@@ -60,7 +60,7 @@ class Sendgrid_OptIn_API_Endpoint{
|
|
60 |
exit();
|
61 |
}
|
62 |
|
63 |
-
$transient =
|
64 |
|
65 |
if ( ! $transient or
|
66 |
! is_array( $transient ) or
|
@@ -82,11 +82,8 @@ class Sendgrid_OptIn_API_Endpoint{
|
|
82 |
$page = Sendgrid_Tools::get_mc_signup_confirmation_page_url();
|
83 |
|
84 |
if ( $page == false ) {
|
85 |
-
|
86 |
-
|
87 |
-
} else {
|
88 |
-
Sendgrid_Tools::set_transient_sendgrid( $token, null );
|
89 |
-
}
|
90 |
wp_redirect( 'sg-subscription-success' );
|
91 |
exit();
|
92 |
}
|
@@ -131,28 +128,19 @@ class Sendgrid_OptIn_API_Endpoint{
|
|
131 |
|
132 |
$token = Sendgrid_OptIn_API_Endpoint::generate_email_token( $email, $first_name, $last_name );
|
133 |
|
134 |
-
$transient =
|
135 |
|
136 |
if ( $transient and isset( $transient['email'] ) and ! $from_settings ) {
|
137 |
return false;
|
138 |
}
|
139 |
|
140 |
-
if (
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
return false;
|
148 |
-
}
|
149 |
-
} elseif ( false == Sendgrid_Tools::set_transient_sendgrid( $token,
|
150 |
-
array(
|
151 |
-
'email' => $email,
|
152 |
-
'first_name' => $first_name,
|
153 |
-
'last_name' => $last_name ),
|
154 |
-
24 * 60 * 60 ) and ! $from_settings and $transient ) {
|
155 |
-
return false;
|
156 |
}
|
157 |
|
158 |
$confirmation_link = site_url() . '/?__sg_api=1&token=' . $token;
|
@@ -193,10 +181,6 @@ function register_shortcode_first_name($atts)
|
|
193 |
$token = $_GET['sg_token'];
|
194 |
$transient = Sendgrid_Tools::get_transient_sendgrid( $token );
|
195 |
|
196 |
-
if ( is_multisite() ) {
|
197 |
-
$transient = Sendgrid_Tools::get_site_transient_sendgrid( $token );
|
198 |
-
}
|
199 |
-
|
200 |
if ( ! $transient ||
|
201 |
! is_array( $transient ) ||
|
202 |
! isset( $transient['first_name'] ) )
|
@@ -223,10 +207,6 @@ function register_shortcode_last_name($atts)
|
|
223 |
$token = $_GET['sg_token'];
|
224 |
$transient = Sendgrid_Tools::get_transient_sendgrid( $token );
|
225 |
|
226 |
-
if ( is_multisite() ) {
|
227 |
-
$transient = Sendgrid_Tools::get_site_transient_sendgrid( $token );
|
228 |
-
}
|
229 |
-
|
230 |
if ( ! $transient or
|
231 |
! is_array( $transient ) or
|
232 |
! isset( $transient['last_name'] ) )
|
@@ -253,10 +233,6 @@ function register_shortcode_email($atts)
|
|
253 |
$token = $_GET['sg_token'];
|
254 |
$transient = Sendgrid_Tools::get_transient_sendgrid( $token );
|
255 |
|
256 |
-
if ( is_multisite() ) {
|
257 |
-
$transient = Sendgrid_Tools::get_site_transient_sendgrid( $token );
|
258 |
-
}
|
259 |
-
|
260 |
if ( ! $transient or
|
261 |
! is_array( $transient ) or
|
262 |
! isset( $transient['email'] ) )
|
@@ -287,16 +263,8 @@ function sg_invalidate_token() {
|
|
287 |
$token = $_GET['sg_token'];
|
288 |
$transient = Sendgrid_Tools::get_transient_sendgrid( $token );
|
289 |
|
290 |
-
if ( is_multisite() ) {
|
291 |
-
$transient = Sendgrid_Tools::get_site_transient_sendgrid( $token );
|
292 |
-
}
|
293 |
-
|
294 |
if ( $token and $transient ) {
|
295 |
-
|
296 |
-
Sendgrid_Tools::set_site_transient_sendgrid( $token, null );
|
297 |
-
} else {
|
298 |
-
Sendgrid_Tools::set_transient_sendgrid( $token, null );
|
299 |
-
}
|
300 |
}
|
301 |
}
|
302 |
|
60 |
exit();
|
61 |
}
|
62 |
|
63 |
+
$transient = Sendgrid_Tools::get_transient_sendgrid( $token );
|
64 |
|
65 |
if ( ! $transient or
|
66 |
! is_array( $transient ) or
|
82 |
$page = Sendgrid_Tools::get_mc_signup_confirmation_page_url();
|
83 |
|
84 |
if ( $page == false ) {
|
85 |
+
Sendgrid_Tools::set_transient_sendgrid( $token, null );
|
86 |
+
|
|
|
|
|
|
|
87 |
wp_redirect( 'sg-subscription-success' );
|
88 |
exit();
|
89 |
}
|
128 |
|
129 |
$token = Sendgrid_OptIn_API_Endpoint::generate_email_token( $email, $first_name, $last_name );
|
130 |
|
131 |
+
$transient = Sendgrid_Tools::get_transient_sendgrid( $token );
|
132 |
|
133 |
if ( $transient and isset( $transient['email'] ) and ! $from_settings ) {
|
134 |
return false;
|
135 |
}
|
136 |
|
137 |
+
if ( false == Sendgrid_Tools::set_transient_sendgrid( $token,
|
138 |
+
array(
|
139 |
+
'email' => $email,
|
140 |
+
'first_name' => $first_name,
|
141 |
+
'last_name' => $last_name ),
|
142 |
+
24 * 60 * 60 ) and ! $from_settings and $transient ) {
|
143 |
+
return false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
144 |
}
|
145 |
|
146 |
$confirmation_link = site_url() . '/?__sg_api=1&token=' . $token;
|
181 |
$token = $_GET['sg_token'];
|
182 |
$transient = Sendgrid_Tools::get_transient_sendgrid( $token );
|
183 |
|
|
|
|
|
|
|
|
|
184 |
if ( ! $transient ||
|
185 |
! is_array( $transient ) ||
|
186 |
! isset( $transient['first_name'] ) )
|
207 |
$token = $_GET['sg_token'];
|
208 |
$transient = Sendgrid_Tools::get_transient_sendgrid( $token );
|
209 |
|
|
|
|
|
|
|
|
|
210 |
if ( ! $transient or
|
211 |
! is_array( $transient ) or
|
212 |
! isset( $transient['last_name'] ) )
|
233 |
$token = $_GET['sg_token'];
|
234 |
$transient = Sendgrid_Tools::get_transient_sendgrid( $token );
|
235 |
|
|
|
|
|
|
|
|
|
236 |
if ( ! $transient or
|
237 |
! is_array( $transient ) or
|
238 |
! isset( $transient['email'] ) )
|
263 |
$token = $_GET['sg_token'];
|
264 |
$transient = Sendgrid_Tools::get_transient_sendgrid( $token );
|
265 |
|
|
|
|
|
|
|
|
|
266 |
if ( $token and $transient ) {
|
267 |
+
Sendgrid_Tools::set_transient_sendgrid( $token, null );
|
|
|
|
|
|
|
|
|
268 |
}
|
269 |
}
|
270 |
|
lib/class-sendgrid-tools.php
CHANGED
@@ -5,10 +5,11 @@ class Sendgrid_Tools
|
|
5 |
const CACHE_GROUP = "sendgrid";
|
6 |
const CHECK_CREDENTIALS_CACHE_KEY = "sendgrid_credentials_check";
|
7 |
const CHECK_API_KEY_CACHE_KEY = "sendgrid_api_key_check";
|
|
|
8 |
const VALID_CREDENTIALS_STATUS = "valid";
|
9 |
|
10 |
// used static variable because php 5.3 doesn't support array as constant
|
11 |
-
public static $allowed_ports = array( Sendgrid_SMTP::TLS, Sendgrid_SMTP::TLS_ALTERNATIVE, Sendgrid_SMTP::SSL );
|
12 |
public static $allowed_auth_methods = array( 'apikey', 'credentials' );
|
13 |
public static $allowed_content_type = array( 'plaintext', 'html' );
|
14 |
|
@@ -65,16 +66,11 @@ class Sendgrid_Tools
|
|
65 |
return false;
|
66 |
}
|
67 |
|
68 |
-
if ( $clear_cache
|
69 |
-
|
70 |
-
} elseif ( $clear_cache ) {
|
71 |
-
set_transient( self::CHECK_CREDENTIALS_CACHE_KEY, null );
|
72 |
}
|
73 |
|
74 |
-
$valid_username_password =
|
75 |
-
if ( is_multisite() ) {
|
76 |
-
$valid_username_password = get_site_transient( self::CHECK_CREDENTIALS_CACHE_KEY );
|
77 |
-
}
|
78 |
|
79 |
if ( self::VALID_CREDENTIALS_STATUS == $valid_username_password ) {
|
80 |
return true;
|
@@ -95,11 +91,7 @@ class Sendgrid_Tools
|
|
95 |
return false;
|
96 |
}
|
97 |
|
98 |
-
|
99 |
-
set_site_transient( self::CHECK_CREDENTIALS_CACHE_KEY, self::VALID_CREDENTIALS_STATUS, 2 * 60 * 60 );
|
100 |
-
} else {
|
101 |
-
set_transient( self::CHECK_CREDENTIALS_CACHE_KEY, self::VALID_CREDENTIALS_STATUS, 2 * 60 * 60 );
|
102 |
-
}
|
103 |
|
104 |
return true;
|
105 |
}
|
@@ -163,16 +155,11 @@ class Sendgrid_Tools
|
|
163 |
return false;
|
164 |
}
|
165 |
|
166 |
-
if ( $clear_cache
|
167 |
-
|
168 |
-
} elseif ( $clear_cache ) {
|
169 |
-
set_transient( self::CHECK_API_KEY_CACHE_KEY, null );
|
170 |
}
|
171 |
|
172 |
-
$valid_apikey =
|
173 |
-
if ( is_multisite() ) {
|
174 |
-
$valid_apikey = get_site_transient( self::CHECK_API_KEY_CACHE_KEY );
|
175 |
-
}
|
176 |
|
177 |
if ( self::VALID_CREDENTIALS_STATUS == $valid_apikey ) {
|
178 |
return true;
|
@@ -189,11 +176,7 @@ class Sendgrid_Tools
|
|
189 |
return false;
|
190 |
}
|
191 |
|
192 |
-
|
193 |
-
set_site_transient( self::CHECK_API_KEY_CACHE_KEY, self::VALID_CREDENTIALS_STATUS, 2 * 60 * 60 );
|
194 |
-
} else {
|
195 |
-
set_transient( self::CHECK_API_KEY_CACHE_KEY, self::VALID_CREDENTIALS_STATUS, 2 * 60 * 60 );
|
196 |
-
}
|
197 |
|
198 |
return true;
|
199 |
}
|
@@ -1320,15 +1303,35 @@ class Sendgrid_Tools
|
|
1320 |
/**
|
1321 |
* Check apikey stats permissions
|
1322 |
*
|
1323 |
-
* @param string $apikey
|
|
|
1324 |
*
|
1325 |
* @return bool
|
1326 |
*/
|
1327 |
-
public static function check_api_key_stats( $apikey )
|
1328 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1329 |
$required_scopes = array( 'stats.read', 'categories.stats.read', 'categories.stats.sums.read' );
|
1330 |
|
1331 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1332 |
}
|
1333 |
|
1334 |
/**
|
@@ -1471,26 +1474,13 @@ class Sendgrid_Tools
|
|
1471 |
public static function set_transient_sendgrid( $transient, $value, $expiration = 0 ) {
|
1472 |
$old_cache_value = wp_using_ext_object_cache();
|
1473 |
wp_using_ext_object_cache( false );
|
1474 |
-
$set_transient_result = set_transient( $transient, $value, $expiration );
|
1475 |
-
wp_using_ext_object_cache( $old_cache_value );
|
1476 |
|
1477 |
-
|
1478 |
-
|
|
|
|
|
|
|
1479 |
|
1480 |
-
/**
|
1481 |
-
* Set/update the value of a site transient using database.
|
1482 |
-
*
|
1483 |
-
* @param string $transient Transient name. Expected to not be SQL-escaped. Must be
|
1484 |
-
* 172 characters or fewer in length.
|
1485 |
-
* @param mixed $value Transient value. Must be serializable if non-scalar.
|
1486 |
-
* Expected to not be SQL-escaped.
|
1487 |
-
* @param int $expiration Optional. Time until expiration in seconds. Default 0 (no expiration).
|
1488 |
-
* @return bool False if value was not set and true if value was set.
|
1489 |
-
*/
|
1490 |
-
public static function set_site_transient_sendgrid( $transient, $value, $expiration = 0 ) {
|
1491 |
-
$old_cache_value = wp_using_ext_object_cache();
|
1492 |
-
wp_using_ext_object_cache( false );
|
1493 |
-
$set_transient_result = set_site_transient( $transient, $value, $expiration );
|
1494 |
wp_using_ext_object_cache( $old_cache_value );
|
1495 |
|
1496 |
return $set_transient_result;
|
@@ -1505,28 +1495,16 @@ class Sendgrid_Tools
|
|
1505 |
* @param string $transient Transient name. Expected to not be SQL-escaped.
|
1506 |
* @return mixed Value of transient.
|
1507 |
*/
|
1508 |
-
function get_transient_sendgrid( $transient ) {
|
1509 |
$old_cache_value = wp_using_ext_object_cache();
|
1510 |
wp_using_ext_object_cache( false );
|
1511 |
-
|
1512 |
-
|
1513 |
-
|
1514 |
-
|
1515 |
-
|
|
|
1516 |
|
1517 |
-
/**
|
1518 |
-
* Get the value of a site transient from database.
|
1519 |
-
*
|
1520 |
-
* If the transient does not exist, does not have a value, or has expired,
|
1521 |
-
* then the return value will be false.
|
1522 |
-
*
|
1523 |
-
* @param string $transient Transient name. Expected to not be SQL-escaped.
|
1524 |
-
* @return mixed Value of transient.
|
1525 |
-
*/
|
1526 |
-
function get_site_transient_sendgrid( $transient ) {
|
1527 |
-
$old_cache_value = wp_using_ext_object_cache();
|
1528 |
-
wp_using_ext_object_cache( false );
|
1529 |
-
$value = get_site_transient( $transient );
|
1530 |
wp_using_ext_object_cache( $old_cache_value );
|
1531 |
|
1532 |
return $value;
|
5 |
const CACHE_GROUP = "sendgrid";
|
6 |
const CHECK_CREDENTIALS_CACHE_KEY = "sendgrid_credentials_check";
|
7 |
const CHECK_API_KEY_CACHE_KEY = "sendgrid_api_key_check";
|
8 |
+
const CHECK_API_KEY_STATS_CACHE_KEY = "sendgrid_api_key_stats_check";
|
9 |
const VALID_CREDENTIALS_STATUS = "valid";
|
10 |
|
11 |
// used static variable because php 5.3 doesn't support array as constant
|
12 |
+
public static $allowed_ports = array( Sendgrid_SMTP::TLS, Sendgrid_SMTP::TLS_ALTERNATIVE, Sendgrid_SMTP::SSL, Sendgrid_SMTP::TLS_ALTERNATIVE_2 );
|
13 |
public static $allowed_auth_methods = array( 'apikey', 'credentials' );
|
14 |
public static $allowed_content_type = array( 'plaintext', 'html' );
|
15 |
|
66 |
return false;
|
67 |
}
|
68 |
|
69 |
+
if ( $clear_cache ) {
|
70 |
+
self::set_transient_sendgrid( self::CHECK_CREDENTIALS_CACHE_KEY, null );
|
|
|
|
|
71 |
}
|
72 |
|
73 |
+
$valid_username_password = self::get_transient_sendgrid( self::CHECK_CREDENTIALS_CACHE_KEY );
|
|
|
|
|
|
|
74 |
|
75 |
if ( self::VALID_CREDENTIALS_STATUS == $valid_username_password ) {
|
76 |
return true;
|
91 |
return false;
|
92 |
}
|
93 |
|
94 |
+
self::set_transient_sendgrid( self::CHECK_CREDENTIALS_CACHE_KEY, self::VALID_CREDENTIALS_STATUS, 2 * 60 * 60 );
|
|
|
|
|
|
|
|
|
95 |
|
96 |
return true;
|
97 |
}
|
155 |
return false;
|
156 |
}
|
157 |
|
158 |
+
if ( $clear_cache ) {
|
159 |
+
self::set_transient_sendgrid( self::CHECK_API_KEY_CACHE_KEY, null );
|
|
|
|
|
160 |
}
|
161 |
|
162 |
+
$valid_apikey = self::get_transient_sendgrid( self::CHECK_API_KEY_CACHE_KEY );
|
|
|
|
|
|
|
163 |
|
164 |
if ( self::VALID_CREDENTIALS_STATUS == $valid_apikey ) {
|
165 |
return true;
|
176 |
return false;
|
177 |
}
|
178 |
|
179 |
+
self::set_transient_sendgrid( self::CHECK_API_KEY_CACHE_KEY, self::VALID_CREDENTIALS_STATUS, 2 * 60 * 60 );
|
|
|
|
|
|
|
|
|
180 |
|
181 |
return true;
|
182 |
}
|
1303 |
/**
|
1304 |
* Check apikey stats permissions
|
1305 |
*
|
1306 |
+
* @param string $apikey sendgrid apikey
|
1307 |
+
* @param bool $clear_cache true to not use cache
|
1308 |
*
|
1309 |
* @return bool
|
1310 |
*/
|
1311 |
+
public static function check_api_key_stats( $apikey, $clear_cache = false )
|
1312 |
{
|
1313 |
+
// clear cache
|
1314 |
+
if ( $clear_cache ) {
|
1315 |
+
self::set_transient_sendgrid( self::CHECK_API_KEY_STATS_CACHE_KEY, null );
|
1316 |
+
}
|
1317 |
+
|
1318 |
+
// get info from cache
|
1319 |
+
$valid_apikey_stats = self::get_transient_sendgrid( self::CHECK_API_KEY_STATS_CACHE_KEY );
|
1320 |
+
|
1321 |
+
if ( self::VALID_CREDENTIALS_STATUS == $valid_apikey_stats ) {
|
1322 |
+
return true;
|
1323 |
+
}
|
1324 |
+
|
1325 |
$required_scopes = array( 'stats.read', 'categories.stats.read', 'categories.stats.sums.read' );
|
1326 |
|
1327 |
+
$check_scopes = Sendgrid_Tools::check_api_key_scopes( $apikey, $required_scopes );
|
1328 |
+
|
1329 |
+
// set cache
|
1330 |
+
if ( $check_scopes ) {
|
1331 |
+
self::set_transient_sendgrid( self::CHECK_API_KEY_STATS_CACHE_KEY, self::VALID_CREDENTIALS_STATUS, 2 * 60 * 60 );
|
1332 |
+
}
|
1333 |
+
|
1334 |
+
return $check_scopes;
|
1335 |
}
|
1336 |
|
1337 |
/**
|
1474 |
public static function set_transient_sendgrid( $transient, $value, $expiration = 0 ) {
|
1475 |
$old_cache_value = wp_using_ext_object_cache();
|
1476 |
wp_using_ext_object_cache( false );
|
|
|
|
|
1477 |
|
1478 |
+
if ( ! is_multisite() || ( is_multisite() and ! is_main_site() and get_option( 'sendgrid_can_manage_subsite' ) ) ) {
|
1479 |
+
$set_transient_result = set_transient( $transient, $value, $expiration );
|
1480 |
+
} else {
|
1481 |
+
$set_transient_result = set_site_transient( $transient, $value, $expiration );
|
1482 |
+
}
|
1483 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1484 |
wp_using_ext_object_cache( $old_cache_value );
|
1485 |
|
1486 |
return $set_transient_result;
|
1495 |
* @param string $transient Transient name. Expected to not be SQL-escaped.
|
1496 |
* @return mixed Value of transient.
|
1497 |
*/
|
1498 |
+
public static function get_transient_sendgrid( $transient ) {
|
1499 |
$old_cache_value = wp_using_ext_object_cache();
|
1500 |
wp_using_ext_object_cache( false );
|
1501 |
+
|
1502 |
+
if ( ! is_multisite() || ( is_multisite() and ! is_main_site() and get_option( 'sendgrid_can_manage_subsite' ) ) ) {
|
1503 |
+
$value = get_transient( $transient );
|
1504 |
+
} else {
|
1505 |
+
$value = get_site_transient( $transient );
|
1506 |
+
}
|
1507 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1508 |
wp_using_ext_object_cache( $old_cache_value );
|
1509 |
|
1510 |
return $value;
|
lib/sendgrid/class-sendgrid-smtp.php
CHANGED
@@ -7,6 +7,7 @@ class Sendgrid_SMTP implements Sendgrid_Send {
|
|
7 |
//the available ports
|
8 |
const TLS = 587;
|
9 |
const TLS_ALTERNATIVE = 25;
|
|
|
10 |
const SSL = 465;
|
11 |
|
12 |
//the list of port instances, to be recycled
|
7 |
//the available ports
|
8 |
const TLS = 587;
|
9 |
const TLS_ALTERNATIVE = 25;
|
10 |
+
const TLS_ALTERNATIVE_2 = 2525;
|
11 |
const SSL = 465;
|
12 |
|
13 |
//the list of port instances, to be recycled
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: http://sendgrid.com/
|
|
4 |
Tags: email, email reliability, email templates, sendgrid, smtp, transactional email, wp_mail,email infrastructure, email marketing, marketing email, deliverability, email deliverability, email delivery, email server, mail server, email integration, cloud email
|
5 |
Requires at least: 4.2
|
6 |
Tested up to: 4.7
|
7 |
-
Stable tag: 1.10.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -256,6 +256,9 @@ The settings for all sites in the network can be configured only by the Network
|
|
256 |
|
257 |
== Changelog ==
|
258 |
|
|
|
|
|
|
|
259 |
= 1.10.6 =
|
260 |
* Fixed logos and fonts on Stats page
|
261 |
= 1.10.5 =
|
@@ -397,6 +400,9 @@ The settings for all sites in the network can be configured only by the Network
|
|
397 |
|
398 |
== Upgrade notice ==
|
399 |
|
|
|
|
|
|
|
400 |
= 1.10.6 =
|
401 |
* Fixed logos and fonts on Stats page
|
402 |
= 1.10.5 =
|
4 |
Tags: email, email reliability, email templates, sendgrid, smtp, transactional email, wp_mail,email infrastructure, email marketing, marketing email, deliverability, email deliverability, email delivery, email server, mail server, email integration, cloud email
|
5 |
Requires at least: 4.2
|
6 |
Tested up to: 4.7
|
7 |
+
Stable tag: 1.10.7
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
256 |
|
257 |
== Changelog ==
|
258 |
|
259 |
+
= 1.10.7 =
|
260 |
+
* Add port 2525 for SMTP
|
261 |
+
* Use cache for stats widget on dashboard
|
262 |
= 1.10.6 =
|
263 |
* Fixed logos and fonts on Stats page
|
264 |
= 1.10.5 =
|
400 |
|
401 |
== Upgrade notice ==
|
402 |
|
403 |
+
= 1.10.7 =
|
404 |
+
* Add port 2525 for SMTP
|
405 |
+
* Use cache for stats widget on dashboard
|
406 |
= 1.10.6 =
|
407 |
* Fixed logos and fonts on Stats page
|
408 |
= 1.10.5 =
|
view/sendgrid_settings_general.php
CHANGED
@@ -58,6 +58,7 @@
|
|
58 |
<select name="sendgrid_port" id="sendgrid_port" <?php disabled( $is_env_port ); ?>>
|
59 |
<option value="<?php echo SendGrid_SMTP::TLS ?>" id="tls" <?php echo ( ( SendGrid_SMTP::TLS == $port ) or (! $port ) ) ? 'selected' : '' ?>><?php _e( SendGrid_SMTP::TLS ) ?></option>
|
60 |
<option value="<?php echo SendGrid_SMTP::TLS_ALTERNATIVE ?>" id="tls_alt" <?php echo ( SendGrid_SMTP::TLS_ALTERNATIVE == $port ) ? 'selected' : '' ?>><?php _e( SendGrid_SMTP::TLS_ALTERNATIVE ) ?></option>
|
|
|
61 |
<option value="<?php echo SendGrid_SMTP::SSL ?>" id="ssl" <?php echo ( SendGrid_SMTP::SSL == $port ) ? 'selected' : '' ?>><?php _e( SendGrid_SMTP::SSL ) ?></option>
|
62 |
</select>
|
63 |
</td>
|
58 |
<select name="sendgrid_port" id="sendgrid_port" <?php disabled( $is_env_port ); ?>>
|
59 |
<option value="<?php echo SendGrid_SMTP::TLS ?>" id="tls" <?php echo ( ( SendGrid_SMTP::TLS == $port ) or (! $port ) ) ? 'selected' : '' ?>><?php _e( SendGrid_SMTP::TLS ) ?></option>
|
60 |
<option value="<?php echo SendGrid_SMTP::TLS_ALTERNATIVE ?>" id="tls_alt" <?php echo ( SendGrid_SMTP::TLS_ALTERNATIVE == $port ) ? 'selected' : '' ?>><?php _e( SendGrid_SMTP::TLS_ALTERNATIVE ) ?></option>
|
61 |
+
<option value="<?php echo SendGrid_SMTP::TLS_ALTERNATIVE_2 ?>" id="tls_alt_2" <?php echo ( SendGrid_SMTP::TLS_ALTERNATIVE_2 == $port ) ? 'selected' : '' ?>><?php _e( SendGrid_SMTP::TLS_ALTERNATIVE_2 ) ?></option>
|
62 |
<option value="<?php echo SendGrid_SMTP::SSL ?>" id="ssl" <?php echo ( SendGrid_SMTP::SSL == $port ) ? 'selected' : '' ?>><?php _e( SendGrid_SMTP::SSL ) ?></option>
|
63 |
</select>
|
64 |
</td>
|
wpsendgrid.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: SendGrid
|
4 |
Plugin URI: http://wordpress.org/plugins/sendgrid-email-delivery-simplified/
|
5 |
Description: Email Delivery. Simplified. SendGrid's cloud-based email infrastructure relieves businesses of the cost and complexity of maintaining custom email systems. SendGrid provides reliable delivery, scalability and real-time analytics along with flexible APIs that make custom integration a breeze.
|
6 |
-
Version: 1.10.
|
7 |
Author: SendGrid
|
8 |
Author URI: http://sendgrid.com
|
9 |
Text Domain: sendgrid-email-delivery-simplified
|
3 |
Plugin Name: SendGrid
|
4 |
Plugin URI: http://wordpress.org/plugins/sendgrid-email-delivery-simplified/
|
5 |
Description: Email Delivery. Simplified. SendGrid's cloud-based email infrastructure relieves businesses of the cost and complexity of maintaining custom email systems. SendGrid provides reliable delivery, scalability and real-time analytics along with flexible APIs that make custom integration a breeze.
|
6 |
+
Version: 1.10.7
|
7 |
Author: SendGrid
|
8 |
Author URI: http://sendgrid.com
|
9 |
Text Domain: sendgrid-email-delivery-simplified
|