Post SMTP Mailer/Email Log - Version 2.0.2

Version Description

  • 2019-05-19
  • Fixed: Sendgrid code fix.
  • Fixed: Default method (nothing configured) will use the default mail on the server and not SMTP.
Download this release

Release Info

Developer yehudah
Plugin Icon 128x128 Post SMTP Mailer/Email Log
Version 2.0.2
Comparing to
See all releases

Code changes from version 2.0.1 to 2.0.2

Postman/Postman-Mail/PostmanContactForm7.php CHANGED
@@ -13,7 +13,7 @@ class Postsmtp_ContactForm7 {
13
}
14
15
public function change_rest_response( $response ) {
16
- if ( $response['status'] == 'mail_failed' ) {
17
$message = $this->result_error ['exception']->getMessage();
18
19
if ( ! $message || $message == '' ) {
13
}
14
15
public function change_rest_response( $response ) {
16
+ if ( array_key_exists('status', $response) && $response['status'] == 'mail_failed' ) {
17
$message = $this->result_error ['exception']->getMessage();
18
19
if ( ! $message || $message == '' ) {
Postman/Postman-Mail/PostmanModuleTransport.php CHANGED
@@ -503,6 +503,11 @@ abstract class PostmanAbstractZendModuleTransport extends PostmanAbstractModuleT
503
$deliveryDetails ['transport_name'] = $this->getTransportDescription ( $this->getSecurityType () );
504
$deliveryDetails ['host'] = $this->getHostname () . ':' . $this->getPort ();
505
$deliveryDetails ['auth_desc'] = $this->getAuthenticationDescription ( $this->getAuthenticationType () );
506
/* translators: where (1) is the transport type, (2) is the host, and (3) is the Authentication Type (e.g. Postman will send mail via smtp.gmail.com:465 using OAuth 2.0 authentication.) */
507
return sprintf ( __ ( 'Postman will send mail via %1$s to %2$s using %3$s authentication.', 'post-smtp' ), '<b>' . $deliveryDetails ['transport_name'] . '</b>', '<b>' . $deliveryDetails ['host'] . '</b>', '<b>' . $deliveryDetails ['auth_desc'] . '</b>' );
508
}
503
$deliveryDetails ['transport_name'] = $this->getTransportDescription ( $this->getSecurityType () );
504
$deliveryDetails ['host'] = $this->getHostname () . ':' . $this->getPort ();
505
$deliveryDetails ['auth_desc'] = $this->getAuthenticationDescription ( $this->getAuthenticationType () );
506
+
507
+ if ( $deliveryDetails ['host'] == 'localhost:25' ) {
508
+ $deliveryDetails ['transport_name'] = __( 'Sendmail (server defualt - not SMTP)', 'post-smtp');
509
+ }
510
+
511
/* translators: where (1) is the transport type, (2) is the host, and (3) is the Authentication Type (e.g. Postman will send mail via smtp.gmail.com:465 using OAuth 2.0 authentication.) */
512
return sprintf ( __ ( 'Postman will send mail via %1$s to %2$s using %3$s authentication.', 'post-smtp' ), '<b>' . $deliveryDetails ['transport_name'] . '</b>', '<b>' . $deliveryDetails ['host'] . '</b>', '<b>' . $deliveryDetails ['auth_desc'] . '</b>' );
513
}
Postman/Postman-Mail/PostmanSendGridMailEngine.php CHANGED
@@ -117,7 +117,7 @@ if ( ! class_exists( 'PostmanSendGridMailEngine' ) ) {
117
$bccEmails = array();
118
foreach ( ( array ) $message->getBccRecipients() as $recipient ) {
119
$recipient->log($this->logger, 'Bcc');
120
- $bccEmails[] = new \SendGrid\Mail\Cc( $recipient->getEmail(), $recipient->getName() );
121
}
122
$email->addBccs($bccEmails);
123
@@ -166,7 +166,7 @@ if ( ! class_exists( 'PostmanSendGridMailEngine' ) ) {
166
167
if ( isset( $response_body->errors[0]->message ) || ! $email_sent ) {
168
169
- $e = ! $email_sent ? $this->errorCodesMap($response_code) : $response_body->errors[0]->message;
170
$this->transcript = $e;
171
$this->transcript .= PostmanModuleTransport::RAW_MESSAGE_FOLLOWS;
172
$this->transcript .= print_r( $email, true );
117
$bccEmails = array();
118
foreach ( ( array ) $message->getBccRecipients() as $recipient ) {
119
$recipient->log($this->logger, 'Bcc');
120
+ $bccEmails[] = new \SendGrid\Mail\Bcc( $recipient->getEmail(), $recipient->getName() );
121
}
122
$email->addBccs($bccEmails);
123
166
167
if ( isset( $response_body->errors[0]->message ) || ! $email_sent ) {
168
169
+ $e = ! isset( $response_body->errors[0]->message ) ? $this->errorCodesMap($response_code) : $response_body->errors[0]->message;
170
$this->transcript = $e;
171
$this->transcript .= PostmanModuleTransport::RAW_MESSAGE_FOLLOWS;
172
$this->transcript .= print_r( $email, true );
Postman/Postman-Mail/PostmanZendMailEngine.php CHANGED
@@ -171,10 +171,12 @@ if ( ! class_exists( 'PostmanZendMailEngine' ) ) {
171
$this->logger->debug( 'Create the Zend_Mail transport' );
172
$zendTransport = $this->transport->createZendMailTransport( $this->transport->getHostname(), array() );
173
174
try {
175
// send the message
176
$this->logger->debug( 'Sending mail' );
177
- $mail->send( $zendTransport );
178
if ( $this->logger->isInfo() ) {
179
$this->logger->info( sprintf( 'Message %d accepted for delivery', PostmanState::getInstance()->getSuccessfulDeliveries() + 1 ) );
180
}
171
$this->logger->debug( 'Create the Zend_Mail transport' );
172
$zendTransport = $this->transport->createZendMailTransport( $this->transport->getHostname(), array() );
173
174
+ $transport = $this->transport instanceof PostmanDefaultModuleTransport ? null : $zendTransport;
175
+
176
try {
177
// send the message
178
$this->logger->debug( 'Sending mail' );
179
+ $mail->send( $transport );
180
if ( $this->logger->isInfo() ) {
181
$this->logger->info( sprintf( 'Message %d accepted for delivery', PostmanState::getInstance()->getSuccessfulDeliveries() + 1 ) );
182
}
Postman/Postman-Mail/Zend-1.12.10/Mail.php CHANGED
@@ -1175,10 +1175,9 @@ class Postman_Zend_Mail extends Postman_Zend_Mime_Message
1175
{
1176
if ($transport === null) {
1177
if (! self::$_defaultTransport instanceof Postman_Zend_Mail_Transport_Abstract) {
1178
- require_once 'Zend/Mail/Transport/Sendmail.php';
1179
-
1180
- $replyTo = self::getDefaultReplyTo();
1181
- $transport = new Postman_Zend_Mail_Transport_Sendmail("-f{$replyTo['email']}");
1182
} else {
1183
$transport = self::$_defaultTransport;
1184
}
1175
{
1176
if ($transport === null) {
1177
if (! self::$_defaultTransport instanceof Postman_Zend_Mail_Transport_Abstract) {
1178
+ require_once 'Mail/Transport/Sendmail.php';
1179
+
1180
+ $transport = new Postman_Zend_Mail_Transport_Sendmail("-f{$this->_from}");
1181
} else {
1182
$transport = self::$_defaultTransport;
1183
}
Postman/PostmanViewController.php CHANGED
@@ -320,7 +320,7 @@ if ( ! class_exists( 'PostmanViewController' ) ) {
320
echo '
321
<div class="updated settings-error notice is-dismissible">
322
<p>
323
- <strong>Version ' . $version . ' Mailer Type:</strong> <a target="_blank" href="https://postmansmtp.com/post-smtp-2-0-mailer-type-and-much-more/">Read Here</a>
324
</p>
325
<button style="z-index: 100;" data-version="'. $version . '" data-security="' . wp_create_nonce('postsmtp') .'" type="button" class="notice-dismiss postman-release-message">
326
<span class="screen-reader-text">Dismiss this notice.</span>
320
echo '
321
<div class="updated settings-error notice is-dismissible">
322
<p>
323
+ <strong>Version ' . $version . ' Sendgrid code fix and default delivery changes:</strong> <a target="_blank" href="https://postmansmtp.com/post-smtp-2-0-2-sendgrid-code-revert/">Read Here</a>
324
</p>
325
<button style="z-index: 100;" data-version="'. $version . '" data-security="' . wp_create_nonce('postsmtp') .'" type="button" class="notice-dismiss postman-release-message">
326
<span class="screen-reader-text">Dismiss this notice.</span>
README.md DELETED
@@ -1,244 +0,0 @@
1
-
2
- ## Version 1.9.8 released - The SMTP Fallback
3
- A fallback is a unique solution only exist on Post SMTP.
4
- You can configure a backup SMTP, so if your emails are failing your site will keep sending emails !!! [Read the detailes here](https://postmansmtp.com/post-smtp-1-9-7-the-smtp-fallback/)
5
-
6
- ## The Only SMTP plugin with chrome Notifications
7
- 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)
8
-
9
- ## WordPress Mail SMTP Plugin
10
-
11
- Post SMTP is a next-generation WP Mail SMTP plugin, that assists in the delivery of email generated by your WordPress site. Post SMTP is the first and only plugin to support the [latest security standards](http://googleonlinesecurity.blogspot.ca/2014/04/new-security-measures-will-affect-older.html). With OAuth 2.0, there is **no need** to [store your email passsword](http://blog.codinghorror.com/youre-probably-storing-passwords-incorrectly/) in the WordPress database where it might be found.
12
-
13
- The **Connectivity Test** and intelligent **Setup Wizard** scan your SMTP server to detect firewall blocks and eliminate configuration mistakes. The built-in **Email Log** is an invaluable resource for [diagnosing problems](https://wordpress.org/support/topic/ugly-e-mails-no-html-and-no-special-characters?replies=15) with emails. Even hosts that block the standard SMTP ports, like GoDaddy or Bluehost, can't stop your email as **Post SMTP can deliver via HTTPS** if it can't use SMTP.
14
-
15
- Post SMTP is *not* another WP Mail SMTP clone like WP Bank or Easy SMTP. It replaces the default WordPress SMTP library, PHPMailer, with the heavy-duty Zend_Mail. Never [lose an email to PHP mail()](http://www.jvfconsulting.com/blog/php-mail-function-vs-smtp-guaranteed-delivery/) again.
16
-
17
- ### The Most Fast And Easy
18
- See how fast and easy to setup Post SMTP with Google/Gsuite or any SMTP service.
19
-
20
- https://www.youtube.com/watch?v=z-x1DhcAN0o
21
-
22
- ### Standard Features
23
- * Easy-to-use, powerful Setup Wizard for perfect configuration
24
- * Commercial-grade Connectivity Tester to diagnose server issues
25
- * Log and resend all emails; see the exact cause of failed emails
26
- * Supports [International alphabets](https://tools.ietf.org/html/rfc6530), [HTML Mail](https://en.wikipedia.org/wiki/HTML_email) and [MultiPart/Alternative](https://en.wikipedia.org/wiki/MIME#Alternative)
27
- * Supports forced recipients (cc, bcc, to) and custom email headers
28
- * [SASL](https://en.wikipedia.org/wiki/Simple_Authentication_and_Security_Layer) Support: Plain/Login/CRAM-MD5/[XOAUTH2](https://en.wikipedia.org/wiki/OAuth#OAuth_2.0) authentication
29
- * Security Support: [SMTPS](https://en.wikipedia.org/wiki/SMTPS) and [STARTTLS](https://en.wikipedia.org/wiki/STARTTLS) ([SSL/TLS](https://en.wikipedia.org/wiki/Transport_Layer_Security))
30
- * Copy configuration to other instances of Post
31
-
32
- ## OAuth 2.0 Features
33
- * Supports the proprietary OAuth 2.0 implementations of Gmail, Hotmail and Yahoo
34
- * Fire-and-forget delivery continues even if your password changes
35
- * Gmail: By combining OAuth2 and the Gmail API, Post can deliver where other plugins can not
36
-
37
- ## API (HTTPS) Email Support
38
- * Gmail API for sending Gmail and Google Apps email (requires a [Google](https://accounts.google.com/signup) account)
39
- Often bloggers and small business owners don't want to use third-party SMTP services. Well you can use your Gmail or G Suite account for SMTP emails.
40
- <a href="https://www.cloudways.com/blog/post-smtp-mailer-fork-of-wordpress-postman-smtp-plugin/" rel="friend">Check the guide I wrote</a>
41
-
42
- * Mandrill API for sending any email (requires a [Mandrill](http://www.mandrillapp.com) account)
43
- Mandrill is an email infrastructure service offered as an add-on for MailChimp that you can use to send personalized, one-to-one e-commerce emails, or automated transactional emails.
44
-
45
- * Mailgun API for sending any email (requires a [Mailgun](http://www.mailgun.com) account)
46
- Mailgun SMTP is a popular SMTP service provider that allows you to send large quantities of emails. They allow you to send your first 10,000 emails for free every month.
47
-
48
- * SendGrid API for sending any email (requires a [SendGrid](https://sendgrid.com) account and PHP 5.3)
49
- SendGrid has a free SMTP plan that you can use to send up to 100 emails per day. With our native SendGrid SMTP integration, you can easily and securely set up SendGrid SMTP on your WordPress site.
50
-
51
- > Post SMTP needs [translators](https://translate.wordpress.org/projects/wp-plugins/post-smtp/stable)! If you are a non-English speaker, please get involved!
52
-
53
- ## Compatibile With..
54
- * [Woocommerce](https://wordpress.org/plugins/woocommerce/)
55
- * [WPForms](https://wordpress.org/plugins/wpforms-lite/)
56
- * [Elementor Forms](https://elementor.com/features/form-widget/)
57
- * [Contact Form 7](https://wordpress.org/plugins/contact-form-7/)
58
- * [Gravity Forms](http://www.gravityforms.com)
59
- * [Fast Secure Contact Form](https://wordpress.org/plugins/si-contact-form/)
60
- * [Visual Forms Builder](https://wordpress.org/plugins/visual-form-builder/)
61
- * [Contact Form Builder](https://wordpress.org/plugins/contact-form-builder/)
62
- * [PlanSo Forms](https://wordpress.org/plugins/planso-forms/)
63
- * [Quform](https://www.quform.com/)
64
- * [MyMail Newsletter](http://revaxarts-themes.com/?t=mymail) by revaxarts
65
- * [SendPress Newsletters](https://wordpress.org/plugins/sendpress/)
66
- * [WP HTML Mail](https://wordpress.org/plugins/wp-html-mail/)
67
- * [Email Templates](https://wordpress.org/plugins/email-templates/)
68
- * [WordPress Leads](https://wordpress.org/plugins/leads/)
69
- * .. and every other plugin that uses the WordPress API [wp_mail](https://codex.wordpress.org/Function_Reference/wp_mail) to send mail!
70
-
71
- ## Requirements
72
- * WordPress 3.9 and PHP 5.6 with SPL and iconv
73
- * Memory: 750KiB per process at idle
74
- * Reliable mail delivery with custom email domains requires an SPF record
75
- * Reliable SMTP delivery requires credentials with an email service provider
76
- * OAuth 2.0 features require a Gmail, Hotmail or Yahoo mail OAuth 2.0 credentials
77
-
78
- ## CREDITS
79
-
80
- Post SMTP (aka Postman SMTP) plugin was originally created by Jason Hendriks.
81
-
82
- ## Installation
83
-
84
- > To send email reliably, you must use the SMTP server assigned to that email. If Post is unable to connect to the right SMTP server, you may have to ask your host to open the ports, or create a new email account managed by your host, or switch hosts!
85
- >
86
- > The Connectivity Test utility will tell you which ports are open and the actions available to you.
87
-
88
- = Easy install and setup! (Recommended for all users) =
89
- 1. Install and activate the plugin through the 'Plugins' menu in WordPress.
90
- 1. In the WordPress 'Settings' menu select 'Post SMTP'.
91
- 1. Choose 'Start the Wizard' and follow the instructions.
92
-
93
- ## To manually configure Password Authentication (Intermediate users only)
94
-
95
- 1. Choose configure manually
96
- 1. In 'Transport', choose 'SMTP'
97
- 1. In 'Outgoing Mail Server Hostname', enter the SMTP Server's hostname
98
- 1. In 'Outgoing Mail Server Port', enter the SMTP Server's port
99
- 1. In 'Security' choose the appropriate type (a good guess is SMTPS for port 465, STARTTLS otherwise)
100
- 1. In 'Authentication', choose the authentication type (a good guess is 'Plain')
101
- 1. If your Authentication method is not 'None', enter your username (probably your email address) and password.
102
- 1. Choose the 'Message' tab.
103
- 1. In 'Envelope From Address' enter your email address. This MUST be the same address you login to webmail with.
104
- 1. In 'Message From Address' enter your email address. Or this can be an alias, mailing list, or group email if you wish.
105
- 1. Choose the Save Changes button.
106
- 1. Send yourself a test email.
107
-
108
- ## To manually configure OAuth 2.0 Authentication (Advanced users only)
109
-
110
- 1. Choose configure manually
111
- 1. In 'Transport', choose 'SMTP'
112
- 1. In 'Outgoing Mail Server Hostname', enter the SMTP Server's hostname
113
- 1. In 'Outgoing Mail Server Port', enter the SMTP Server's port
114
- 1. In 'Security' choose the appropriate type (a good guess is SMTPS for port 465, StartTLS otherwise)
115
- 1. In 'Authentication' choose 'OAuth 2.0'
116
- 1. Post will give you a link to the Client ID maintenance page of your email service provider. Create a Client ID for your WordPress site.. [instructions for this are detailed in the FAQ](https://wordpress.org/plugins/post-smtp/faq/)
117
- 1. Copy your generated Client ID and Client secret into the plugin's Settings page.
118
- 1. Choose the 'Message' tab.
119
- 1. In 'Envelope From Address' enter your email address. This MUST be the same address you login to webmail with.
120
- 1. In 'Message From Address' enter your email address. Or this can be an alias, mailing list, or group email if you wish.
121
- 1. Choose the Save Changes button.
122
- 1. Choose the 'Request OAuth2 Permission' link and follow the instructions.
123
- 1. Send yourself a test email.
124
-
125
- > Post is developed on OS X with PHP 5.5.14 and Apache 2.4.9. Post is tested in a [Red Hat OpenShift](http://www.openshift.com/) environment with PHP 5.3.3 and Apache 2.2.15 with Gmail, Hotmail and Yahoo Mail (US). Post is tested with [mailtrap.io](http://mailtrap.io).
126
-
127
-
128
-
129
- ## Frequently Asked Questions
130
-
131
- ### What is OAuth 2.0?
132
-
133
- A modern replacement for traditional password-based authentication. Post supports the OAuth 2.0 implementations of all three major e-mail providers: Gmail, Hotmail and Yahoo Mail.
134
-
135
- ### How does OAuth 2.0 work?
136
-
137
- Post requests a limited access OAuth 2.0 token (valet key) to access the APIs (enter the house) and perform a specific service (handle Gmail, stay out of Google Docs) with no need for you to surrender your username and password credentials (master house key).
138
-
139
- Once access is granted, Post commandeers the WordPress wp_mail() function to provide an incredibly stable mail sub-system.
140
-
141
- ### Can't I just tell Google to allow less secure apps and keep using my old password?
142
-
143
- Google does have a setting to [allow less secure apps](https://support.google.com/accounts/answer/6010255) but this option is [not available](http://plugins.svn.wordpress.org/Post-smtp/assets/Screen%20Shot%202015-02-21%20at%208.52.13%20PM.png) if you're using *Google Apps* to manage a domain.
144
-
145
- There are many reasons why OAuth 2.0 is better than any password-based mechanism:
146
-
147
- * Post will never ask for your password, so your password can't be stolen
148
- * If you change your password regularly, you will never have to update Post's configuration
149
- * You have tighter control over the data Post has access to. For Google users it can never access your Calendar or Docs or YouTube; for Yahoo users it can never access your Flickr
150
- * If your WordPress site gets hacked, you can revoke Post's email access without impacting any other application or website that has access to your account
151
-
152
- > **[NEVER give out your Gmail, Microsoft or Yahoo password](http://blog.varonis.com/giving-away-your-passwords/)** to a 3rd-party or 3rd-party program that you don't fully trust.
153
-
154
- ### What is a Client ID?
155
- 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.
156
-
157
- ### How do I get a Google Client ID? (For Gmail users only!)
158
- Go to [Configure Post SMTP with Gmail\Gsuite OAuth](https://postmansmtp.com/how-to-configure-post-smtp-with-gmailgsuite-using-oauth/)
159
-
160
- ### How do I get a Microsoft Client ID? (For Hotmail/Live/Outlook.com users only!)
161
- 1. Go to [Microsoft account Developer Center](https://account.live.com/developers/applications/index) and select 'Create application'.
162
- 1. In the 'Application name' field enter 'Post SMTP'. Select 'I accept.'
163
- 1. Select 'API Settings' from under 'Settings'.
164
- 1. In 'Redirect URL', enter the redirect URI given by Post (either from the wizard, or from the manual configuration page). Select Save.
165
- 1. Select 'App Settings' from under 'Settings'.
166
- 1. Enter the Client ID and Client Secret displayed here into Post's settings page.
167
-
168
- ### How do I get a Yahoo Client ID? (For Yahoo Mail users only!) =
169
- 1. Go to [Yahoo Developer Network](https://developer.yahoo.com/apps/) and select 'Create an App'.
170
- 1. In the 'Application Name' field enter 'Post SMTP'. For 'Application Type' choose 'Web Application'.
171
- 1. In 'Home Page URL', enter the 'Home Page URL' given by Post.
172
- 1. In 'Callback Domain', enter the 'Callback Domain' given by Post.
173
- 1. Under 'API Permissions' choose 'Mail'. Under 'Mail' choose 'Read/Write'
174
- 1. Click 'Create App'
175
- 1. Enter the Client ID and Client Secret displayed here into Post's settings page.
176
-
177
- ### How can I revoke Post's OAuth 2.0 access?
178
- * If you have a Google Account, from the [Google Developer's Console](https://www.google.com/accounts/Logout?continue=https://console.developers.google.com) use the Delete button under the Client ID.
179
- * If you have a Microsoft Live account, from the [Microsoft account Developer Center](https://account.live.com/developers/applications/index), select the Application and choose Delete Application.
180
- * If you have a Yahoo Account, from the [Yahoo Developer Network My Apps](https://developer.yahoo.com/apps/), select the Application and choose Delete App.
181
-
182
-
183
-
184
- ## Grant OAuth permission error messages
185
-
186
- Please note that the Client ID and Client Secret fields are NOT for your username and password. They are for OAuth Credentials only.
187
-
188
- ### Error authenticating with this Client ID. [Error executing wp_remote_post: The user has blocked requests via HTTP.]
189
-
190
- Your WordPress site is configured with WP_HTTP_BLOCK_EXTERNAL to prevent outbound connections. Add a whitelist rule to wp-config.php:
191
- > define('WP_ACCESSIBLE_HOSTS', 'www.googleapis.com, login.live.com, api.login.yahoo.com');
192
-
193
- ### Error authenticating with this Client ID. [Error executing wp_remote_post: Failed to connect to xxxx] =
194
-
195
- There is a firewall on port 443 between you and the OAuth2 server. Open up the port for outbound connections.
196
-
197
- ### Error: redirect_uri_mismatch
198
-
199
- * You did not enter the Redirect URI correctly, watch the [instructional video](https://vimeo.com/128589255)
200
- * You used an IP address instead of a domain name (not allowed)
201
-
202
- ### Error: invalid_client ... no support email
203
-
204
- You've [forgotten to choose an email address in the consent screen](https://wordpress.org/support/topic/status-Post-is-not-sending-mail-1?replies=7).
205
-
206
-
207
- ## SMTP Error Messages
208
-
209
- ### Communication Error [334] – make sure the Envelope From Email is the same account used to create the Client ID.
210
-
211
- * This is almost always caused by being logged in to Google/Microsoft/Yahoo with a different user than the one Post is configured to send mail with. Logout and try again with the correct user
212
- * Login to [Webmail](http://www.gmail.com) and see if there is an "Unusual Activity" warning waiting for your attention
213
-
214
- ### Could not open socket
215
-
216
- * Your host may have installed a firewall between you and the server. Ask them to open the ports.
217
- * Your may have tried to (incorrectly) use SSL over port 587. Check your encryption and port settings.
218
-
219
- ### Operation Timed out
220
-
221
- * Your host may have poor connectivity to the mail server. Try doubling the Read Timeout.
222
- * Your host may have installed a firewall (DROP packets) between you and the server. Ask them to open the ports.
223
- * Your may have tried to (incorrectly) use TLS over port 465. Check your encryption and port settings.
224
-
225
- ### Connection refused
226
-
227
- Your host has likely installed a firewall (REJECT packets) between you and the server. Ask them to open the ports.
228
-
229
- ### 503 Bad sequence of commands
230
-
231
- You configured TLS security when you should have selected no security.
232
-
233
- ### XOAUTH2 authentication mechanism not supported
234
-
235
- You may be on a Virtual Private Server that is [playing havoc with your communications](https://wordpress.org/support/topic/oh-bother-xoauth2-authentication-mechanism-not-supported?replies=9). Jump ship.
236
-
237
-
238
- ### Mail ends up in the Spam folder =
239
-
240
- To avoid being flagged as spam, you need to prove your email isn't forged. On a custom domain, its up to YOU to set that up:
241
-
242
- * Ensure you are using the correct SMTP server with authentication - the correct SMTP server is the one defined by your email service's SPF record
243
- * If you use a custom domain name for email, add an [SPF record](http://www.openspf.org/Introduction) to your DNS zone file. The SPF is specific to your email provider, for example [Google](https://support.google.com/a/answer/33786)
244
- * If you use a custom domain name for email, add a DKIM record to your DNS zone file and upload your Domain Key (a digital signature) to, for example [Google]((https://support.google.com/a/answer/174124?hl=en))
postman-smtp.php CHANGED
@@ -3,7 +3,7 @@
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.1
7
* Author: Yehuda Hassine
8
* Text Domain: post-smtp
9
* Author URI: https://postmansmtp.com
@@ -41,7 +41,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.1' );
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', '<' );
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.2
7
* Author: Yehuda Hassine
8
* Text Domain: post-smtp
9
* Author URI: https://postmansmtp.com
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.2' );
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', '<' );
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=yehuda@m
4
Tags: postman smtp, postman, smtp, email, mail, mailer, email log, oauth2, gmail, google apps, hotmail, yahoo, mandrill api, sendgrid api, elastic email, office365, mailgun
5
Requires at least: 3.9
6
Tested up to: 5.2
7
- Stable tag: 2.0.1
8
License: GPLv2 or later
9
License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
@@ -12,10 +12,10 @@ Send, log and troubleshoot your Outgoing Email easily. Supports everything: SMTP
12
13
== Description ==
14
15
- = Version 2.0 released - Mailer Type =
16
- [Read the detailes here](https://postmansmtp.com/post-smtp-2-0-mailer-type-and-much-more/)
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)
20
21
= WordPress Mail SMTP Plugin =
@@ -97,7 +97,7 @@ Post SMTP (aka Postman SMTP) plugin was originally created by Jason Hendriks.
97
== Installation ==
98
99
> To send email reliably, you must use the SMTP server assigned to that email. If Post is unable to connect to the right SMTP server, you may have to ask your host to open the ports, or create a new email account managed by your host, or switch hosts!
100
- >
101
> The Connectivity Test utility will tell you which ports are open and the actions available to you.
102
103
= Easy install and setup! (Recommended for all users) =
@@ -118,7 +118,7 @@ Post SMTP (aka Postman SMTP) plugin was originally created by Jason Hendriks.
118
1. In 'Envelope From Address' enter your email address. This MUST be the same address you login to webmail with.
119
1. In 'Message From Address' enter your email address. Or this can be an alias, mailing list, or group email if you wish.
120
1. Choose the Save Changes button.
121
- 1. Send yourself a test email.
122
123
= To manually configure OAuth 2.0 Authentication (Advanced users only) =
124
@@ -135,13 +135,13 @@ Post SMTP (aka Postman SMTP) plugin was originally created by Jason Hendriks.
135
1. In 'Message From Address' enter your email address. Or this can be an alias, mailing list, or group email if you wish.
136
1. Choose the Save Changes button.
137
1. Choose the 'Request OAuth2 Permission' link and follow the instructions.
138
- 1. Send yourself a test email.
139
140
> Post is developed on OS X with PHP 5.5.14 and Apache 2.4.9. Post is tested in a [Red Hat OpenShift](http://www.openshift.com/) environment with PHP 5.3.3 and Apache 2.2.15 with Gmail, Hotmail and Yahoo Mail (US). Post is tested with [mailtrap.io](http://mailtrap.io).
141
142
143
144
- == Frequently Asked Questions ==
145
146
= Where is Postman SMTP? =
147
From 2015-11-08 more or less I can say that Jason the original author stoped maintain the plugin.
@@ -200,7 +200,7 @@ Go to [Configure Post SMTP with Gmail\Gsuite OAuth](https://postmansmtp.com/how-
200
= How can I revoke Post's OAuth 2.0 access? =
201
* If you have a Google Account, from the [Google Developer's Console](https://www.google.com/accounts/Logout?continue=https://console.developers.google.com) use the Delete button under the Client ID.
202
* If you have a Microsoft Live account, from the [Microsoft account Developer Center](https://account.live.com/developers/applications/index), select the Application and choose Delete Application.
203
- * If you have a Yahoo Account, from the [Yahoo Developer Network My Apps](https://developer.yahoo.com/apps/), select the Application and choose Delete App.
204
205
206
@@ -274,7 +274,7 @@ To avoid being flagged as spam, you need to prove your email isn't forged. On a
274
1. WordPress Dashboard showing both the Post widget and At a Glance widget
275
1. Main Settings screen - shows Main Menu and current status (new installation)
276
1. Setup Wizard (step 1) - Import data from other plugins
277
- 1. Setup Wizard (step 4) - Connectivity Test
278
1. Manual Configuration - Account Settings: Password Authentication
279
1. Manual Configuration - Account Settings: OAuth 2.0 Authentication
280
1. Manual Configuration - Message Settings
@@ -289,6 +289,10 @@ To avoid being flagged as spam, you need to prove your email isn't forged. On a
289
290
== Changelog ==
291
292
= 2.0.1 - 2019-05-15
293
* New: Mailer Type - Added an option to send without overwrite the 'wp_mail' function, better compability to WordPress delivery. hopefully will be the default in the future.
294
* Updated: Sendgrid API was upgraded and rewritten to the new version.
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.2
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.2 released - Sendgrid code fix and default delivery changes =
16
+ [Read the detailes here](https://postmansmtp.com/post-smtp-2-0-2-sendgrid-code-fix/)
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)
20
21
= WordPress Mail SMTP Plugin =
97
== Installation ==
98
99
> To send email reliably, you must use the SMTP server assigned to that email. If Post is unable to connect to the right SMTP server, you may have to ask your host to open the ports, or create a new email account managed by your host, or switch hosts!
100
+ >
101
> The Connectivity Test utility will tell you which ports are open and the actions available to you.
102
103
= Easy install and setup! (Recommended for all users) =
118
1. In 'Envelope From Address' enter your email address. This MUST be the same address you login to webmail with.
119
1. In 'Message From Address' enter your email address. Or this can be an alias, mailing list, or group email if you wish.
120
1. Choose the Save Changes button.
121
+ 1. Send yourself a test email.
122
123
= To manually configure OAuth 2.0 Authentication (Advanced users only) =
124
135
1. In 'Message From Address' enter your email address. Or this can be an alias, mailing list, or group email if you wish.
136
1. Choose the Save Changes button.
137
1. Choose the 'Request OAuth2 Permission' link and follow the instructions.
138
+ 1. Send yourself a test email.
139
140
> Post is developed on OS X with PHP 5.5.14 and Apache 2.4.9. Post is tested in a [Red Hat OpenShift](http://www.openshift.com/) environment with PHP 5.3.3 and Apache 2.2.15 with Gmail, Hotmail and Yahoo Mail (US). Post is tested with [mailtrap.io](http://mailtrap.io).
141
142
143
144
+ == Frequently Asked Questions ==
145
146
= Where is Postman SMTP? =
147
From 2015-11-08 more or less I can say that Jason the original author stoped maintain the plugin.
200
= How can I revoke Post's OAuth 2.0 access? =
201
* If you have a Google Account, from the [Google Developer's Console](https://www.google.com/accounts/Logout?continue=https://console.developers.google.com) use the Delete button under the Client ID.
202
* If you have a Microsoft Live account, from the [Microsoft account Developer Center](https://account.live.com/developers/applications/index), select the Application and choose Delete Application.
203
+ * If you have a Yahoo Account, from the [Yahoo Developer Network My Apps](https://developer.yahoo.com/apps/), select the Application and choose Delete App.
204
205
206
274
1. WordPress Dashboard showing both the Post widget and At a Glance widget
275
1. Main Settings screen - shows Main Menu and current status (new installation)
276
1. Setup Wizard (step 1) - Import data from other plugins
277
+ 1. Setup Wizard (step 4) - Connectivity Test
278
1. Manual Configuration - Account Settings: Password Authentication
279
1. Manual Configuration - Account Settings: OAuth 2.0 Authentication
280
1. Manual Configuration - Message Settings
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.
295
+
296
= 2.0.1 - 2019-05-15
297
* New: Mailer Type - Added an option to send without overwrite the 'wp_mail' function, better compability to WordPress delivery. hopefully will be the default in the future.
298
* Updated: Sendgrid API was upgraded and rewritten to the new version.