WP Mail SMTP by WPForms - Version 0.10.0

Version Description

  • Addition of Pepipost and cleanup of admin page.
Download this release

Release Info

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

Code changes from version 0.9.6 to 0.10.0

Files changed (4) hide show
  1. .gitignore +1 -0
  2. README.md +4 -0
  3. readme.txt +11 -3
  4. wp_mail_smtp.php +162 -64
.gitignore ADDED
@@ -0,0 +1 @@
1
+ .sync-config.cson
README.md ADDED
@@ -0,0 +1,4 @@
1
+ WP Mail SMTP
2
+ ---
3
+
4
+ https://wordpress.org/plugins/wp-mail-smtp/
readme.txt CHANGED
@@ -3,10 +3,10 @@ Contributors: chmac
3
Donate link: http://www.callum-macdonald.com/code/donate/
4
Tags: mail, smtp, wp_mail, mailer, phpmailer
5
Requires at least: 2.7
6
- Tested up to: 4.4.2
7
- Stable tag: 0.9.6
8
9
- Reconfigures the wp_mail() function to use SMTP instead of mail() and creates an options page to manage the settings.
10
11
== Description ==
12
@@ -22,6 +22,8 @@ You can set the following options:
22
* Choose to use SMTP authentication or not (defaults to not).
23
* Specify an SMTP username and password.
24
25
== Installation ==
26
27
1. Download
@@ -62,6 +64,9 @@ By all means please contact me to discuss features or options you'd like to see
62
63
== Changelog ==
64
65
= 0.9.6 =
66
* Minor security fix, sanitize test email address.
67
@@ -152,6 +157,9 @@ By all means please contact me to discuss features or options you'd like to see
152
153
== Upgrade Notice ==
154
155
= 0.9.6 =
156
Minor security fix, sanitize test email address.
157
3
Donate link: http://www.callum-macdonald.com/code/donate/
4
Tags: mail, smtp, wp_mail, mailer, phpmailer
5
Requires at least: 2.7
6
+ Tested up to: 4.7
7
+ Stable tag: 0.10.0
8
9
+ The most popular SMTP plugin on WordPress.org. Trusted by over 500'000 sites.
10
11
== Description ==
12
22
* Choose to use SMTP authentication or not (defaults to not).
23
* Specify an SMTP username and password.
24
25
+ The plugin includes integrated support for <a href="https://app1.pepipost.com/index.php/login/wp_mail_smtp?page=signup&utm_source=WordPress&utm_campaign=Plugins&utm_medium=wp_mail_smtp_webpage&utm_term=organic&code=WP-MAIL-SMTP">Pepipost</a>.
26
+
27
== Installation ==
28
29
1. Download
64
65
== Changelog ==
66
67
+ = 0.10.0 =
68
+ * Addition of Pepipost and cleanup of admin page.
69
+
70
= 0.9.6 =
71
* Minor security fix, sanitize test email address.
72
157
158
== Upgrade Notice ==
159
160
+ = 0.10.0 =
161
+ Addition of Pepipost and cleanup of admin page.
162
+
163
= 0.9.6 =
164
Minor security fix, sanitize test email address.
165
wp_mail_smtp.php CHANGED
@@ -17,7 +17,7 @@ Author URI: http://www.callum-macdonald.com/
17
18
/**
19
* Setting options in wp-config.php
20
- *
21
* Specifically aimed at WPMU users, you can set the options for this plugin as
22
* constants in wp-config.php. This disables the plugin's admin page and may
23
* improve performance very slightly. Copy the code below into wp-config.php.
@@ -48,7 +48,11 @@ $wpms_options = array (
48
'smtp_ssl' => 'none',
49
'smtp_auth' => false,
50
'smtp_user' => '',
51
- 'smtp_pass' => ''
52
);
53
54
@@ -57,27 +61,27 @@ $wpms_options = array (
57
*/
58
if (!function_exists('wp_mail_smtp_activate')) :
59
function wp_mail_smtp_activate() {
60
-
61
global $wpms_options;
62
-
63
// Create the required options...
64
foreach ($wpms_options as $name => $val) {
65
add_option($name,$val);
66
}
67
-
68
}
69
endif;
70
71
if (!function_exists('wp_mail_smtp_whitelist_options')) :
72
function wp_mail_smtp_whitelist_options($whitelist_options) {
73
-
74
global $wpms_options;
75
-
76
// Add our options to the array
77
$whitelist_options['email'] = array_keys($wpms_options);
78
-
79
return $whitelist_options;
80
-
81
}
82
endif;
83
@@ -85,15 +89,15 @@ endif;
85
if (!function_exists('phpmailer_init_smtp')) :
86
// This code is copied, from wp-includes/pluggable.php as at version 2.2.2
87
function phpmailer_init_smtp($phpmailer) {
88
-
89
// If constants are defined, apply those options
90
if (defined('WPMS_ON') && WPMS_ON) {
91
-
92
$phpmailer->Mailer = WPMS_MAILER;
93
-
94
if (WPMS_SET_RETURN_PATH)
95
$phpmailer->Sender = $phpmailer->From;
96
-
97
if (WPMS_MAILER == 'smtp') {
98
$phpmailer->SMTPSecure = WPMS_SSL;
99
$phpmailer->Host = WPMS_SMTP_HOST;
@@ -104,55 +108,69 @@ function phpmailer_init_smtp($phpmailer) {
104
$phpmailer->Password = WPMS_SMTP_PASS;
105
}
106
}
107
-
108
// If you're using contstants, set any custom options here
109
$phpmailer = apply_filters('wp_mail_smtp_custom_options', $phpmailer);
110
-
111
}
112
else {
113
-
114
// Check that mailer is not blank, and if mailer=smtp, host is not blank
115
if ( ! get_option('mailer') || ( get_option('mailer') == 'smtp' && ! get_option('smtp_host') ) ) {
116
return;
117
}
118
-
119
// Set the mailer type as per config above, this overrides the already called isMail method
120
$phpmailer->Mailer = get_option('mailer');
121
-
122
// Set the Sender (return-path) if required
123
if (get_option('mail_set_return_path'))
124
$phpmailer->Sender = $phpmailer->From;
125
-
126
// Set the SMTPSecure value, if set to none, leave this blank
127
$phpmailer->SMTPSecure = get_option('smtp_ssl') == 'none' ? '' : get_option('smtp_ssl');
128
-
129
// If we're sending via SMTP, set the host
130
if (get_option('mailer') == "smtp") {
131
-
132
// Set the SMTPSecure value, if set to none, leave this blank
133
$phpmailer->SMTPSecure = get_option('smtp_ssl') == 'none' ? '' : get_option('smtp_ssl');
134
-
135
// Set the other options
136
$phpmailer->Host = get_option('smtp_host');
137
$phpmailer->Port = get_option('smtp_port');
138
-
139
// If we're using smtp auth, set the username & password
140
if (get_option('smtp_auth') == "true") {
141
$phpmailer->SMTPAuth = TRUE;
142
$phpmailer->Username = get_option('smtp_user');
143
$phpmailer->Password = get_option('smtp_pass');
144
}
145
- }
146
-
147
// You can add your own options here, see the phpmailer documentation for more info:
148
// http://phpmailer.sourceforge.net/docs/
149
$phpmailer = apply_filters('wp_mail_smtp_custom_options', $phpmailer);
150
-
151
-
152
// STOP adding options here.
153
-
154
}
155
-
156
} // End of phpmailer_init_smtp() function definition
157
endif;
158
@@ -164,11 +182,11 @@ endif;
164
if (!function_exists('wp_mail_smtp_options_page')) :
165
// Define the function
166
function wp_mail_smtp_options_page() {
167
-
168
// Load the options
169
global $wpms_options, $phpmailer;
170
-
171
- // Make sure the PHPMailer class has been instantiated
172
// (copied verbatim from wp-includes/pluggable.php)
173
// (Re)create it, if it's gone missing
174
if ( !is_object( $phpmailer ) || !is_a( $phpmailer, 'PHPMailer' ) ) {
@@ -179,30 +197,30 @@ function wp_mail_smtp_options_page() {
179
180
// Send a test mail if necessary
181
if (isset($_POST['wpms_action']) && $_POST['wpms_action'] == __('Send Test', 'wp_mail_smtp') && is_email($_POST['to'])) {
182
-
183
check_admin_referer('test-email');
184
-
185
// Set up the mail variables
186
$to = $_POST['to'];
187
$subject = 'WP Mail SMTP: ' . __('Test mail to ', 'wp_mail_smtp') . $to;
188
$message = __('This is a test email generated by the WP Mail SMTP WordPress plugin.', 'wp_mail_smtp');
189
-
190
// Set SMTPDebug to true
191
$phpmailer->SMTPDebug = true;
192
-
193
// Start output buffering to grab smtp debugging output
194
ob_start();
195
196
// Send the test mail
197
$result = wp_mail($to,$subject,$message);
198
-
199
// Strip out the language strings which confuse users
200
//unset($phpmailer->language);
201
// This property became protected in WP 3.2
202
-
203
// Grab the smtp debugging output
204
$smtp_debug = ob_get_clean();
205
-
206
// Output the response
207
?>
208
<div id="message" class="updated fade"><p><strong><?php _e('Test Message Sent', 'wp_mail_smtp'); ?></strong></p>
@@ -214,12 +232,12 @@ function wp_mail_smtp_options_page() {
214
<pre><?php echo $smtp_debug ?></pre>
215
</div>
216
<?php
217
-
218
// Destroy $phpmailer so it doesn't cause issues later
219
unset($phpmailer);
220
221
}
222
-
223
?>
224
<div class="wrap">
225
<h2><?php _e('Advanced Email Options', 'wp_mail_smtp'); ?></h2>
@@ -230,12 +248,14 @@ function wp_mail_smtp_options_page() {
230
<tr valign="top">
231
<th scope="row"><label for="mail_from"><?php _e('From Email', 'wp_mail_smtp'); ?></label></th>
232
<td><input name="mail_from" type="text" id="mail_from" value="<?php print(get_option('mail_from')); ?>" size="40" class="regular-text" />
233
- <span class="description"><?php _e('You can specify the email address that emails should be sent from. If you leave this blank, the default email will be used.', 'wp_mail_smtp'); if(get_option('db_version') < 6124) { print('<br /><span style="color: red;">'); _e('<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.', 'wp_mail_smtp'); print('</span>'); } ?></span></td>
234
</tr>
235
<tr valign="top">
236
<th scope="row"><label for="mail_from_name"><?php _e('From Name', 'wp_mail_smtp'); ?></label></th>
237
<td><input name="mail_from_name" type="text" id="mail_from_name" value="<?php print(get_option('mail_from_name')); ?>" size="40" class="regular-text" />
238
- <span class="description"><?php _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'); ?></span></td>
239
</tr>
240
</table>
241
@@ -244,11 +264,15 @@ function wp_mail_smtp_options_page() {
244
<tr valign="top">
245
<th scope="row"><?php _e('Mailer', 'wp_mail_smtp'); ?> </th>
246
<td><fieldset><legend class="screen-reader-text"><span><?php _e('Mailer', 'wp_mail_smtp'); ?></span></legend>
247
- <p><input id="mailer_smtp" type="radio" name="mailer" value="smtp" <?php checked('smtp', get_option('mailer')); ?> />
248
<label for="mailer_smtp"><?php _e('Send all WordPress emails via SMTP.', 'wp_mail_smtp'); ?></label></p>
249
- <p><input id="mailer_mail" type="radio" name="mailer" value="mail" <?php checked('mail', get_option('mailer')); ?> />
250
<label for="mailer_mail"><?php _e('Use the PHP mail() function to send emails.', 'wp_mail_smtp'); ?></label></p>
251
- </fieldset></td>
252
</tr>
253
</table>
254
@@ -263,6 +287,9 @@ function wp_mail_smtp_options_page() {
263
</tr>
264
</table>
265
266
<h3><?php _e('SMTP Options', 'wp_mail_smtp'); ?></h3>
267
<p><?php _e('These options only apply if you have chosen to send mail by SMTP above.', 'wp_mail_smtp'); ?></p>
268
@@ -277,23 +304,29 @@ function wp_mail_smtp_options_page() {
277
</tr>
278
<tr valign="top">
279
<th scope="row"><?php _e('Encryption', 'wp_mail_smtp'); ?> </th>
280
- <td><fieldset><legend class="screen-reader-text"><span><?php _e('Encryption', 'wp_mail_smtp'); ?></span></legend>
281
<input id="smtp_ssl_none" type="radio" name="smtp_ssl" value="none" <?php checked('none', get_option('smtp_ssl')); ?> />
282
<label for="smtp_ssl_none"><span><?php _e('No encryption.', 'wp_mail_smtp'); ?></span></label><br />
283
<input id="smtp_ssl_ssl" type="radio" name="smtp_ssl" value="ssl" <?php checked('ssl', get_option('smtp_ssl')); ?> />
284
<label for="smtp_ssl_ssl"><span><?php _e('Use SSL encryption.', 'wp_mail_smtp'); ?></span></label><br />
285
<input id="smtp_ssl_tls" type="radio" name="smtp_ssl" value="tls" <?php checked('tls', get_option('smtp_ssl')); ?> />
286
- <label for="smtp_ssl_tls"><span><?php _e('Use TLS encryption. This is not the same as STARTTLS. For most servers SSL is the recommended option.', 'wp_mail_smtp'); ?></span></label>
287
</td>
288
</tr>
289
<tr valign="top">
290
<th scope="row"><?php _e('Authentication', 'wp_mail_smtp'); ?> </th>
291
<td>
292
<input id="smtp_auth_false" type="radio" name="smtp_auth" value="false" <?php checked('false', get_option('smtp_auth')); ?> />
293
<label for="smtp_auth_false"><span><?php _e('No: Do not use SMTP authentication.', 'wp_mail_smtp'); ?></span></label><br />
294
<input id="smtp_auth_true" type="radio" name="smtp_auth" value="true" <?php checked('true', get_option('smtp_auth')); ?> />
295
<label for="smtp_auth_true"><span><?php _e('Yes: Use SMTP authentication.', 'wp_mail_smtp'); ?></span></label><br />
296
- <span class="description"><?php _e('If this is set to no, the values below are ignored.', 'wp_mail_smtp'); ?></span>
297
</td>
298
</tr>
299
<tr valign="top">
@@ -302,11 +335,55 @@ function wp_mail_smtp_options_page() {
302
</tr>
303
<tr valign="top">
304
<th scope="row"><label for="smtp_pass"><?php _e('Password', 'wp_mail_smtp'); ?></label></th>
305
- <td><input name="smtp_pass" type="text" id="smtp_pass" value="<?php print(get_option('smtp_pass')); ?>" size="40" class="code" /></td>
306
</tr>
307
</table>
308
309
<p class="submit"><input type="submit" name="submit" id="submit" class="button-primary" value="<?php _e('Save Changes'); ?>" /></p>
310
<input type="hidden" name="action" value="update" />
311
</p>
312
<input type="hidden" name="option_page" value="email">
@@ -318,17 +395,38 @@ function wp_mail_smtp_options_page() {
318
<?php wp_nonce_field('test-email'); ?>
319
<table class="optiontable form-table">
320
<tr valign="top">
321
- <th scope="row"><label for="to"><?php _e('To:', 'wp_mail_smtp'); ?></label></th>
322
<td><input name="to" type="text" id="to" value="" size="40" class="code" />
323
- <span class="description"><?php _e('Type an email address here and then click Send Test to generate a test email.', 'wp_mail_smtp'); ?></span></td>
324
</tr>
325
</table>
326
<p class="submit"><input type="submit" name="wpms_action" id="wpms_action" class="button-primary" value="<?php _e('Send Test', 'wp_mail_smtp'); ?>" /></p>
327
</form>
328
329
</div>
330
<?php
331
-
332
} // End of wp_mail_smtp_options_page() function definition
333
endif;
334
@@ -338,11 +436,11 @@ endif;
338
*/
339
if (!function_exists('wp_mail_smtp_menus')) :
340
function wp_mail_smtp_menus() {
341
-
342
if (function_exists('add_submenu_page')) {
343
add_options_page(__('Advanced Email Options', 'wp_mail_smtp'),__('Email', 'wp_mail_smtp'),'manage_options',__FILE__,'wp_mail_smtp_options_page');
344
}
345
-
346
} // End of wp_mail_smtp_menus() function definition
347
endif;
348
@@ -352,10 +450,10 @@ endif;
352
*/
353
if (!function_exists('wp_mail_smtp_mail_from')) :
354
function wp_mail_smtp_mail_from ($orig) {
355
-
356
// This is copied from pluggable.php lines 348-354 as at revision 10150
357
// http://trac.wordpress.org/browser/branches/2.7/wp-includes/pluggable.php#L348
358
-
359
// Get the site domain and get rid of www.
360
$sitename = strtolower( $_SERVER['SERVER_NAME'] );
361
if ( substr( $sitename, 0, 4 ) == 'www.' ) {
@@ -364,22 +462,22 @@ function wp_mail_smtp_mail_from ($orig) {
364
365
$default_from = 'wordpress@' . $sitename;
366
// End of copied code
367
-
368
// If the from email is not the default, return it unchanged
369
if ( $orig != $default_from ) {
370
return $orig;
371
}
372
-
373
if (defined('WPMS_ON') && WPMS_ON) {
374
if (defined('WPMS_MAIL_FROM') && WPMS_MAIL_FROM != false)
375
return WPMS_MAIL_FROM;
376
}
377
elseif (is_email(get_option('mail_from'), false))
378
return get_option('mail_from');
379
-
380
// If in doubt, return the original value
381
return $orig;
382
-
383
} // End of wp_mail_smtp_mail_from() function definition
384
endif;
385
@@ -389,7 +487,7 @@ endif;
389
*/
390
if (!function_exists('wp_mail_smtp_mail_from_name')) :
391
function wp_mail_smtp_mail_from_name ($orig) {
392
-
393
// Only filter if the from name is the default
394
if ($orig == 'WordPress') {
395
if (defined('WPMS_ON') && WPMS_ON) {
@@ -399,10 +497,10 @@ function wp_mail_smtp_mail_from_name ($orig) {
399
elseif ( get_option('mail_from_name') != "" && is_string(get_option('mail_from_name')) )
400
return get_option('mail_from_name');
401
}
402
-
403
// If in doubt, return the original value
404
return $orig;
405
-
406
} // End of wp_mail_smtp_mail_from_name() function definition
407
endif;
408
17
18
/**
19
* Setting options in wp-config.php
20
+ *
21
* Specifically aimed at WPMU users, you can set the options for this plugin as
22
* constants in wp-config.php. This disables the plugin's admin page and may
23
* improve performance very slightly. Copy the code below into wp-config.php.
48
'smtp_ssl' => 'none',
49
'smtp_auth' => false,
50
'smtp_user' => '',
51
+ 'smtp_pass' => '',
52
+ 'pepipost_user' => '',
53
+ 'pepipost_pass' => '',
54
+ 'pepipost_port' => '2525',
55
+ 'pepipost_ssl' => 'none'
56
);
57
58
61
*/
62
if (!function_exists('wp_mail_smtp_activate')) :
63
function wp_mail_smtp_activate() {
64
+
65
global $wpms_options;
66
+
67
// Create the required options...
68
foreach ($wpms_options as $name => $val) {
69
add_option($name,$val);
70
}
71
+
72
}
73
endif;
74
75
if (!function_exists('wp_mail_smtp_whitelist_options')) :
76
function wp_mail_smtp_whitelist_options($whitelist_options) {
77
+
78
global $wpms_options;
79
+
80
// Add our options to the array
81
$whitelist_options['email'] = array_keys($wpms_options);
82
+
83
return $whitelist_options;
84
+
85
}
86
endif;
87
89
if (!function_exists('phpmailer_init_smtp')) :
90
// This code is copied, from wp-includes/pluggable.php as at version 2.2.2
91
function phpmailer_init_smtp($phpmailer) {
92
+
93
// If constants are defined, apply those options
94
if (defined('WPMS_ON') && WPMS_ON) {
95
+
96
$phpmailer->Mailer = WPMS_MAILER;
97
+
98
if (WPMS_SET_RETURN_PATH)
99
$phpmailer->Sender = $phpmailer->From;
100
+
101
if (WPMS_MAILER == 'smtp') {
102
$phpmailer->SMTPSecure = WPMS_SSL;
103
$phpmailer->Host = WPMS_SMTP_HOST;
108
$phpmailer->Password = WPMS_SMTP_PASS;
109
}
110
}
111
+
112
// If you're using contstants, set any custom options here
113
$phpmailer = apply_filters('wp_mail_smtp_custom_options', $phpmailer);
114
+
115
}
116
else {
117
+
118
// Check that mailer is not blank, and if mailer=smtp, host is not blank
119
if ( ! get_option('mailer') || ( get_option('mailer') == 'smtp' && ! get_option('smtp_host') ) ) {
120
return;
121
}
122
+
123
+ // If the mailer is pepipost, make sure we have a username and password
124
+ if (get_option('mailer') == 'pepipost' && (! get_option('pepipost_user') && ! get_option('pepipost_pass'))) {
125
+ return;
126
+ }
127
+
128
// Set the mailer type as per config above, this overrides the already called isMail method
129
$phpmailer->Mailer = get_option('mailer');
130
+
131
// Set the Sender (return-path) if required
132
if (get_option('mail_set_return_path'))
133
$phpmailer->Sender = $phpmailer->From;
134
+
135
// Set the SMTPSecure value, if set to none, leave this blank
136
$phpmailer->SMTPSecure = get_option('smtp_ssl') == 'none' ? '' : get_option('smtp_ssl');
137
+
138
// If we're sending via SMTP, set the host
139
if (get_option('mailer') == "smtp") {
140
+
141
// Set the SMTPSecure value, if set to none, leave this blank
142
$phpmailer->SMTPSecure = get_option('smtp_ssl') == 'none' ? '' : get_option('smtp_ssl');
143
+
144
// Set the other options
145
$phpmailer->Host = get_option('smtp_host');
146
$phpmailer->Port = get_option('smtp_port');
147
+
148
// If we're using smtp auth, set the username & password
149
if (get_option('smtp_auth') == "true") {
150
$phpmailer->SMTPAuth = TRUE;
151
$phpmailer->Username = get_option('smtp_user');
152
$phpmailer->Password = get_option('smtp_pass');
153
}
154
+ } elseif (get_option('mailer') == 'pepipost') {
155
+ // Set the Pepipost settings
156
+ $phpmailer->Mailer = 'smtp';
157
+ $phpmailer->Host = 'smtp.pepipost.com';
158
+ $phpmailer->Port = get_option('pepipost_port');
159
+ $phpmailer->SMTPSecure = get_option('pepipost_ssl') == 'none' ? '' : get_option('pepipost_ssl');;
160
+ $phpmailer->SMTPAuth = TRUE;
161
+ $phpmailer->Username = get_option('pepipost_user');
162
+ $phpmailer->Password = get_option('pepipost_pass');
163
+ }
164
+
165
// You can add your own options here, see the phpmailer documentation for more info:
166
// http://phpmailer.sourceforge.net/docs/
167
$phpmailer = apply_filters('wp_mail_smtp_custom_options', $phpmailer);
168
+
169
+
170
// STOP adding options here.
171
+
172
}
173
+
174
} // End of phpmailer_init_smtp() function definition
175
endif;
176
182
if (!function_exists('wp_mail_smtp_options_page')) :
183
// Define the function
184
function wp_mail_smtp_options_page() {
185
+
186
// Load the options
187
global $wpms_options, $phpmailer;
188
+
189
+ // Make sure the PHPMailer class has been instantiated
190
// (copied verbatim from wp-includes/pluggable.php)
191
// (Re)create it, if it's gone missing
192
if ( !is_object( $phpmailer ) || !is_a( $phpmailer, 'PHPMailer' ) ) {
197
198
// Send a test mail if necessary
199
if (isset($_POST['wpms_action']) && $_POST['wpms_action'] == __('Send Test', 'wp_mail_smtp') && is_email($_POST['to'])) {
200
+
201
check_admin_referer('test-email');
202
+
203
// Set up the mail variables
204
$to = $_POST['to'];
205
$subject = 'WP Mail SMTP: ' . __('Test mail to ', 'wp_mail_smtp') . $to;
206
$message = __('This is a test email generated by the WP Mail SMTP WordPress plugin.', 'wp_mail_smtp');
207
+
208
// Set SMTPDebug to true
209
$phpmailer->SMTPDebug = true;
210
+
211
// Start output buffering to grab smtp debugging output
212
ob_start();
213
214
// Send the test mail
215
$result = wp_mail($to,$subject,$message);
216
+
217
// Strip out the language strings which confuse users
218
//unset($phpmailer->language);
219
// This property became protected in WP 3.2
220
+
221
// Grab the smtp debugging output
222
$smtp_debug = ob_get_clean();
223
+
224
// Output the response
225
?>
226
<div id="message" class="updated fade"><p><strong><?php _e('Test Message Sent', 'wp_mail_smtp'); ?></strong></p>
232
<pre><?php echo $smtp_debug ?></pre>
233
</div>
234
<?php
235
+
236
// Destroy $phpmailer so it doesn't cause issues later
237
unset($phpmailer);
238
239
}
240
+
241
?>
242
<div class="wrap">
243
<h2><?php _e('Advanced Email Options', 'wp_mail_smtp'); ?></h2>
248
<tr valign="top">
249
<th scope="row"><label for="mail_from"><?php _e('From Email', 'wp_mail_smtp'); ?></label></th>
250
<td><input name="mail_from" type="text" id="mail_from" value="<?php print(get_option('mail_from')); ?>" size="40" class="regular-text" />
251
+ <p class="description"><?php _e('You can specify the email address that emails should be sent from. If you leave this blank, the default email will be used.', 'wp_mail_smtp'); if(get_option('db_version') < 6124) { print('<br /><span style="color: red;">'); _e('<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.', 'wp_mail_smtp'); print('</span>'); } ?></p>
252
+ </td>
253
</tr>
254
<tr valign="top">
255
<th scope="row"><label for="mail_from_name"><?php _e('From Name', 'wp_mail_smtp'); ?></label></th>
256
<td><input name="mail_from_name" type="text" id="mail_from_name" value="<?php print(get_option('mail_from_name')); ?>" size="40" class="regular-text" />
257
+ <p class="description"><?php _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'); ?></p>
258
+ </td>
259
</tr>
260
</table>
261
264
<tr valign="top">
265
<th scope="row"><?php _e('Mailer', 'wp_mail_smtp'); ?> </th>
266
<td><fieldset><legend class="screen-reader-text"><span><?php _e('Mailer', 'wp_mail_smtp'); ?></span></legend>
267
+ <p><input id="mailer_smtp" class="wpms_mailer" type="radio" name="mailer" value="smtp" <?php checked('smtp', get_option('mailer')); ?> />
268
<label for="mailer_smtp"><?php _e('Send all WordPress emails via SMTP.', 'wp_mail_smtp'); ?></label></p>
269
+ <p><input id="mailer_pepipost" class="wpms_mailer" type="radio" name="mailer" value="pepipost" <?php checked('pepipost', get_option('mailer')); ?> />
270
+ <label for="mailer_pepipost"><?php _e('Use Pepipost SMTP to send emails.', 'wp_mail_smtp'); ?></label></p>
271
+ <p><input id="mailer_mail" class="wpms_mailer" type="radio" name="mailer" value="mail" <?php checked('mail', get_option('mailer')); ?> />
272
<label for="mailer_mail"><?php _e('Use the PHP mail() function to send emails.', 'wp_mail_smtp'); ?></label></p>
273
+ </fieldset>
274
+ <p class="description">Looking for high inbox delivery? Try Pepipost with easy setup and free emails. Learn more <a href="https://app1.pepipost.com/index.php/login/wp_mail_smtp?page=signup&utm_source=WordPress&utm_campaign=Plugins&utm_medium=wp_mail_smtp&utm_term=organic&code=WP-MAIL-SMTP" target="_blank">here</a>.</p>
275
+ </td>
276
</tr>
277
</table>
278
287
</tr>
288
</table>
289
290
+ <p class="submit"><input type="submit" name="submit" id="submit" class="button-primary" value="<?php _e('Save Changes'); ?>" /></p>
291
+
292
+ <div id="wpms_section_smtp" class="wpms_section">
293
<h3><?php _e('SMTP Options', 'wp_mail_smtp'); ?></h3>
294
<p><?php _e('These options only apply if you have chosen to send mail by SMTP above.', 'wp_mail_smtp'); ?></p>
295
304
</tr>
305
<tr valign="top">
306
<th scope="row"><?php _e('Encryption', 'wp_mail_smtp'); ?> </th>
307
+ <td>
308
+ <fieldset>
309
+ <legend class="screen-reader-text"><span><?php _e('Encryption', 'wp_mail_smtp'); ?></span></legend>
310
<input id="smtp_ssl_none" type="radio" name="smtp_ssl" value="none" <?php checked('none', get_option('smtp_ssl')); ?> />
311
<label for="smtp_ssl_none"><span><?php _e('No encryption.', 'wp_mail_smtp'); ?></span></label><br />
312
<input id="smtp_ssl_ssl" type="radio" name="smtp_ssl" value="ssl" <?php checked('ssl', get_option('smtp_ssl')); ?> />
313
<label for="smtp_ssl_ssl"><span><?php _e('Use SSL encryption.', 'wp_mail_smtp'); ?></span></label><br />
314
<input id="smtp_ssl_tls" type="radio" name="smtp_ssl" value="tls" <?php checked('tls', get_option('smtp_ssl')); ?> />
315
+ <label for="smtp_ssl_tls"><span><?php _e('Use TLS encryption.', 'wp_mail_smtp'); ?></span></label>
316
+ <p class="description"><?php esc_html_e('TLS is not the same as STARTTLS. For most servers SSL is the recommended option.'); ?></p>
317
</td>
318
</tr>
319
<tr valign="top">
320
<th scope="row"><?php _e('Authentication', 'wp_mail_smtp'); ?> </th>
321
<td>
322
+ <fieldset>
323
+ <legend class="screen-reader-text"><span><?php _e('Authentication', 'wp_mail_smtp'); ?></span></legend>
324
<input id="smtp_auth_false" type="radio" name="smtp_auth" value="false" <?php checked('false', get_option('smtp_auth')); ?> />
325
<label for="smtp_auth_false"><span><?php _e('No: Do not use SMTP authentication.', 'wp_mail_smtp'); ?></span></label><br />
326
<input id="smtp_auth_true" type="radio" name="smtp_auth" value="true" <?php checked('true', get_option('smtp_auth')); ?> />
327
<label for="smtp_auth_true"><span><?php _e('Yes: Use SMTP authentication.', 'wp_mail_smtp'); ?></span></label><br />
328
+ <p class="description"><?php _e('If this is set to no, the values below are ignored.', 'wp_mail_smtp'); ?></p>
329
+ </fieldset>
330
</td>
331
</tr>
332
<tr valign="top">
335
</tr>
336
<tr valign="top">
337
<th scope="row"><label for="smtp_pass"><?php _e('Password', 'wp_mail_smtp'); ?></label></th>
338
+ <td>
339
+ <input name="smtp_pass" type="text" id="smtp_pass" value="<?php print(get_option('smtp_pass')); ?>" size="40" class="code" />
340
+ <p class="description"><?php printf(esc_html__('This is in plain text because it must be stored encrypted. For more information, click %1$shere%2$s'), '<a href="">', '</a>'); ?>.</p>
341
+ </td>
342
</tr>
343
</table>
344
345
<p class="submit"><input type="submit" name="submit" id="submit" class="button-primary" value="<?php _e('Save Changes'); ?>" /></p>
346
+ </div><!-- #wpms_section_smtp -->
347
+
348
+ <div id="wpms_section_pepipost" class="wpms_section">
349
+ <h3><?php _e('Pepipost SMTP Options', 'wp_mail_smtp'); ?></h3>
350
+ <p>You need to signup on <a href="https://app1.pepipost.com/index.php/login/wp_mail_smtp?page=signup&utm_source=WordPress&utm_campaign=Plugins&utm_medium=wp_mail_smtp&utm_term=organic&code=WP-MAIL-SMTP" target="_blank">Pepipost</a> to get the SMTP username/password. Refer this <a href="http://support.pepipost.com/knowledge_base/topics/wp-mail-smtp?utm_source=WordPress&utm_campaign=Plugins&utm_medium=wp_mail_smtp&utm_term=organic" target="_blank">doc</a> for more help.</p>
351
+ <table class="optiontable form-table">
352
+ <tr valign="top">
353
+ <th scope="row"><label for="pepipost_user"><?php _e('Username', 'wp_mail_smtp'); ?></label></th>
354
+ <td><input name="pepipost_user" type="text" id="pepipost_user" value="<?php print(get_option('pepipost_user')); ?>" size="40" class="code" /></td>
355
+ </tr>
356
+ <tr valign="top">
357
+ <th scope="row"><label for="pepipost_pass"><?php _e('Password', 'wp_mail_smtp'); ?></label></th>
358
+ <td><input name="pepipost_pass" type="text" id="pepipost_pass" value="<?php print(get_option('pepipost_pass')); ?>" size="40" class="code" /></td>
359
+ </tr>
360
+ <tr valign="top">
361
+ <th scope="row"><label for="pepipost_port"><?php _e('SMTP Port', 'wp_mail_smtp'); ?></label></th>
362
+ <td><input name="pepipost_port" type="text" id="pepipost_port" value="<?php print(get_option('pepipost_port')); ?>" size="6" class="regular-text" /></td>
363
+ </tr>
364
+ <tr valign="top">
365
+ <th scope="row"><?php _e('Encryption', 'wp_mail_smtp'); ?> </th>
366
+ <td>
367
+ <fieldset>
368
+ <legend class="screen-reader-text">
369
+ <span>
370
+ <?php _e('Encryption', 'wp_mail_smtp'); ?>
371
+ </span>
372
+ </legend>
373
+ <input id="pepipost_ssl_none" type="radio" name="pepipost_ssl" value="none" <?php checked('none', get_option('pepipost_ssl')); ?> />
374
+ <label for="pepipost_ssl_none"><span><?php _e('No encryption.', 'wp_mail_smtp'); ?></span></label><br />
375
+ <input id="pepipost_ssl_ssl" type="radio" name="pepipost_ssl" value="ssl" <?php checked('ssl', get_option('pepipost_ssl')); ?> />
376
+ <label for="pepipost_ssl_ssl"><span><?php _e('Use SSL encryption.', 'wp_mail_smtp'); ?></span></label><br />
377
+ <input id="pepipost_ssl_tls" type="radio" name="pepipost_ssl" value="tls" <?php checked('tls', get_option('pepipost_ssl')); ?> />
378
+ <label for="pepipost_ssl_tls"><span><?php _e('Use TLS encryption.', 'wp_mail_smtp'); ?></span></label>
379
+ </td>
380
+ </tr>
381
+ </table>
382
+
383
+ <p class="submit"><input type="submit" name="submit" id="submit" class="button-primary" value="<?php _e('Save Changes'); ?>" /></p>
384
+ </div><!-- #wpms_section_pepipost -->
385
+
386
+
387
<input type="hidden" name="action" value="update" />
388
</p>
389
<input type="hidden" name="option_page" value="email">
395
<?php wp_nonce_field('test-email'); ?>
396
<table class="optiontable form-table">
397
<tr valign="top">
398
+ <th scope="row"><label for="to"><?php _e('To', 'wp_mail_smtp'); ?></label></th>
399
<td><input name="to" type="text" id="to" value="" size="40" class="code" />
400
+ <p class="description"><?php _e('Type an email address here and then click Send Test to generate a test email.', 'wp_mail_smtp'); ?></p>
401
+ </td>
402
</tr>
403
</table>
404
<p class="submit"><input type="submit" name="wpms_action" id="wpms_action" class="button-primary" value="<?php _e('Send Test', 'wp_mail_smtp'); ?>" /></p>
405
</form>
406
407
+ <script type="text/javascript">
408
+ var wpmsOnMailerChange = function(mailer) {
409
+ // Hide all the mailer forms
410
+ jQuery('.wpms_section').hide()
411
+ // Show the target mailer form
412
+ jQuery('#wpms_section_' + mailer).show()
413
+ }
414
+ jQuery(document).ready(function(){
415
+ // Call wpmsOnMailerChange() on startup with the current mailer
416
+ wpmsOnMailerChange(jQuery('input.wpms_mailer:checked').val())
417
+
418
+ // Watch the mailer for any changes
419
+ jQuery('input.wpms_mailer').on('change', function(e) {
420
+ // Call the wpmsOnMailerChange() handler, passing the value of the newly
421
+ // selected mailer
422
+ wpmsOnMailerChange(jQuery(e.target).val())
423
+ })
424
+ })
425
+ </script>
426
+
427
</div>
428
<?php
429
+
430
} // End of wp_mail_smtp_options_page() function definition
431
endif;
432
436
*/
437
if (!function_exists('wp_mail_smtp_menus')) :
438
function wp_mail_smtp_menus() {
439
+
440
if (function_exists('add_submenu_page')) {
441
add_options_page(__('Advanced Email Options', 'wp_mail_smtp'),__('Email', 'wp_mail_smtp'),'manage_options',__FILE__,'wp_mail_smtp_options_page');
442
}
443
+
444
} // End of wp_mail_smtp_menus() function definition
445
endif;
446
450
*/
451
if (!function_exists('wp_mail_smtp_mail_from')) :
452
function wp_mail_smtp_mail_from ($orig) {
453
+
454
// This is copied from pluggable.php lines 348-354 as at revision 10150
455
// http://trac.wordpress.org/browser/branches/2.7/wp-includes/pluggable.php#L348
456
+
457
// Get the site domain and get rid of www.
458
$sitename = strtolower( $_SERVER['SERVER_NAME'] );
459
if ( substr( $sitename, 0, 4 ) == 'www.' ) {
462
463
$default_from = 'wordpress@' . $sitename;
464
// End of copied code
465
+
466
// If the from email is not the default, return it unchanged
467
if ( $orig != $default_from ) {
468
return $orig;
469
}
470
+
471
if (defined('WPMS_ON') && WPMS_ON) {
472
if (defined('WPMS_MAIL_FROM') && WPMS_MAIL_FROM != false)
473
return WPMS_MAIL_FROM;
474
}
475
elseif (is_email(get_option('mail_from'), false))
476
return get_option('mail_from');
477
+
478
// If in doubt, return the original value
479
return $orig;
480
+
481
} // End of wp_mail_smtp_mail_from() function definition
482
endif;
483
487
*/
488
if (!function_exists('wp_mail_smtp_mail_from_name')) :
489
function wp_mail_smtp_mail_from_name ($orig) {
490
+
491
// Only filter if the from name is the default
492
if ($orig == 'WordPress') {
493
if (defined('WPMS_ON') && WPMS_ON) {
497
elseif ( get_option('mail_from_name') != "" && is_string(get_option('mail_from_name')) )
498
return get_option('mail_from_name');
499
}
500
+
501
// If in doubt, return the original value
502
return $orig;
503
+
504
} // End of wp_mail_smtp_mail_from_name() function definition
505
endif;
506