Version Description
- 2018-10-02
- Added support for Mailgun Europe region.
- Replace "buggey" mime_content_type php function
Download this release
Release Info
Developer | yehudah |
Plugin | Post SMTP Mailer/Email Log |
Version | 1.9.5 |
Comparing to | |
See all releases |
Code changes from version 1.9.4 to 1.9.5
- Postman/Postman-Mail/PostmanMailgunMailEngine.php +8 -1
- Postman/Postman-Mail/PostmanMailgunTransport.php +18 -3
- Postman/Postman-Mail/PostmanSendGridMailEngine.php +2 -2
- Postman/PostmanConfigTextHelper.php +3 -6
- Postman/PostmanInputSanitizer.php +1 -0
- Postman/PostmanOptions.php +7 -0
- Postman/PostmanViewController.php +1 -1
- postman-smtp.php +2 -3
- readme.txt +10 -17
Postman/Postman-Mail/PostmanMailgunMailEngine.php
CHANGED
@@ -1,6 +1,8 @@
|
|
1 |
<?php
|
2 |
require_once 'mailgun/mailgun.php';
|
|
|
3 |
use Mailgun\Mailgun;
|
|
|
4 |
|
5 |
if ( ! class_exists( 'PostmanMailgunMailEngine' ) ) {
|
6 |
|
@@ -18,6 +20,7 @@ if ( ! class_exists( 'PostmanMailgunMailEngine' ) ) {
|
|
18 |
// the result
|
19 |
private $transcript;
|
20 |
|
|
|
21 |
private $apiKey;
|
22 |
private $domainName;
|
23 |
private $mailgunMessage;
|
@@ -48,6 +51,7 @@ if ( ! class_exists( 'PostmanMailgunMailEngine' ) ) {
|
|
48 |
*/
|
49 |
public function send( PostmanMessage $message ) {
|
50 |
$options = PostmanOptions::getInstance();
|
|
|
51 |
|
52 |
// add the Postman signature - append it to whatever the user may have set
|
53 |
if ( ! $options->isStealthModeEnabled() ) {
|
@@ -161,7 +165,10 @@ if ( ! class_exists( 'PostmanMailgunMailEngine' ) ) {
|
|
161 |
$this->logger->debug( 'Sending mail' );
|
162 |
}
|
163 |
|
164 |
-
$
|
|
|
|
|
|
|
165 |
|
166 |
// Make the call to the client.
|
167 |
$result = $this->processSend( $mg );
|
1 |
<?php
|
2 |
require_once 'mailgun/mailgun.php';
|
3 |
+
|
4 |
use Mailgun\Mailgun;
|
5 |
+
use Mailgun\HttpClientConfigurator;
|
6 |
|
7 |
if ( ! class_exists( 'PostmanMailgunMailEngine' ) ) {
|
8 |
|
20 |
// the result
|
21 |
private $transcript;
|
22 |
|
23 |
+
private $api_endpoint;
|
24 |
private $apiKey;
|
25 |
private $domainName;
|
26 |
private $mailgunMessage;
|
51 |
*/
|
52 |
public function send( PostmanMessage $message ) {
|
53 |
$options = PostmanOptions::getInstance();
|
54 |
+
$this->api_endpoint = ! is_null( $options->getMailgunRegion() ) ? 'https://api.eu.mailgun.net' : 'https://api.mailgun.net';
|
55 |
|
56 |
// add the Postman signature - append it to whatever the user may have set
|
57 |
if ( ! $options->isStealthModeEnabled() ) {
|
165 |
$this->logger->debug( 'Sending mail' );
|
166 |
}
|
167 |
|
168 |
+
$configurator = new HttpClientConfigurator();
|
169 |
+
$configurator->setEndpoint( $this->api_endpoint . '/v3/'. $this->domainName .'/messages');
|
170 |
+
$configurator->setApiKey($this->apiKey);
|
171 |
+
$mg = Mailgun::configure($configurator);
|
172 |
|
173 |
// Make the call to the client.
|
174 |
$result = $this->processSend( $mg );
|
Postman/Postman-Mail/PostmanMailgunTransport.php
CHANGED
@@ -9,6 +9,7 @@ class PostmanMailgunTransport extends PostmanAbstractModuleTransport implements
|
|
9 |
const SLUG = 'mailgun_api';
|
10 |
const PORT = 443;
|
11 |
const HOST = 'api.mailgun.net';
|
|
|
12 |
const PRIORITY = 8000;
|
13 |
const MAILGUN_AUTH_OPTIONS = 'postman_mailgun_auth_options';
|
14 |
const MAILGUN_AUTH_SECTION = 'postman_mailgun_auth_section';
|
@@ -43,7 +44,7 @@ class PostmanMailgunTransport extends PostmanAbstractModuleTransport implements
|
|
43 |
* @return string
|
44 |
*/
|
45 |
public function getHostname() {
|
46 |
-
return self::HOST;
|
47 |
}
|
48 |
/**
|
49 |
* v0.2.1
|
@@ -128,10 +129,10 @@ class PostmanMailgunTransport extends PostmanAbstractModuleTransport implements
|
|
128 |
$recommendation ['transport'] = self::SLUG;
|
129 |
$recommendation ['hostname'] = null; // scribe looks this
|
130 |
$recommendation ['label'] = $this->getName();
|
131 |
-
if ( $hostData->hostname ==
|
132 |
$recommendation ['priority'] = self::PRIORITY;
|
133 |
/* translators: where variables are (1) transport name (2) host and (3) port */
|
134 |
-
$recommendation ['message'] = sprintf( __( ('Postman recommends the %1$s to host %2$s on port %3$d.') ), $this->getName(),
|
135 |
}
|
136 |
return $recommendation;
|
137 |
}
|
@@ -197,6 +198,11 @@ class PostmanMailgunTransport extends PostmanAbstractModuleTransport implements
|
|
197 |
$this,
|
198 |
'mailgun_domain_name_callback',
|
199 |
), PostmanMailgunTransport::MAILGUN_AUTH_OPTIONS, PostmanMailgunTransport::MAILGUN_AUTH_SECTION );
|
|
|
|
|
|
|
|
|
|
|
200 |
}
|
201 |
public function printMailgunAuthSectionInfo() {
|
202 |
/* Translators: Where (1) is the service URL and (2) is the service name and (3) is a api key URL */
|
@@ -214,6 +220,11 @@ class PostmanMailgunTransport extends PostmanAbstractModuleTransport implements
|
|
214 |
printf( '<input type="text" autocomplete="off" id="mailgun_domain_name" name="postman_options[mailgun_domain_name]" value="%s" size="60" class="required" placeholder="%s"/>', null !== $this->options->getMailgunDomainName() ? esc_attr( $this->options->getMailgunDomainName() ) : '', __( 'Required', Postman::TEXT_DOMAIN ) );
|
215 |
}
|
216 |
|
|
|
|
|
|
|
|
|
|
|
217 |
/**
|
218 |
*/
|
219 |
public function registerStylesAndScripts() {
|
@@ -243,6 +254,10 @@ class PostmanMailgunTransport extends PostmanAbstractModuleTransport implements
|
|
243 |
printf( '<label for="domain_name">%s</label>', __( 'Domain Name', Postman::TEXT_DOMAIN ) );
|
244 |
print '<br />';
|
245 |
print $this->mailgun_domain_name_callback();
|
|
|
|
|
|
|
|
|
246 |
print '</section>';
|
247 |
}
|
248 |
}
|
9 |
const SLUG = 'mailgun_api';
|
10 |
const PORT = 443;
|
11 |
const HOST = 'api.mailgun.net';
|
12 |
+
const EU_REGION = 'api.eu.mailgun.net';
|
13 |
const PRIORITY = 8000;
|
14 |
const MAILGUN_AUTH_OPTIONS = 'postman_mailgun_auth_options';
|
15 |
const MAILGUN_AUTH_SECTION = 'postman_mailgun_auth_section';
|
44 |
* @return string
|
45 |
*/
|
46 |
public function getHostname() {
|
47 |
+
return ! is_null( $this->options->getMailgunRegion() ) ? self::EU_REGION : self::HOST;
|
48 |
}
|
49 |
/**
|
50 |
* v0.2.1
|
129 |
$recommendation ['transport'] = self::SLUG;
|
130 |
$recommendation ['hostname'] = null; // scribe looks this
|
131 |
$recommendation ['label'] = $this->getName();
|
132 |
+
if ( $hostData->hostname == $this->getHostname() && $hostData->port == self::PORT ) {
|
133 |
$recommendation ['priority'] = self::PRIORITY;
|
134 |
/* translators: where variables are (1) transport name (2) host and (3) port */
|
135 |
+
$recommendation ['message'] = sprintf( __( ('Postman recommends the %1$s to host %2$s on port %3$d.') ), $this->getName(), $this->getHostname(), self::PORT );
|
136 |
}
|
137 |
return $recommendation;
|
138 |
}
|
198 |
$this,
|
199 |
'mailgun_domain_name_callback',
|
200 |
), PostmanMailgunTransport::MAILGUN_AUTH_OPTIONS, PostmanMailgunTransport::MAILGUN_AUTH_SECTION );
|
201 |
+
|
202 |
+
add_settings_field( PostmanOptions::MAILGUN_REGION, __( 'Mailgun Europe Region?', Postman::TEXT_DOMAIN ), array(
|
203 |
+
$this,
|
204 |
+
'mailgun_region_callback',
|
205 |
+
), PostmanMailgunTransport::MAILGUN_AUTH_OPTIONS, PostmanMailgunTransport::MAILGUN_AUTH_SECTION );
|
206 |
}
|
207 |
public function printMailgunAuthSectionInfo() {
|
208 |
/* Translators: Where (1) is the service URL and (2) is the service name and (3) is a api key URL */
|
220 |
printf( '<input type="text" autocomplete="off" id="mailgun_domain_name" name="postman_options[mailgun_domain_name]" value="%s" size="60" class="required" placeholder="%s"/>', null !== $this->options->getMailgunDomainName() ? esc_attr( $this->options->getMailgunDomainName() ) : '', __( 'Required', Postman::TEXT_DOMAIN ) );
|
221 |
}
|
222 |
|
223 |
+
function mailgun_region_callback() {
|
224 |
+
$value = $this->options->getMailgunRegion();
|
225 |
+
printf( '<input type="checkbox" id="mailgun_region" name="postman_options[mailgun_region]"%s />', null !== $value ? ' checked' : '' );
|
226 |
+
}
|
227 |
+
|
228 |
/**
|
229 |
*/
|
230 |
public function registerStylesAndScripts() {
|
254 |
printf( '<label for="domain_name">%s</label>', __( 'Domain Name', Postman::TEXT_DOMAIN ) );
|
255 |
print '<br />';
|
256 |
print $this->mailgun_domain_name_callback();
|
257 |
+
print '<br />';
|
258 |
+
printf( '<label for="mailgun_region">%s</label>', __( 'Mailgun Europe Region?', Postman::TEXT_DOMAIN ) );
|
259 |
+
print '<br />';
|
260 |
+
print $this->mailgun_region_callback();
|
261 |
print '</section>';
|
262 |
}
|
263 |
}
|
Postman/Postman-Mail/PostmanSendGridMailEngine.php
CHANGED
@@ -260,9 +260,10 @@ if ( ! class_exists( 'PostmanSendGridMailEngine' ) ) {
|
|
260 |
|
261 |
$file_name = basename( $file );
|
262 |
$file_parts = explode( '.', $file_name );
|
|
|
263 |
$attachments[] = array(
|
264 |
'content' => base64_encode( file_get_contents( $file ) ),
|
265 |
-
'type' =>
|
266 |
'file_name' => $file_name,
|
267 |
'disposition' => 'attachment',
|
268 |
'id' => $file_parts[0],
|
@@ -279,4 +280,3 @@ if ( ! class_exists( 'PostmanSendGridMailEngine' ) ) {
|
|
279 |
}
|
280 |
}
|
281 |
}
|
282 |
-
|
260 |
|
261 |
$file_name = basename( $file );
|
262 |
$file_parts = explode( '.', $file_name );
|
263 |
+
$file_type = wp_check_filetype( $file );
|
264 |
$attachments[] = array(
|
265 |
'content' => base64_encode( file_get_contents( $file ) ),
|
266 |
+
'type' => $file_type['type'],
|
267 |
'file_name' => $file_name,
|
268 |
'disposition' => 'attachment',
|
269 |
'id' => $file_parts[0],
|
280 |
}
|
281 |
}
|
282 |
}
|
|
Postman/PostmanConfigTextHelper.php
CHANGED
@@ -28,13 +28,10 @@ if ( ! class_exists( 'PostmanAbstractConfigTextHelper' ) ) {
|
|
28 |
*/
|
29 |
abstract class PostmanAbstractConfigTextHelper implements PostmanConfigTextHelper {
|
30 |
public function getOAuthHelp() {
|
31 |
-
$attention = __( 'Attention' );
|
32 |
-
|
33 |
-
$errorMessage = sprintf( __( 'Open the <a href="%1$s" target="_blank">%2$s</a>, create <b>%7$s</b> with the values displayed below, and copy the generated %3$s and %4$s here.', Postman::TEXT_DOMAIN ), $this->getApplicationPortalUrl(), $this->getApplicationPortalName(), $this->getClientIdLabel(), $this->getClientSecretLabel(), $this->getCallbackUrlLabel(), $this->getOwnerName(), $this->getApplicationDescription() );
|
34 |
$text = sprintf( '<b style="color:red">%s!</b> %s', $attention, $errorMessage );
|
35 |
-
|
36 |
-
$howToTemplate = __( 'See <a href="%3$s" target="_blank">How do I get a %1$s %2$s?</a> in the F.A.Q. or <a href="%4$s" target="_blank">watch our How-To video 📺</a>.', Postman::TEXT_DOMAIN );
|
37 |
-
$text .= sprintf( ' %s', sprintf( $howToTemplate, $this->getOwnerName(), $this->getClientIdLabel(), 'https://wordpress.org/plugins/post-smtp/faq/', 'https://vimeo.com/128589255' ) );
|
38 |
return $text;
|
39 |
}
|
40 |
function isOauthHost() {
|
28 |
*/
|
29 |
abstract class PostmanAbstractConfigTextHelper implements PostmanConfigTextHelper {
|
30 |
public function getOAuthHelp() {
|
31 |
+
$attention = __( 'Attention', Postman::TEXT_DOMAIN );
|
32 |
+
$errorMessage = sprintf( __('Check this article how to configure Gmail/Gsuite OAuth:<a href="%1$s" target="_blank">Read Here</a>', Postman::TEXT_DOMAIN ), 'https://postmansmtp.com/how-to-configure-post-smtp-with-gmailgsuite-using-oauth/' );
|
|
|
33 |
$text = sprintf( '<b style="color:red">%s!</b> %s', $attention, $errorMessage );
|
34 |
+
|
|
|
|
|
35 |
return $text;
|
36 |
}
|
37 |
function isOauthHost() {
|
Postman/PostmanInputSanitizer.php
CHANGED
@@ -54,6 +54,7 @@ if ( ! class_exists( 'PostmanInputSanitizer' ) ) {
|
|
54 |
$this->sanitizeString( 'From Name Override', PostmanOptions::PREVENT_MESSAGE_SENDER_NAME_OVERRIDE, $input, $new_input );
|
55 |
$this->sanitizeString( 'From Email Override', PostmanOptions::PREVENT_MESSAGE_SENDER_EMAIL_OVERRIDE, $input, $new_input );
|
56 |
$this->sanitizeString( 'Disable Email Validation', PostmanOptions::DISABLE_EMAIL_VALIDAITON, $input, $new_input );
|
|
|
57 |
$this->sanitizeString( 'Forced To Recipients', PostmanOptions::FORCED_TO_RECIPIENTS, $input, $new_input );
|
58 |
$this->sanitizeString( 'Forced CC Recipients', PostmanOptions::FORCED_CC_RECIPIENTS, $input, $new_input );
|
59 |
$this->sanitizeString( 'Forced BCC Recipients', PostmanOptions::FORCED_BCC_RECIPIENTS, $input, $new_input );
|
54 |
$this->sanitizeString( 'From Name Override', PostmanOptions::PREVENT_MESSAGE_SENDER_NAME_OVERRIDE, $input, $new_input );
|
55 |
$this->sanitizeString( 'From Email Override', PostmanOptions::PREVENT_MESSAGE_SENDER_EMAIL_OVERRIDE, $input, $new_input );
|
56 |
$this->sanitizeString( 'Disable Email Validation', PostmanOptions::DISABLE_EMAIL_VALIDAITON, $input, $new_input );
|
57 |
+
$this->sanitizeString( 'Mailgun Europe Region', PostmanOptions::MAILGUN_REGION, $input, $new_input );
|
58 |
$this->sanitizeString( 'Forced To Recipients', PostmanOptions::FORCED_TO_RECIPIENTS, $input, $new_input );
|
59 |
$this->sanitizeString( 'Forced CC Recipients', PostmanOptions::FORCED_CC_RECIPIENTS, $input, $new_input );
|
60 |
$this->sanitizeString( 'Forced BCC Recipients', PostmanOptions::FORCED_BCC_RECIPIENTS, $input, $new_input );
|
Postman/PostmanOptions.php
CHANGED
@@ -87,6 +87,7 @@ if ( ! class_exists( 'PostmanOptions' ) ) {
|
|
87 |
const SENDGRID_API_KEY = 'sendgrid_api_key';
|
88 |
const MAILGUN_API_KEY = 'mailgun_api_key';
|
89 |
const MAILGUN_DOMAIN_NAME = 'mailgun_domain_name';
|
|
|
90 |
const PREVENT_MESSAGE_SENDER_NAME_OVERRIDE = 'prevent_sender_name_override';
|
91 |
const PREVENT_MESSAGE_SENDER_EMAIL_OVERRIDE = 'prevent_sender_email_override';
|
92 |
const CONNECTION_TIMEOUT = 'connection_timeout';
|
@@ -317,6 +318,12 @@ if ( ! class_exists( 'PostmanOptions' ) ) {
|
|
317 |
}
|
318 |
}
|
319 |
|
|
|
|
|
|
|
|
|
|
|
|
|
320 |
public function getPushoverUser() {
|
321 |
if ( isset( $this->options [ PostmanOptions::PUSHOVER_USER ] ) ) {
|
322 |
return base64_decode( $this->options [ PostmanOptions::PUSHOVER_USER ] );
|
87 |
const SENDGRID_API_KEY = 'sendgrid_api_key';
|
88 |
const MAILGUN_API_KEY = 'mailgun_api_key';
|
89 |
const MAILGUN_DOMAIN_NAME = 'mailgun_domain_name';
|
90 |
+
const MAILGUN_REGION = 'mailgun_region';
|
91 |
const PREVENT_MESSAGE_SENDER_NAME_OVERRIDE = 'prevent_sender_name_override';
|
92 |
const PREVENT_MESSAGE_SENDER_EMAIL_OVERRIDE = 'prevent_sender_email_override';
|
93 |
const CONNECTION_TIMEOUT = 'connection_timeout';
|
318 |
}
|
319 |
}
|
320 |
|
321 |
+
public function getMailgunRegion() {
|
322 |
+
if ( isset( $this->options [ PostmanOptions::MAILGUN_REGION ] ) ) {
|
323 |
+
return $this->options [ PostmanOptions::MAILGUN_REGION ];
|
324 |
+
}
|
325 |
+
}
|
326 |
+
|
327 |
public function getPushoverUser() {
|
328 |
if ( isset( $this->options [ PostmanOptions::PUSHOVER_USER ] ) ) {
|
329 |
return base64_decode( $this->options [ PostmanOptions::PUSHOVER_USER ] );
|
Postman/PostmanViewController.php
CHANGED
@@ -307,7 +307,7 @@ if ( ! class_exists( 'PostmanViewController' ) ) {
|
|
307 |
echo '
|
308 |
<div class="updated settings-error notice is-dismissible">
|
309 |
<p>
|
310 |
-
<strong>Version ' . $version . '
|
311 |
</p>
|
312 |
<button style="z-index: 100;" data-version="'. $version . '" data-security="' . wp_create_nonce('postsmtp') .'" type="button" class="notice-dismiss postman-release-message">
|
313 |
<span class="screen-reader-text">Dismiss this notice.</span>
|
307 |
echo '
|
308 |
<div class="updated settings-error notice is-dismissible">
|
309 |
<p>
|
310 |
+
<strong>Version ' . $version . ' Mailgun Europe region support:</strong> <a target="_blank" href="https://postmansmtp.com/post-smtp-1-9-5-mailgun-europe-region-support/">Read Here</a>
|
311 |
</p>
|
312 |
<button style="z-index: 100;" data-version="'. $version . '" data-security="' . wp_create_nonce('postsmtp') .'" type="button" class="notice-dismiss postman-release-message">
|
313 |
<span class="screen-reader-text">Dismiss this notice.</span>
|
postman-smtp.php
CHANGED
@@ -1,10 +1,9 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
/*
|
4 |
* Plugin Name: Post SMTP
|
5 |
* Plugin URI: https://wordpress.org/plugins/post-smtp/
|
6 |
* 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!
|
7 |
-
* Version: 1.9.
|
8 |
* Author: Jason Hendriks, Yehuda Hassine
|
9 |
* Text Domain: post-smtp
|
10 |
* Author URI: https://postmansmtp.com
|
@@ -123,5 +122,5 @@ function post_start( $startingMemory ) {
|
|
123 |
*/
|
124 |
function post_setupPostman() {
|
125 |
require_once 'Postman/Postman.php';
|
126 |
-
$kevinCostner = new Postman( __FILE__, '1.9.
|
127 |
}
|
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: 1.9.5
|
7 |
* Author: Jason Hendriks, Yehuda Hassine
|
8 |
* Text Domain: post-smtp
|
9 |
* Author URI: https://postmansmtp.com
|
122 |
*/
|
123 |
function post_setupPostman() {
|
124 |
require_once 'Postman/Postman.php';
|
125 |
+
$kevinCostner = new Postman( __FILE__, '1.9.5' );
|
126 |
}
|
readme.txt
CHANGED
@@ -1,10 +1,10 @@
|
|
1 |
=== Post SMTP Mailer/Email Log ===
|
2 |
-
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: 4.9.
|
7 |
-
Stable tag: 1.9.
|
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 1.9.
|
16 |
-
|
17 |
|
18 |
= WordPress Mail SMTP Plugin =
|
19 |
|
@@ -175,18 +175,7 @@ There are many reasons why OAuth 2.0 is better than any password-based mechanism
|
|
175 |
To use OAuth, your website needs it's own Client ID. The Client ID is used to control authentication and authorization and is tied to the specific URL of your website. If you manage several websites, you will need a different Client ID for each one.
|
176 |
|
177 |
= How do I get a Google Client ID? (For Gmail users only!) =
|
178 |
-
|
179 |
-
https://vimeo.com/128589255
|
180 |
-
|
181 |
-
1. Go to [Google Developer's Console](https://www.google.com/accounts/Logout?continue=https://console.developers.google.com/start/api?id=gmail) and login with the same email address that you are configuring Post with.
|
182 |
-
1. Choose 'Create a New Project'. This project will be for Post SMTP only.
|
183 |
-
1. Select 'Consent Screen' from under 'APIs & auth'. Into 'Email address' choose the correct Gmail address and in 'Product name' put 'Post SMTP'. Choose 'Save'.
|
184 |
-
1. Select 'Credentials' from under 'APIs & auth'. Choose 'Create a new Client ID'.
|
185 |
-
1. For the 'Application Type' use 'Web application'.
|
186 |
-
1. In 'Authorized Javascript origins' enter the 'Javascript Origins' given by Post (either from the wizard[[screenshot]](http://plugins.svn.wordpress.org/Post-smtp/assets/examples/Screen_Shot_2015-03-06_at_2_34_22_PM.png), or from the manual configuration page[[screenshot]](http://plugins.svn.wordpress.org/Post-smtp/assets/examples/Screen_Shot_2015-03-06_at_2_44_48_PM.png)).
|
187 |
-
1. In 'Authorized Redirect URIs' enter the 'Redirect URI' given by Post (either from the wizard[[screenshot]](http://plugins.svn.wordpress.org/Post-smtp/assets/examples/Screen_Shot_2015-03-06_at_2_34_22_PM.png), or from the manual configuration page[[screenshot]](http://plugins.svn.wordpress.org/Post-smtp/assets/examples/Screen_Shot_2015-03-06_at_2_44_48_PM.png)).
|
188 |
-
1. Choose 'Create Client ID'.
|
189 |
-
1. Enter the Client ID and Client Secret displayed here into Post's settings page [screenshot](https://ps.w.org/Post-smtp/assets/screenshot-7.png?rev=1108485).
|
190 |
|
191 |
= How do I get a Microsoft Client ID? (For Hotmail/Live/Outlook.com users only!) =
|
192 |
1. Go to [Microsoft account Developer Center](https://account.live.com/developers/applications/index) and select 'Create application'.
|
@@ -296,6 +285,10 @@ To avoid being flagged as spam, you need to prove your email isn't forged. On a
|
|
296 |
|
297 |
|
298 |
== Changelog ==
|
|
|
|
|
|
|
|
|
299 |
= 1.9.4 - 2018-08-03
|
300 |
The most stupid idea ever remove (auto security select)
|
301 |
|
1 |
=== Post SMTP Mailer/Email Log ===
|
2 |
+
Contributors: yehudah ,jasonhendriks
|
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: 4.9.9
|
7 |
+
Stable tag: 1.9.5
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
12 |
|
13 |
== Description ==
|
14 |
|
15 |
+
= Version 1.9.5 released - Mailgun Europe region support =
|
16 |
+
Small updates but important to read. [Read the detailes here](https://postmansmtp.com/post-smtp-1-9-5-mailgun-europe-region-support/)
|
17 |
|
18 |
= WordPress Mail SMTP Plugin =
|
19 |
|
175 |
To use OAuth, your website needs it's own Client ID. The Client ID is used to control authentication and authorization and is tied to the specific URL of your website. If you manage several websites, you will need a different Client ID for each one.
|
176 |
|
177 |
= How do I get a Google Client ID? (For Gmail users only!) =
|
178 |
+
Go to [Configure Post SMTP with Gmail\Gsuite OAuth](https://postmansmtp.com/how-to-configure-post-smtp-with-gmailgsuite-using-oauth/)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
179 |
|
180 |
= How do I get a Microsoft Client ID? (For Hotmail/Live/Outlook.com users only!) =
|
181 |
1. Go to [Microsoft account Developer Center](https://account.live.com/developers/applications/index) and select 'Create application'.
|
285 |
|
286 |
|
287 |
== Changelog ==
|
288 |
+
= 1.9.5 - 2018-10-02
|
289 |
+
* Added support for Mailgun Europe region.
|
290 |
+
* Replace "buggey" mime_content_type php function
|
291 |
+
|
292 |
= 1.9.4 - 2018-08-03
|
293 |
The most stupid idea ever remove (auto security select)
|
294 |
|