WP Mail SMTP by WPForms - Version 1.4.1

Version Description

  • 2018-12-03 =
  • Fixed: correctly process backslashes in SMTP passwords defined via constants.
  • Changed: allow to send a Test Email when Default (none) mailer is selected in plugin settings.
Download this release

Release Info

Developer slaFFik
Plugin Icon 128x128 WP Mail SMTP by WPForms
Version 1.4.1
Comparing to
See all releases

Code changes from version 1.4.0 to 1.4.1

languages/wp-mail-smtp.pot CHANGED
@@ -40,7 +40,7 @@ msgstr ""
40
  msgid "WP Mail SMTP Options"
41
  msgstr ""
42
 
43
- #: src/Admin/Area.php:173, wp_mail_smtp.php:666
44
  msgid "WP Mail SMTP"
45
  msgstr ""
46
 
@@ -53,7 +53,7 @@ msgstr ""
53
  msgid "WPForms related message was successfully dismissed"
54
  msgstr ""
55
 
56
- #: src/Admin/Area.php:457, src/Admin/Pages/Settings.php:26, wp_mail_smtp.php:772
57
  msgid "Settings"
58
  msgstr ""
59
 
@@ -85,11 +85,11 @@ msgstr ""
85
  msgid "Test emails are allowed to be sent, regardless of this option."
86
  msgstr ""
87
 
88
- #: src/Admin/Pages/Misc.php:90, wp_mail_smtp.php:409, wp_mail_smtp.php:414
89
  msgid "Hide Announcements"
90
  msgstr ""
91
 
92
- #: src/Admin/Pages/Misc.php:99, wp_mail_smtp.php:419
93
  msgid "Check this if you would like to hide plugin announcements and update details."
94
  msgstr ""
95
 
@@ -113,7 +113,7 @@ msgstr ""
113
  msgid "Mail"
114
  msgstr ""
115
 
116
- #: src/Admin/Pages/Settings.php:59, wp_mail_smtp.php:310
117
  msgid "From Email"
118
  msgstr ""
119
 
@@ -141,7 +141,7 @@ msgstr ""
141
  msgid "If checked, the From Email setting above will be used for all emails, ignoring values set by other plugins."
142
  msgstr ""
143
 
144
- #: src/Admin/Pages/Settings.php:109, wp_mail_smtp.php:329
145
  msgid "From Name"
146
  msgstr ""
147
 
@@ -161,15 +161,15 @@ msgstr ""
161
  msgid "If checked, the From Name setting above will be used for all emails, ignoring values set by other plugins."
162
  msgstr ""
163
 
164
- #: src/Admin/Pages/Settings.php:154, wp_mail_smtp.php:344, wp_mail_smtp.php:349
165
  msgid "Mailer"
166
  msgstr ""
167
 
168
- #: src/Admin/Pages/Settings.php:189, wp_mail_smtp.php:385, wp_mail_smtp.php:390
169
  msgid "Return Path"
170
  msgstr ""
171
 
172
- #: src/Admin/Pages/Settings.php:198, wp_mail_smtp.php:395
173
  msgid "Set the return-path to match the From Email"
174
  msgstr ""
175
 
@@ -177,7 +177,7 @@ msgstr ""
177
  msgid "Gmail doesn't allow to override Return Path. Emails will be bounced to the same email addresee they were sent from."
178
  msgstr ""
179
 
180
- #: src/Admin/Pages/Settings.php:207, wp_mail_smtp.php:399
181
  msgid "Return Path indicates where non-delivery receipts - or bounce messages - are to be sent."
182
  msgstr ""
183
 
@@ -248,7 +248,7 @@ msgstr ""
248
  msgid "Email Test"
249
  msgstr ""
250
 
251
- #: src/Admin/Pages/Test.php:58, wp_mail_smtp.php:612
252
  msgid "Send a Test Email"
253
  msgstr ""
254
 
@@ -882,11 +882,11 @@ msgstr ""
882
  msgid "You currently have the native WordPress option selected. Please select any other Mailer option above to continue the setup."
883
  msgstr ""
884
 
885
- #: src/Providers/OptionsAbstract.php:126, wp_mail_smtp.php:439
886
  msgid "SMTP Host"
887
  msgstr ""
888
 
889
- #: src/Providers/OptionsAbstract.php:140, wp_mail_smtp.php:454, wp_mail_smtp.php:458, wp_mail_smtp.php:573, wp_mail_smtp.php:579
890
  msgid "Encryption"
891
  msgstr ""
892
 
@@ -906,7 +906,7 @@ msgstr ""
906
  msgid "For most servers TLS is the recommended option. If your SMTP provider offers both SSL and TLS options, we recommend using TLS."
907
  msgstr ""
908
 
909
- #: src/Providers/OptionsAbstract.php:180, wp_mail_smtp.php:447, wp_mail_smtp.php:565
910
  msgid "SMTP Port"
911
  msgstr ""
912
 
@@ -918,7 +918,7 @@ msgstr ""
918
  msgid "By default TLS encryption is automatically used if the server supports it, which is recommended. In some cases, due to server misconfigurations, this can cause issues and may need to be disabled."
919
  msgstr ""
920
 
921
- #: src/Providers/OptionsAbstract.php:216, wp_mail_smtp.php:481, wp_mail_smtp.php:485
922
  msgid "Authentication"
923
  msgstr ""
924
 
@@ -984,132 +984,132 @@ msgid "Use the SMTP details provided by your hosting provider or email service.<
984
  msgstr ""
985
 
986
  #. translators: %s - email address where test mail will be sent to.
987
- #: wp_mail_smtp.php:265
988
  msgid "Test mail to %s"
989
  msgstr ""
990
 
991
- #: wp_mail_smtp.php:266
992
  msgid "This is a test email generated by the WP Mail SMTP WordPress plugin."
993
  msgstr ""
994
 
995
- #: wp_mail_smtp.php:282
996
  msgid "Test Message Sent"
997
  msgstr ""
998
 
999
- #: wp_mail_smtp.php:283
1000
  msgid "The result was:"
1001
  msgstr ""
1002
 
1003
- #: wp_mail_smtp.php:286
1004
  msgid "The full debugging output is shown below:"
1005
  msgstr ""
1006
 
1007
- #: wp_mail_smtp.php:289
1008
  msgid "The SMTP debugging output is shown below:"
1009
  msgstr ""
1010
 
1011
- #: wp_mail_smtp.php:256, wp_mail_smtp.php:630
1012
  msgid "Send Test"
1013
  msgstr ""
1014
 
1015
- #: wp_mail_smtp.php:301, wp_mail_smtp.php:666
1016
  msgid "WP Mail SMTP Settings"
1017
  msgstr ""
1018
 
1019
- #: wp_mail_smtp.php:317
1020
  msgid "You can specify the email address that emails should be sent from. If you leave this blank, the default email will be used."
1021
  msgstr ""
1022
 
1023
- #: wp_mail_smtp.php:320
1024
  msgid "<strong>Please Note:</strong> You appear to be using a version of WordPress prior to 2.3. Please ignore the From Name field and instead enter Name&lt;email@domain.com&gt; in this field."
1025
  msgstr ""
1026
 
1027
- #: wp_mail_smtp.php:335
1028
  msgid "You can specify the name that emails should be sent from. If you leave this blank, the emails will be sent from WordPress."
1029
  msgstr ""
1030
 
1031
- #: wp_mail_smtp.php:354
1032
  msgid "Send all WordPress emails via SMTP."
1033
  msgstr ""
1034
 
1035
- #: wp_mail_smtp.php:358
1036
  msgid "Use the PHP mail() function to send emails."
1037
  msgstr ""
1038
 
1039
- #: wp_mail_smtp.php:364
1040
  msgid "Use Pepipost SMTP to send emails."
1041
  msgstr ""
1042
 
1043
  #. translators: %1$s - link start; %2$s - link end.
1044
- #: wp_mail_smtp.php:370
1045
  msgid "Looking for high inbox delivery? Try Pepipost with easy setup and free emails. Learn more %1$shere%2$s."
1046
  msgstr ""
1047
 
1048
- #: wp_mail_smtp.php:427, wp_mail_smtp.php:527, wp_mail_smtp.php:603
1049
  msgid "Save Changes"
1050
  msgstr ""
1051
 
1052
- #: wp_mail_smtp.php:432
1053
  msgid "SMTP Options"
1054
  msgstr ""
1055
 
1056
- #: wp_mail_smtp.php:434
1057
  msgid "These options only apply if you have chosen to send mail by SMTP above."
1058
  msgstr ""
1059
 
1060
- #: wp_mail_smtp.php:463, wp_mail_smtp.php:585
1061
  msgid "No encryption."
1062
  msgstr ""
1063
 
1064
- #: wp_mail_smtp.php:468, wp_mail_smtp.php:590
1065
  msgid "Use SSL encryption."
1066
  msgstr ""
1067
 
1068
- #: wp_mail_smtp.php:473, wp_mail_smtp.php:595
1069
  msgid "Use TLS encryption."
1070
  msgstr ""
1071
 
1072
- #: wp_mail_smtp.php:476
1073
  msgid "TLS is not the same as STARTTLS. For most servers SSL is the recommended option."
1074
  msgstr ""
1075
 
1076
- #: wp_mail_smtp.php:490
1077
  msgid "No: Do not use SMTP authentication."
1078
  msgstr ""
1079
 
1080
- #: wp_mail_smtp.php:495
1081
  msgid "Yes: Use SMTP authentication."
1082
  msgstr ""
1083
 
1084
- #: wp_mail_smtp.php:499
1085
  msgid "If this is set to no, the values below are ignored."
1086
  msgstr ""
1087
 
1088
- #: wp_mail_smtp.php:506, wp_mail_smtp.php:549
1089
  msgid "Username"
1090
  msgstr ""
1091
 
1092
- #: wp_mail_smtp.php:514, wp_mail_smtp.php:557
1093
  msgid "Password"
1094
  msgstr ""
1095
 
1096
- #: wp_mail_smtp.php:520
1097
  msgid "This is in plain text because it must not be stored encrypted."
1098
  msgstr ""
1099
 
1100
- #: wp_mail_smtp.php:534
1101
  msgid "Pepipost SMTP Options"
1102
  msgstr ""
1103
 
1104
  #. translators: %s - Pepipost registration URL.
1105
- #: wp_mail_smtp.php:540
1106
  msgid "You need to signup on %s to get the SMTP username/password."
1107
  msgstr ""
1108
 
1109
- #: wp_mail_smtp.php:620
1110
  msgid "To"
1111
  msgstr ""
1112
 
1113
- #: wp_mail_smtp.php:624
1114
  msgid "Type an email address here and then click Send Test to generate a test email."
1115
  msgstr ""
40
  msgid "WP Mail SMTP Options"
41
  msgstr ""
42
 
43
+ #: src/Admin/Area.php:173, wp_mail_smtp.php:667
44
  msgid "WP Mail SMTP"
45
  msgstr ""
46
 
53
  msgid "WPForms related message was successfully dismissed"
54
  msgstr ""
55
 
56
+ #: src/Admin/Area.php:457, src/Admin/Pages/Settings.php:26, wp_mail_smtp.php:773
57
  msgid "Settings"
58
  msgstr ""
59
 
85
  msgid "Test emails are allowed to be sent, regardless of this option."
86
  msgstr ""
87
 
88
+ #: src/Admin/Pages/Misc.php:90, wp_mail_smtp.php:410, wp_mail_smtp.php:415
89
  msgid "Hide Announcements"
90
  msgstr ""
91
 
92
+ #: src/Admin/Pages/Misc.php:99, wp_mail_smtp.php:420
93
  msgid "Check this if you would like to hide plugin announcements and update details."
94
  msgstr ""
95
 
113
  msgid "Mail"
114
  msgstr ""
115
 
116
+ #: src/Admin/Pages/Settings.php:59, wp_mail_smtp.php:311
117
  msgid "From Email"
118
  msgstr ""
119
 
141
  msgid "If checked, the From Email setting above will be used for all emails, ignoring values set by other plugins."
142
  msgstr ""
143
 
144
+ #: src/Admin/Pages/Settings.php:109, wp_mail_smtp.php:330
145
  msgid "From Name"
146
  msgstr ""
147
 
161
  msgid "If checked, the From Name setting above will be used for all emails, ignoring values set by other plugins."
162
  msgstr ""
163
 
164
+ #: src/Admin/Pages/Settings.php:154, wp_mail_smtp.php:345, wp_mail_smtp.php:350
165
  msgid "Mailer"
166
  msgstr ""
167
 
168
+ #: src/Admin/Pages/Settings.php:189, wp_mail_smtp.php:386, wp_mail_smtp.php:391
169
  msgid "Return Path"
170
  msgstr ""
171
 
172
+ #: src/Admin/Pages/Settings.php:198, wp_mail_smtp.php:396
173
  msgid "Set the return-path to match the From Email"
174
  msgstr ""
175
 
177
  msgid "Gmail doesn't allow to override Return Path. Emails will be bounced to the same email addresee they were sent from."
178
  msgstr ""
179
 
180
+ #: src/Admin/Pages/Settings.php:207, wp_mail_smtp.php:400
181
  msgid "Return Path indicates where non-delivery receipts - or bounce messages - are to be sent."
182
  msgstr ""
183
 
248
  msgid "Email Test"
249
  msgstr ""
250
 
251
+ #: src/Admin/Pages/Test.php:58, wp_mail_smtp.php:613
252
  msgid "Send a Test Email"
253
  msgstr ""
254
 
882
  msgid "You currently have the native WordPress option selected. Please select any other Mailer option above to continue the setup."
883
  msgstr ""
884
 
885
+ #: src/Providers/OptionsAbstract.php:126, wp_mail_smtp.php:440
886
  msgid "SMTP Host"
887
  msgstr ""
888
 
889
+ #: src/Providers/OptionsAbstract.php:140, wp_mail_smtp.php:455, wp_mail_smtp.php:459, wp_mail_smtp.php:574, wp_mail_smtp.php:580
890
  msgid "Encryption"
891
  msgstr ""
892
 
906
  msgid "For most servers TLS is the recommended option. If your SMTP provider offers both SSL and TLS options, we recommend using TLS."
907
  msgstr ""
908
 
909
+ #: src/Providers/OptionsAbstract.php:180, wp_mail_smtp.php:448, wp_mail_smtp.php:566
910
  msgid "SMTP Port"
911
  msgstr ""
912
 
918
  msgid "By default TLS encryption is automatically used if the server supports it, which is recommended. In some cases, due to server misconfigurations, this can cause issues and may need to be disabled."
919
  msgstr ""
920
 
921
+ #: src/Providers/OptionsAbstract.php:216, wp_mail_smtp.php:482, wp_mail_smtp.php:486
922
  msgid "Authentication"
923
  msgstr ""
924
 
984
  msgstr ""
985
 
986
  #. translators: %s - email address where test mail will be sent to.
987
+ #: wp_mail_smtp.php:266
988
  msgid "Test mail to %s"
989
  msgstr ""
990
 
991
+ #: wp_mail_smtp.php:267
992
  msgid "This is a test email generated by the WP Mail SMTP WordPress plugin."
993
  msgstr ""
994
 
995
+ #: wp_mail_smtp.php:283
996
  msgid "Test Message Sent"
997
  msgstr ""
998
 
999
+ #: wp_mail_smtp.php:284
1000
  msgid "The result was:"
1001
  msgstr ""
1002
 
1003
+ #: wp_mail_smtp.php:287
1004
  msgid "The full debugging output is shown below:"
1005
  msgstr ""
1006
 
1007
+ #: wp_mail_smtp.php:290
1008
  msgid "The SMTP debugging output is shown below:"
1009
  msgstr ""
1010
 
1011
+ #: wp_mail_smtp.php:257, wp_mail_smtp.php:631
1012
  msgid "Send Test"
1013
  msgstr ""
1014
 
1015
+ #: wp_mail_smtp.php:302, wp_mail_smtp.php:667
1016
  msgid "WP Mail SMTP Settings"
1017
  msgstr ""
1018
 
1019
+ #: wp_mail_smtp.php:318
1020
  msgid "You can specify the email address that emails should be sent from. If you leave this blank, the default email will be used."
1021
  msgstr ""
1022
 
1023
+ #: wp_mail_smtp.php:321
1024
  msgid "<strong>Please Note:</strong> You appear to be using a version of WordPress prior to 2.3. Please ignore the From Name field and instead enter Name&lt;email@domain.com&gt; in this field."
1025
  msgstr ""
1026
 
1027
+ #: wp_mail_smtp.php:336
1028
  msgid "You can specify the name that emails should be sent from. If you leave this blank, the emails will be sent from WordPress."
1029
  msgstr ""
1030
 
1031
+ #: wp_mail_smtp.php:355
1032
  msgid "Send all WordPress emails via SMTP."
1033
  msgstr ""
1034
 
1035
+ #: wp_mail_smtp.php:359
1036
  msgid "Use the PHP mail() function to send emails."
1037
  msgstr ""
1038
 
1039
+ #: wp_mail_smtp.php:365
1040
  msgid "Use Pepipost SMTP to send emails."
1041
  msgstr ""
1042
 
1043
  #. translators: %1$s - link start; %2$s - link end.
1044
+ #: wp_mail_smtp.php:371
1045
  msgid "Looking for high inbox delivery? Try Pepipost with easy setup and free emails. Learn more %1$shere%2$s."
1046
  msgstr ""
1047
 
1048
+ #: wp_mail_smtp.php:428, wp_mail_smtp.php:528, wp_mail_smtp.php:604
1049
  msgid "Save Changes"
1050
  msgstr ""
1051
 
1052
+ #: wp_mail_smtp.php:433
1053
  msgid "SMTP Options"
1054
  msgstr ""
1055
 
1056
+ #: wp_mail_smtp.php:435
1057
  msgid "These options only apply if you have chosen to send mail by SMTP above."
1058
  msgstr ""
1059
 
1060
+ #: wp_mail_smtp.php:464, wp_mail_smtp.php:586
1061
  msgid "No encryption."
1062
  msgstr ""
1063
 
1064
+ #: wp_mail_smtp.php:469, wp_mail_smtp.php:591
1065
  msgid "Use SSL encryption."
1066
  msgstr ""
1067
 
1068
+ #: wp_mail_smtp.php:474, wp_mail_smtp.php:596
1069
  msgid "Use TLS encryption."
1070
  msgstr ""
1071
 
1072
+ #: wp_mail_smtp.php:477
1073
  msgid "TLS is not the same as STARTTLS. For most servers SSL is the recommended option."
1074
  msgstr ""
1075
 
1076
+ #: wp_mail_smtp.php:491
1077
  msgid "No: Do not use SMTP authentication."
1078
  msgstr ""
1079
 
1080
+ #: wp_mail_smtp.php:496
1081
  msgid "Yes: Use SMTP authentication."
1082
  msgstr ""
1083
 
1084
+ #: wp_mail_smtp.php:500
1085
  msgid "If this is set to no, the values below are ignored."
1086
  msgstr ""
1087
 
1088
+ #: wp_mail_smtp.php:507, wp_mail_smtp.php:550
1089
  msgid "Username"
1090
  msgstr ""
1091
 
1092
+ #: wp_mail_smtp.php:515, wp_mail_smtp.php:558
1093
  msgid "Password"
1094
  msgstr ""
1095
 
1096
+ #: wp_mail_smtp.php:521
1097
  msgid "This is in plain text because it must not be stored encrypted."
1098
  msgstr ""
1099
 
1100
+ #: wp_mail_smtp.php:535
1101
  msgid "Pepipost SMTP Options"
1102
  msgstr ""
1103
 
1104
  #. translators: %s - Pepipost registration URL.
1105
+ #: wp_mail_smtp.php:541
1106
  msgid "You need to signup on %s to get the SMTP username/password."
1107
  msgstr ""
1108
 
1109
+ #: wp_mail_smtp.php:621
1110
  msgid "To"
1111
  msgstr ""
1112
 
1113
+ #: wp_mail_smtp.php:625
1114
  msgid "Type an email address here and then click Send Test to generate a test email."
1115
  msgstr ""
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: wpforms, jaredatch, smub, slaFFik
3
  Tags: smtp, wp mail smtp, wordpress smtp, gmail smtp, sendgrid smtp, mailgun smtp, mail, mailer, phpmailer, wp_mail, email, mailgun, sengrid, gmail, wp smtp
4
  Requires at least: 3.6
5
  Tested up to: 5.0
6
- Stable tag: 1.4.0
7
  Requires PHP: 5.3
8
 
9
  The most popular WordPress SMTP and PHP Mailer plugin. Trusted by over 1 million sites.
@@ -146,7 +146,11 @@ By all means please contact us to discuss features or options you'd like to see
146
 
147
  == Changelog ==
148
 
149
- ## [1.4.0] - 2018-11-29
 
 
 
 
150
  * Added: New option: Do Not Send - block emails from being sent.
151
  * Added: New option: Send HTML or plain text emails when doing an Email Test.
152
  * Added: New option: Mailgun region selection - US and EU (US is default to preserve compatibility).
@@ -165,7 +169,7 @@ By all means please contact us to discuss features or options you'd like to see
165
  * Changed: List all constants with descriptions in plugin main file: wp_mail_smtp.php.
166
  * Changed: TGMPA: change descriptions from "Required" to "Recommended" (labels were incorrect).
167
 
168
- ## [1.3.3] - 2018-07-05
169
  * Fixed: Compatibility with other plugins, that are using Google Service or Google Client classes.
170
  * Changed: Optimize code loading.
171
 
3
  Tags: smtp, wp mail smtp, wordpress smtp, gmail smtp, sendgrid smtp, mailgun smtp, mail, mailer, phpmailer, wp_mail, email, mailgun, sengrid, gmail, wp smtp
4
  Requires at least: 3.6
5
  Tested up to: 5.0
6
+ Stable tag: 1.4.1
7
  Requires PHP: 5.3
8
 
9
  The most popular WordPress SMTP and PHP Mailer plugin. Trusted by over 1 million sites.
146
 
147
  == Changelog ==
148
 
149
+ = 1.4.1 - 2018-12-03 =
150
+ * Fixed: correctly process backslashes in SMTP passwords defined via constants.
151
+ * Changed: allow to send a Test Email when Default (none) mailer is selected in plugin settings.
152
+
153
+ = 1.4.0 - 2018-11-29 =
154
  * Added: New option: Do Not Send - block emails from being sent.
155
  * Added: New option: Send HTML or plain text emails when doing an Email Test.
156
  * Added: New option: Mailgun region selection - US and EU (US is default to preserve compatibility).
169
  * Changed: List all constants with descriptions in plugin main file: wp_mail_smtp.php.
170
  * Changed: TGMPA: change descriptions from "Required" to "Recommended" (labels were incorrect).
171
 
172
+ = 1.3.3 - 2018-07-05 =
173
  * Fixed: Compatibility with other plugins, that are using Google Service or Google Client classes.
174
  * Changed: Optimize code loading.
175
 
src/MailCatcher.php CHANGED
@@ -33,6 +33,7 @@ class MailCatcher extends \PHPMailer {
33
  * For others - init the correct provider and process it.
34
  *
35
  * @since 1.0.0
 
36
  *
37
  * @throws \phpmailerException Throws when sending via PhpMailer fails for some reason.
38
  *
@@ -48,6 +49,7 @@ class MailCatcher extends \PHPMailer {
48
  $is_emailing_blocked = true;
49
  }
50
 
 
51
  foreach ( (array) $this->getCustomHeaders() as $header ) {
52
  if (
53
  ! empty( $header[0] ) &&
@@ -55,7 +57,6 @@ class MailCatcher extends \PHPMailer {
55
  $header[0] === 'X-Mailer-Type' &&
56
  trim( $header[1] ) === 'WPMailSMTP\Admin\Test'
57
  ) {
58
- // Se we are working with a test email - allow to send it.
59
  $is_emailing_blocked = false;
60
  }
61
  };
33
  * For others - init the correct provider and process it.
34
  *
35
  * @since 1.0.0
36
+ * @since 1.4.0 Process "Do Not Send" option, but always allow test email.
37
  *
38
  * @throws \phpmailerException Throws when sending via PhpMailer fails for some reason.
39
  *
49
  $is_emailing_blocked = true;
50
  }
51
 
52
+ // Always allow a test email - check for the specific header.
53
  foreach ( (array) $this->getCustomHeaders() as $header ) {
54
  if (
55
  ! empty( $header[0] ) &&
57
  $header[0] === 'X-Mailer-Type' &&
58
  trim( $header[1] ) === 'WPMailSMTP\Admin\Test'
59
  ) {
 
60
  $is_emailing_blocked = false;
61
  }
62
  };
src/Options.php CHANGED
@@ -241,7 +241,8 @@ class Options {
241
  }
242
  }
243
 
244
- if ( is_string( $value ) ) {
 
245
  $value = stripslashes( $value );
246
  }
247
 
@@ -594,6 +595,12 @@ class Options {
594
  break;
595
 
596
  case 'pass': // smtp.
 
 
 
 
 
 
597
  case 'api_key': // mailgun/sendgrid.
598
  case 'domain': // mailgun.
599
  case 'client_id': // gmail.
@@ -602,7 +609,6 @@ class Options {
602
  case 'access_token': // gmail.
603
  $option_value = is_string( $option_value ) ? sanitize_text_field( $option_value ) : $option_value;
604
 
605
- // Do not process as they may contain certain special characters, but allow to be overwritten using constants.
606
  $options[ $mailer ][ $option_name ] = $this->get_const_value( $mailer, $option_name, $option_value );
607
  break;
608
  }
241
  }
242
  }
243
 
244
+ // Strip slashes only from values saved in DB. Consts should be processed as is.
245
+ if ( is_string( $value ) && ! $this->is_const_defined( $group, $key ) ) {
246
  $value = stripslashes( $value );
247
  }
248
 
595
  break;
596
 
597
  case 'pass': // smtp.
598
+ $option_value = is_string( $option_value ) ? trim( $option_value ) : $option_value;
599
+
600
+ // Do not process as they may contain certain special characters, but allow to be overwritten using constants.
601
+ $options[ $mailer ][ $option_name ] = $this->get_const_value( $mailer, $option_name, $option_value );
602
+ break;
603
+
604
  case 'api_key': // mailgun/sendgrid.
605
  case 'domain': // mailgun.
606
  case 'client_id': // gmail.
609
  case 'access_token': // gmail.
610
  $option_value = is_string( $option_value ) ? sanitize_text_field( $option_value ) : $option_value;
611
 
 
612
  $options[ $mailer ][ $option_name ] = $this->get_const_value( $mailer, $option_name, $option_value );
613
  break;
614
  }
src/Providers/Mail/Mailer.php CHANGED
@@ -44,13 +44,6 @@ class Mailer extends MailerAbstract {
44
  */
45
  public function is_mailer_complete() {
46
 
47
- // Do not allow to send test emails when using a default mailer Mail.
48
- if (
49
- $this->mailer !== \WPMailSMTP\Options::init()->get( 'mail', 'mailer' )
50
- ) {
51
- return true;
52
- }
53
-
54
- return false;
55
  }
56
  }
44
  */
45
  public function is_mailer_complete() {
46
 
47
+ return true;
 
 
 
 
 
 
 
48
  }
49
  }
wp_mail_smtp.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * Plugin Name: WP Mail SMTP
4
- * Version: 1.4.0
5
  * Plugin URI: https://wpforms.com/
6
  * Description: Reconfigures the <code>wp_mail()</code> function to use Gmail/Mailgun/SendGrid/SMTP instead of the default <code>mail()</code> and creates an options page to manage the settings.
7
  * Author: WPForms
@@ -18,7 +18,7 @@
18
  * https://www.gnu.org/licenses/gpl.txt
19
  */
20
 
21
- define( 'WPMS_PLUGIN_VER', '1.4.0' );
22
  define( 'WPMS_PHP_VER', '5.3.6' );
23
 
24
  /**
@@ -26,10 +26,11 @@ define( 'WPMS_PHP_VER', '5.3.6' );
26
  *
27
  * Specifically aimed at WP Multisite users, you can set the options for this plugin as
28
  * constants in wp-config.php. Copy the code below into wp-config.php and tweak settings.
 
29
  */
30
 
31
  /*
32
- define( 'WPMS_ON', true ); // True turns the whole constants support and usage on, false turns it off.
33
 
34
  define( 'WPMS_MAIL_FROM', 'mail@example.com' );
35
  define( 'WPMS_MAIL_FROM_FORCE', true ); // True turns it on, false turns it off.
@@ -301,7 +302,7 @@ if ( ! function_exists( 'wp_mail_smtp_options_page' ) ) :
301
  <?php esc_html_e( 'WP Mail SMTP Settings', 'wp-mail-smtp' ); ?>
302
  </h2>
303
 
304
- <form method="post" action="<?php echo admin_url( 'options.php' ); ?>">
305
  <?php wp_nonce_field( 'email-options' ); ?>
306
 
307
  <table class="form-table">
@@ -310,7 +311,7 @@ if ( ! function_exists( 'wp_mail_smtp_options_page' ) ) :
310
  <label for="mail_from"><?php esc_html_e( 'From Email', 'wp-mail-smtp' ); ?></label>
311
  </th>
312
  <td>
313
- <input name="mail_from" type="email" id="mail_from" value="<?php print( get_option( 'mail_from' ) ); ?>" size="40" class="regular-text"/>
314
 
315
  <p class="description">
316
  <?php
@@ -329,7 +330,7 @@ if ( ! function_exists( 'wp_mail_smtp_options_page' ) ) :
329
  <label for="mail_from_name"><?php esc_html_e( 'From Name', 'wp-mail-smtp' ); ?></label>
330
  </th>
331
  <td>
332
- <input name="mail_from_name" type="text" id="mail_from_name" value="<?php print( get_option( 'mail_from_name' ) ); ?>" size="40" class="regular-text"/>
333
 
334
  <p class="description">
335
  <?php esc_html_e( 'You can specify the name that emails should be sent from. If you leave this blank, the emails will be sent from WordPress.', 'wp-mail-smtp' ); ?>
@@ -439,7 +440,7 @@ if ( ! function_exists( 'wp_mail_smtp_options_page' ) ) :
439
  <label for="smtp_host"><?php esc_html_e( 'SMTP Host', 'wp-mail-smtp' ); ?></label>
440
  </th>
441
  <td>
442
- <input name="smtp_host" type="text" id="smtp_host" value="<?php print( get_option( 'smtp_host' ) ); ?>" size="40" class="regular-text"/>
443
  </td>
444
  </tr>
445
  <tr valign="top">
@@ -447,7 +448,7 @@ if ( ! function_exists( 'wp_mail_smtp_options_page' ) ) :
447
  <label for="smtp_port"><?php esc_html_e( 'SMTP Port', 'wp-mail-smtp' ); ?></label>
448
  </th>
449
  <td>
450
- <input name="smtp_port" type="text" id="smtp_port" value="<?php print( get_option( 'smtp_port' ) ); ?>" size="6" class="regular-text"/>
451
  </td>
452
  </tr>
453
  <tr valign="top">
@@ -506,7 +507,7 @@ if ( ! function_exists( 'wp_mail_smtp_options_page' ) ) :
506
  <label for="smtp_user"><?php esc_html_e( 'Username', 'wp-mail-smtp' ); ?></label>
507
  </th>
508
  <td>
509
- <input name="smtp_user" type="text" id="smtp_user" value="<?php print( get_option( 'smtp_user' ) ); ?>" size="40" class="code" autocomplete="off"/>
510
  </td>
511
  </tr>
512
  <tr valign="top">
@@ -514,7 +515,7 @@ if ( ! function_exists( 'wp_mail_smtp_options_page' ) ) :
514
  <label for="smtp_pass"><?php esc_html_e( 'Password', 'wp-mail-smtp' ); ?></label>
515
  </th>
516
  <td>
517
- <input name="smtp_pass" type="password" id="smtp_pass" value="<?php print( get_option( 'smtp_pass' ) ); ?>" size="40" class="code" autocomplete="off"/>
518
 
519
  <p class="description">
520
  <?php esc_html_e( 'This is in plain text because it must not be stored encrypted.', 'wp-mail-smtp' ); ?>
@@ -549,7 +550,7 @@ if ( ! function_exists( 'wp_mail_smtp_options_page' ) ) :
549
  <label for="pepipost_user"><?php esc_html_e( 'Username', 'wp-mail-smtp' ); ?></label>
550
  </th>
551
  <td>
552
- <input name="pepipost_user" type="text" id="pepipost_user" value="<?php print( get_option( 'pepipost_user' ) ); ?>" size="40" class="code"/>
553
  </td>
554
  </tr>
555
  <tr valign="top">
@@ -557,7 +558,7 @@ if ( ! function_exists( 'wp_mail_smtp_options_page' ) ) :
557
  <label for="pepipost_pass"><?php esc_html_e( 'Password', 'wp-mail-smtp' ); ?></label>
558
  </th>
559
  <td>
560
- <input name="pepipost_pass" type="text" id="pepipost_pass" value="<?php print( get_option( 'pepipost_pass' ) ); ?>" size="40" class="code"/>
561
  </td>
562
  </tr>
563
  <tr valign="top">
@@ -565,7 +566,7 @@ if ( ! function_exists( 'wp_mail_smtp_options_page' ) ) :
565
  <label for="pepipost_port"><?php esc_html_e( 'SMTP Port', 'wp-mail-smtp' ); ?></label>
566
  </th>
567
  <td>
568
- <input name="pepipost_port" type="text" id="pepipost_port" value="<?php print( get_option( 'pepipost_port' ) ); ?>" size="6" class="regular-text"/>
569
  </td>
570
  </tr>
571
  <tr valign="top">
1
  <?php
2
  /**
3
  * Plugin Name: WP Mail SMTP
4
+ * Version: 1.4.1
5
  * Plugin URI: https://wpforms.com/
6
  * Description: Reconfigures the <code>wp_mail()</code> function to use Gmail/Mailgun/SendGrid/SMTP instead of the default <code>mail()</code> and creates an options page to manage the settings.
7
  * Author: WPForms
18
  * https://www.gnu.org/licenses/gpl.txt
19
  */
20
 
21
+ define( 'WPMS_PLUGIN_VER', '1.4.1' );
22
  define( 'WPMS_PHP_VER', '5.3.6' );
23
 
24
  /**
26
  *
27
  * Specifically aimed at WP Multisite users, you can set the options for this plugin as
28
  * constants in wp-config.php. Copy the code below into wp-config.php and tweak settings.
29
+ * Values from constants are NOT stripslash()'ed.
30
  */
31
 
32
  /*
33
+ define( 'WPMS_ON', true ); // True turns on the whole constants support and usage, false turns it off.
34
 
35
  define( 'WPMS_MAIL_FROM', 'mail@example.com' );
36
  define( 'WPMS_MAIL_FROM_FORCE', true ); // True turns it on, false turns it off.
302
  <?php esc_html_e( 'WP Mail SMTP Settings', 'wp-mail-smtp' ); ?>
303
  </h2>
304
 
305
+ <form method="post" action="<?php echo esc_url( admin_url( 'options.php' ) ); ?>">
306
  <?php wp_nonce_field( 'email-options' ); ?>
307
 
308
  <table class="form-table">
311
  <label for="mail_from"><?php esc_html_e( 'From Email', 'wp-mail-smtp' ); ?></label>
312
  </th>
313
  <td>
314
+ <input name="mail_from" type="email" id="mail_from" value="<?php echo esc_attr( get_option( 'mail_from' ) ); ?>" size="40" class="regular-text"/>
315
 
316
  <p class="description">
317
  <?php
330
  <label for="mail_from_name"><?php esc_html_e( 'From Name', 'wp-mail-smtp' ); ?></label>
331
  </th>
332
  <td>
333
+ <input name="mail_from_name" type="text" id="mail_from_name" value="<?php echo esc_attr( get_option( 'mail_from_name' ) ); ?>" size="40" class="regular-text"/>
334
 
335
  <p class="description">
336
  <?php esc_html_e( 'You can specify the name that emails should be sent from. If you leave this blank, the emails will be sent from WordPress.', 'wp-mail-smtp' ); ?>
440
  <label for="smtp_host"><?php esc_html_e( 'SMTP Host', 'wp-mail-smtp' ); ?></label>
441
  </th>
442
  <td>
443
+ <input name="smtp_host" type="text" id="smtp_host" value="<?php echo intval( get_option( 'smtp_host' ) ); ?>" size="40" class="regular-text"/>
444
  </td>
445
  </tr>
446
  <tr valign="top">
448
  <label for="smtp_port"><?php esc_html_e( 'SMTP Port', 'wp-mail-smtp' ); ?></label>
449
  </th>
450
  <td>
451
+ <input name="smtp_port" type="text" id="smtp_port" value="<?php echo esc_attr( get_option( 'smtp_port' ) ); ?>" size="6" class="regular-text"/>
452
  </td>
453
  </tr>
454
  <tr valign="top">
507
  <label for="smtp_user"><?php esc_html_e( 'Username', 'wp-mail-smtp' ); ?></label>
508
  </th>
509
  <td>
510
+ <input name="smtp_user" type="text" id="smtp_user" value="<?php echo esc_attr( get_option( 'smtp_user' ) ); ?>" size="40" class="code" autocomplete="off"/>
511
  </td>
512
  </tr>
513
  <tr valign="top">
515
  <label for="smtp_pass"><?php esc_html_e( 'Password', 'wp-mail-smtp' ); ?></label>
516
  </th>
517
  <td>
518
+ <input name="smtp_pass" type="password" id="smtp_pass" value="<?php echo esc_attr( get_option( 'smtp_pass' ) ); ?>" size="40" class="code" autocomplete="off"/>
519
 
520
  <p class="description">
521
  <?php esc_html_e( 'This is in plain text because it must not be stored encrypted.', 'wp-mail-smtp' ); ?>
550
  <label for="pepipost_user"><?php esc_html_e( 'Username', 'wp-mail-smtp' ); ?></label>
551
  </th>
552
  <td>
553
+ <input name="pepipost_user" type="text" id="pepipost_user" value="<?php echo esc_attr( get_option( 'pepipost_user' ) ); ?>" size="40" class="code"/>
554
  </td>
555
  </tr>
556
  <tr valign="top">
558
  <label for="pepipost_pass"><?php esc_html_e( 'Password', 'wp-mail-smtp' ); ?></label>
559
  </th>
560
  <td>
561
+ <input name="pepipost_pass" type="text" id="pepipost_pass" value="<?php echo esc_attr( get_option( 'pepipost_pass' ) ); ?>" size="40" class="code"/>
562
  </td>
563
  </tr>
564
  <tr valign="top">
566
  <label for="pepipost_port"><?php esc_html_e( 'SMTP Port', 'wp-mail-smtp' ); ?></label>
567
  </th>
568
  <td>
569
+ <input name="pepipost_port" type="text" id="pepipost_port" value="<?php echo intval( get_option( 'pepipost_port' ) ); ?>" size="6" class="regular-text"/>
570
  </td>
571
  </tr>
572
  <tr valign="top">