WP Mail SMTP by WPForms - Version 2.3.1

Version Description

  • 2020-08-20 =
  • Added: A WP Mail SMTP admin bar menu if there is an email delivery error or notifications.
  • Added: WordPress 5.5 compatibility.
  • Changed: Improve copy button user experience for Gmail Authorized redirect URI option.
  • Changed: Email delivery error admin notices are now displayed only on plugin pages.
  • Changed: Improve plugin settings UI by hiding certain options if the mailer does not support them.
  • Changed: Pepipost API mailer is no longer available for new installs.
  • Fixed: WP Site Health check for missing DB tables.
  • Fixed: PHP errors caused by Actions Scheduler library used inside the plugin.
  • Fixed: PHP error on plugin settings and WP Site Health pages if the plugin mailer option is empty for some reason.
Download this release

Release Info

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

Code changes from version 2.2.1 to 2.3.1

Files changed (66) hide show
  1. assets/css/admin-bar.min.css +3 -0
  2. assets/css/admin-notifications.min.css +3 -0
  3. assets/css/smtp-admin.min.css +1 -1
  4. assets/images/providers/zoho.svg +1 -0
  5. assets/js/smtp-admin.js +76 -0
  6. assets/js/smtp-admin.min.js +1 -1
  7. assets/js/smtp-notifications.js +185 -0
  8. assets/js/smtp-notifications.min.js +1 -0
  9. assets/languages/wp-mail-smtp.pot +795 -256
  10. readme.txt +30 -24
  11. src/Admin/AdminBarMenu.php +153 -0
  12. src/Admin/Area.php +8 -8
  13. src/Admin/Education.php +102 -0
  14. src/Admin/Notifications.php +491 -0
  15. src/Admin/Pages/About.php +2 -0
  16. src/Admin/Pages/ControlTab.php +1 -1
  17. src/Admin/Pages/LogsTab.php +2 -1
  18. src/Admin/Pages/MiscTab.php +23 -0
  19. src/Admin/Pages/SettingsTab.php +110 -96
  20. src/Admin/PluginsInstallUpgrader.php +11 -6
  21. src/Admin/Review.php +2 -2
  22. src/Core.php +125 -13
  23. src/Options.php +68 -6
  24. src/Processor.php +2 -11
  25. src/Providers/Gmail/Options.php +21 -13
  26. src/Providers/Loader.php +36 -0
  27. src/Providers/OptionsAbstract.php +42 -1
  28. src/Providers/OptionsInterface.php +71 -64
  29. src/Providers/PepipostAPI/Options.php +13 -7
  30. src/Providers/SMTPcom/Options.php +10 -2
  31. src/Providers/Sendgrid/Options.php +104 -96
  32. src/Providers/Sendinblue/Options.php +14 -6
  33. src/Providers/Zoho/Options.php +46 -0
  34. src/SiteHealth.php +28 -8
  35. src/Tasks/Meta.php +3 -1
  36. src/Tasks/Task.php +17 -12
  37. src/Tasks/Tasks.php +8 -2
  38. src/UsageTracking/SendUsageTask.php +105 -0
  39. src/UsageTracking/UsageTracking.php +250 -0
  40. src/WP.php +6 -1
  41. uninstall.php +7 -0
  42. vendor/autoload.php +1 -1
  43. vendor/composer/autoload_psr4.php +1 -0
  44. vendor/composer/autoload_real.php +7 -7
  45. vendor/composer/autoload_static.php +10 -5
  46. vendor/google/apiclient-services/src/Google/Service/Gmail.php +104 -103
  47. vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/Users.php +3 -3
  48. vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersDrafts.php +13 -13
  49. vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersHistory.php +14 -14
  50. vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersLabels.php +7 -8
  51. vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersMessages.php +27 -27
  52. vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersMessagesAttachments.php +1 -1
  53. vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersSettings.php +16 -16
  54. vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersSettingsDelegates.php +7 -7
  55. vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersSettingsForwardingAddresses.php +7 -7
  56. vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersSettingsSendAs.php +18 -23
  57. vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersSettingsSendAsSmimeInfo.php +5 -5
  58. vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersThreads.php +15 -15
  59. vendor/google/auth/src/Credentials/GCECredentials.php +2 -0
  60. vendor/google/auth/src/FetchAuthTokenCache.php +13 -4
  61. vendor/google/auth/src/Middleware/AuthTokenMiddleware.php +5 -1
  62. vendor/google/auth/src/OAuth2.php +4 -0
  63. vendor/monolog/monolog/src/Monolog/Handler/RavenHandler.php +1 -1
  64. vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php +2 -1
  65. vendor/monolog/monolog/src/Monolog/Processor/WebProcessor.php +4 -4
  66. wp_mail_smtp.php +4 -2
assets/css/admin-bar.min.css ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ #wpadminbar .wp-mail-smtp-admin-bar-menu-notification-counter,#wpadminbar .wp-mail-smtp-admin-bar-menu-error{display:inline-block !important;vertical-align:top !important;box-sizing:border-box !important;margin:7px 0 0 2px !important;padding:0 5px !important;min-width:18px !important;height:18px !important;border-radius:9px !important;background-color:#ca4a1f !important;color:#fff !important;font-size:11px !important;line-height:1.6 !important;text-align:center !important}#wpadminbar .wp-mail-smtp-admin-bar-menu-notification-counter span,#wpadminbar .wp-mail-smtp-admin-bar-menu-error span{line-height:1 !important;font-size:11px !important}
2
+
3
+ /*# sourceMappingURL=admin-bar.min.css.map */
assets/css/admin-notifications.min.css ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ #wp-mail-smtp-notifications{position:relative;background:#FFFFFF 0 0 no-repeat padding-box;box-shadow:0 5px 15px #0000000D;border-radius:6px;opacity:1;min-height:48px;padding:15px 102px 15px 72px;margin:0 0 14px 0}#wp-mail-smtp-notifications *{box-sizing:border-box}#wp-mail-smtp-notifications .bell{position:absolute;top:15px;left:15px;width:42px;height:48px}#wp-mail-smtp-notifications .messages .message{display:none}#wp-mail-smtp-notifications .messages .message.current{display:block}#wp-mail-smtp-notifications .messages .message .title{font-weight:bold;font-size:17px;line-height:20px;margin:0;color:#444}#wp-mail-smtp-notifications .messages .message .content{font-weight:normal;font-size:13px;line-height:20px;margin:6px 0 40px 0}#wp-mail-smtp-notifications .messages .message .buttons{margin:-30px 80px 0 0}#wp-mail-smtp-notifications .messages .message .buttons a{margin:0 6px 0 0;padding:8px 10px;line-height:13px;font-size:13px;min-height:unset}#wp-mail-smtp-notifications .messages .message .buttons .button-secondary{border:1px solid #0071A1}#wp-mail-smtp-notifications .dismiss{position:absolute;top:15px;right:15px;width:16px;height:16px;color:#72777C;font-size:16px;cursor:pointer;text-align:center;vertical-align:middle;line-height:16px}#wp-mail-smtp-notifications .dismiss:hover{color:#dc3232}#wp-mail-smtp-notifications .navigation{position:absolute;bottom:15px;right:15px;width:63px;height:30px}#wp-mail-smtp-notifications .navigation a{display:block;width:30px;height:30px;border:1px solid #7E8993;border-radius:3px;font-size:8px;text-align:center;vertical-align:middle;line-height:30px;cursor:pointer;background-color:#ffffff;color:#41454A}#wp-mail-smtp-notifications .navigation a:hover{background-color:#f1f1f1}#wp-mail-smtp-notifications .navigation a .dashicons{margin-top:8px;font-size:12px}#wp-mail-smtp-notifications .navigation .prev{float:left}#wp-mail-smtp-notifications .navigation .next{float:right}#wp-mail-smtp-notifications .navigation .disabled{border-color:#dddddd;color:#A0A5AA;cursor:default}#wp-mail-smtp-notifications .navigation .disabled:hover{background-color:#ffffff}@media screen and (max-width: 768px){#wp-mail-smtp-notifications{padding:15px 15px 15px 72px}#wp-mail-smtp-notifications .messages .message .title{margin:0 30px 0 0}#wp-mail-smtp-notifications .messages .message .content{font-size:16px;line-height:24px}#wp-mail-smtp-notifications .messages .message .buttons{margin:-30px 80px 0 0}#wp-mail-smtp-notifications .messages .message .buttons a{margin:0;display:table}#wp-mail-smtp-notifications .messages .message .buttons .button-secondary{margin-top:6px}}
2
+
3
+ /*# sourceMappingURL=admin-notifications.min.css.map */
assets/css/smtp-admin.min.css CHANGED
@@ -1,3 +1,3 @@
1
- #wpcontent{padding-left:0 !important;position:relative}@media (max-width: 600px){#wpcontent{padding-top:46px}}@media (max-width: 600px){#wpbody{padding-top:0}}body.toplevel_page_wp-mail-smtp div.jconfirm *,body.toplevel_page_wp-mail-smtp div.jconfirm *::before,body.toplevel_page_wp-mail-smtp div.jconfirm *::after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box-container div.jconfirm-box{border-radius:0;box-shadow:0 2px 6px rgba(0,0,0,0.2)}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box-container div.jconfirm-box div.jconfirm-closeIcon{color:rgba(0,0,0,0.4);top:8px;right:8px}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box-container div.jconfirm-box div.jconfirm-closeIcon:hover{color:rgba(0,0,0,0.8)}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box div.jconfirm-title-c{margin:0 0 26px 0 !important;padding:0 !important}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box div.jconfirm-title-c .jconfirm-icon-c{margin:0 !important;color:#c4c4c4 !important;-webkit-transition:none !important;transition:none !important;-webkit-transform:none !important;-ms-transform:none !important;transform:none !important;font-size:45px !important}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box div.jconfirm-title-c .jconfirm-icon-c i:empty{display:none}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box div.jconfirm-title-c .jconfirm-icon-c svg{height:35px}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box div.jconfirm-title-c .jconfirm-title{display:block;color:#444}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box div.jconfirm-title-c .jconfirm-icon-c+span.jconfirm-title{margin-top:20px !important}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box div.jconfirm-content-pane{margin-bottom:0;display:block}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box div.jconfirm-content-pane .jconfirm-content{overflow:inherit}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box div.jconfirm-content{font-size:16px;color:#777;line-height:1.4}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box div.jconfirm-content.lite-upgrade p{font-size:18px;padding:0 20px}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box div.jconfirm-content p{margin:0 0 20px;font-size:16px;line-height:1.5}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box div.jconfirm-content p:last-of-type{margin:0}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box div.jconfirm-content p.large{font-size:18px}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box div.jconfirm-content p.small{font-size:14px}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box div.jconfirm-content .already-purchased{font-size:12px;color:#ccc;text-decoration:none}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box div.jconfirm-content .already-purchased:hover{text-decoration:underline}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box div.jconfirm-buttons .already-purchased{display:block;font-size:12px;color:#aaa;text-decoration:none;padding-top:20px}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box div.jconfirm-buttons .already-purchased:hover{color:#999;text-decoration:underline}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box .discount-note{text-align:center;margin:30px 0 0}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box .discount-note p{background-color:#faffac;margin:0 -30px;padding:24px 60px 20px;font-size:15px;color:#4d4d4d;position:relative}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box .discount-note p:after{content:url(../images/font-awesome/check-circle-solid-green.svg);width:40px;height:40px;background-color:#fff;border-radius:50%;padding:5px 6px;position:absolute;top:-20px;right:50%;margin-right:-18px}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box .discount-note span{font-weight:700;color:#3abc01}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box .discount-note a{color:#aaa;display:block;margin-top:12px}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box input[type=text]{display:block;width:99%;border:1px solid #d6d6d6;padding:10px;box-shadow:none;margin:20px auto 0 auto}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box button.btn-confirm{background-color:#FF982D;color:#fff;outline:none}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box button.btn-confirm:hover{background-color:#f97f00;border-color:#f97f00}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box button,body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box button.btn-default{color:#666}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box button.btn-block{display:block;text-align:center;width:100%;margin:0 0 10px 0 !important}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box button.btn-normal-case{text-transform:none !important}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box .error{display:none;color:red}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box .wpforms-error{border:1px solid #ebccd1 !important}#screen-meta-links,#screen-meta{display:none}#wp-mail-smtp-header-temp{position:absolute;margin:0;top:-1px;left:20px;right:20px;z-index:99}#wp-mail-smtp-header{border-top:3px solid #FF982D;padding:20px}#wp-mail-smtp-header img{display:block;margin:0;max-width:242px}@media (max-width: 782px){#wp-mail-smtp-header img{max-width:200px}}#wp-mail-smtp{margin:0}#wp-mail-smtp .wp-mail-smtp-hide{display:none}#wp-mail-smtp .wp-mail-smtp-page-title{height:58px;background-color:#fff;font-size:14px;margin:0 0 20px 0;padding:0 20px}#wp-mail-smtp .wp-mail-smtp-page-title a.tab{border-bottom:2px solid #fff;box-shadow:none;color:#666;display:inline-block;margin-right:30px;padding:20px 0 18px 0;text-decoration:none}#wp-mail-smtp .wp-mail-smtp-page-title a.tab.active{border-bottom:2px solid #FF982D}#wp-mail-smtp .wp-mail-smtp-page-title a.tab:hover{border-color:#999}#wp-mail-smtp .wp-mail-smtp-page-title a.action{padding:5px;border:0;min-height:auto;color:#fff;margin:-10px 0 0 20px}#wp-mail-smtp .wp-mail-smtp-page-title .page-title{background-color:#fff;display:inline-block;font-size:23px;margin:0;padding:20px 20px 20px 0}#wp-mail-smtp .wp-mail-smtp-page-content{padding:0 20px}#wp-mail-smtp .wp-mail-smtp-page-content *,#wp-mail-smtp .wp-mail-smtp-page-content *::before,#wp-mail-smtp .wp-mail-smtp-page-content *::after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-clear:before{content:" ";display:table}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-clear:after{clear:both;content:" ";display:table}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row{border-bottom:1px solid #e4e4e4;padding:30px 0;font-size:14px;line-height:1.3}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row:first-of-type{padding-top:10px !important}@media (max-width: 781px){#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row{padding:20px 0}}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.inactive{display:none}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row .wp-mail-smtp-setting-mid-row-sep{background:#e4e4e4;height:1px;border:0;margin:15px 0}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.section-heading{padding:20px 0}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.section-heading.no-desc h2,#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.section-heading.no-desc h4{margin:0}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.section-heading .wp-mail-smtp-setting-field{margin:0;max-width:1005px}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-checkbox input[type=checkbox]{float:left;margin:1px 0 0 0}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-checkbox input[type=checkbox]+label{margin:0 0 0 8px;vertical-align:baseline}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-checkbox .desc{margin:0 0 0 30px}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-checkbox input[type=checkbox]+label+.desc{margin:8px 0 0 0}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-text .wp-mail-smtp-setting-label,#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-password .wp-mail-smtp-setting-label,#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-number .wp-mail-smtp-setting-label,#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-email .wp-mail-smtp-setting-label{padding-top:8px}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-select .wp-mail-smtp-setting-label{padding-top:8px}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-radio .wp-mail-smtp-setting-field input[type=radio]{margin:-3px 10px 0 0}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-radio .wp-mail-smtp-setting-field label{margin-right:30px;display:inline-block}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-checkbox-toggle .wp-mail-smtp-setting-field label{vertical-align:middle;display:inline-block}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-checkbox-toggle .wp-mail-smtp-setting-field label:hover .wp-mail-smtp-setting-toggle-switch{background-color:#999}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-checkbox-toggle .wp-mail-smtp-setting-field input[type=checkbox]{display:none}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-checkbox-toggle .wp-mail-smtp-setting-field input[type=checkbox]:checked+.wp-mail-smtp-setting-toggle-switch{background-color:#46B450}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-checkbox-toggle .wp-mail-smtp-setting-field input[type=checkbox]:checked+.wp-mail-smtp-setting-toggle-switch:before{-webkit-transform:translateX(19px);-ms-transform:translateX(19px);transform:translateX(19px)}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-checkbox-toggle .wp-mail-smtp-setting-field input[type=checkbox]:disabled+.wp-mail-smtp-setting-toggle-switch{background-color:#a0daa5;cursor:default}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-checkbox-toggle .wp-mail-smtp-setting-field input[type=checkbox]:checked+.wp-mail-smtp-setting-toggle-switch+.wp-mail-smtp-setting-toggle-checked-label{display:inline-block}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-checkbox-toggle .wp-mail-smtp-setting-field input[type=checkbox]:checked+.wp-mail-smtp-setting-toggle-switch+.wp-mail-smtp-setting-toggle-checked-label+.wp-mail-smtp-setting-toggle-unchecked-label{display:none}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-checkbox-toggle .wp-mail-smtp-setting-field input[type=checkbox]:disabled+.wp-mail-smtp-setting-toggle-switch+.wp-mail-smtp-setting-toggle-checked-label,#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-checkbox-toggle .wp-mail-smtp-setting-field input[type=checkbox]:disabled+.wp-mail-smtp-setting-toggle-switch+.wp-mail-smtp-setting-toggle-unchecked-label{color:#aaa}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-checkbox-toggle .wp-mail-smtp-setting-field .wp-mail-smtp-setting-toggle-unchecked-label,#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-checkbox-toggle .wp-mail-smtp-setting-field .wp-mail-smtp-setting-toggle-checked-label{text-transform:uppercase;font-weight:400;color:#777;font-size:13px}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-checkbox-toggle .wp-mail-smtp-setting-field .wp-mail-smtp-setting-toggle-checked-label{display:none}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-checkbox-toggle .wp-mail-smtp-setting-field .wp-mail-smtp-setting-toggle-switch{position:relative;cursor:pointer;background-color:#ccc;border-radius:15px;-webkit-transition:all 0.2s ease-in-out;-moz-transition:all 0.2s ease-in-out;-ms-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;vertical-align:middle;position:relative;display:inline-block;margin:0 5px 0 0;width:40px;height:20px}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-checkbox-toggle .wp-mail-smtp-setting-field .wp-mail-smtp-setting-toggle-switch:before{position:absolute;content:"";height:14px;width:14px;left:3px;top:3px;background-color:#fff;border-radius:50%;-webkit-transition:all 0.2s ease-in-out;-moz-transition:all 0.2s ease-in-out;-ms-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-mailer{padding-bottom:20px}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-mailer .wp-mail-smtp-mailers .wp-mail-smtp-mailer{display:inline-block;width:140px;margin-right:12px;margin-bottom:12px;position:relative}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-mailer .wp-mail-smtp-mailers .wp-mail-smtp-mailer .wp-mail-smtp-mailer-image{background:#fff;text-align:center;border:2px solid #E5E5E5;border-radius:4px;cursor:pointer;height:76px;position:relative;margin-bottom:10px;-webkit-transition:all 0.2s ease-in-out;-moz-transition:all 0.2s ease-in-out;-ms-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-mailer .wp-mail-smtp-mailers .wp-mail-smtp-mailer .wp-mail-smtp-mailer-image.is-recommended{background-image:url(../images/recommended.svg);background-repeat:no-repeat;background-size:60%;background-position:top right -2px}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-mailer .wp-mail-smtp-mailers .wp-mail-smtp-mailer .wp-mail-smtp-mailer-image img{max-width:90%;max-height:40px;display:block;position:relative;top:50%;left:50%;transform:translate(-50%, -50%);opacity:0.6;-webkit-transition:all 0.2s ease-in-out;-moz-transition:all 0.2s ease-in-out;-ms-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-mailer .wp-mail-smtp-mailers .wp-mail-smtp-mailer.wp-mail-smtp-mailer-smtp .wp-mail-smtp-mailer-image img{max-height:30px}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-mailer .wp-mail-smtp-mailers .wp-mail-smtp-mailer.active .wp-mail-smtp-mailer-image{border-color:#FF982D}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-mailer .wp-mail-smtp-mailers .wp-mail-smtp-mailer.active .wp-mail-smtp-mailer-image img{opacity:1}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-mailer .wp-mail-smtp-mailers .wp-mail-smtp-mailer:hover .wp-mail-smtp-mailer-image{border-color:#ccc}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-mailer .wp-mail-smtp-mailers .wp-mail-smtp-mailer:hover .wp-mail-smtp-mailer-image img{opacity:1}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row h2,#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row h4{color:#444;font-size:20px;font-weight:700;margin:0 0 6px 0}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row h2{margin-bottom:15px}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row h3{color:#444;font-size:24px;font-weight:600;margin:0 0 20px 0}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row p{margin:12px 0 0;font-size:14px;line-height:1.5em}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row p:first-of-type{margin:8px 0 0}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row p.desc{font-style:italic;color:#777}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row p.buttonned{margin-top:30px}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row p.inline-notice{margin:5px 0 15px;box-sizing:border-box;background:#fff;border-left:4px solid transparent;box-shadow:0 1px 1px 0 rgba(0,0,0,0.1)}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row p.inline-notice.inline-error{border-color:#dc3232;margin-bottom:5px;padding:10px}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row p.inline-notice.inline-edu-notice{border-color:#809EB0;line-height:1.5em;padding:10px}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row p.inline-notice a.wp-mail-smtp-mailer-notice-dismiss{float:right;color:#999DA1;margin:0 0 10px 10px;text-decoration:none}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row p.inline-notice a.wp-mail-smtp-mailer-notice-dismiss:hover{color:#666a6e}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row ul{margin:8px 0 0}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row ul.list li{margin-left:20px;list-style-type:disc}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row table.actions-list td,#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row table.actions-list th{padding:5px 5px 5px 0;text-align:left}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row table.actions-list td.email{padding-right:2em}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row table.actions-list td.status{width:100px}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row table.actions-list td.actions a{border-bottom:1px solid;display:inline-block;margin-right:5px;text-decoration:none}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row table.actions-list td.actions a[class*=delete]{color:#a00}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row table.actions-list td.actions a[class*=delete]:hover,#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row table.actions-list td.actions a[class*=delete]:active,#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row table.actions-list td.actions a[class*=delete]:focus{color:#400}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=text],#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=email],#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=number],#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=password]{background-color:#fff;border:1px solid #ddd;border-radius:3px;box-shadow:none;color:#333;display:inline-block;vertical-align:middle;padding:7px 12px;margin:0 10px 0 0;width:400px;min-height:35px;line-height:1.3}@media (max-width: 959px){#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=text],#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=email],#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=number],#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=password]{width:300px}}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=text][readonly],#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=email][readonly],#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=number][readonly],#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=password][readonly]{background-color:#f9f9f9}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=text].small-text,#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=email].small-text,#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=number].small-text,#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=password].small-text{width:75px}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=text]:focus,#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=email]:focus,#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=number]:focus,#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=password]:focus{border-color:#bbb}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=text]:disabled,#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=email]:disabled,#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=number]:disabled,#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=password]:disabled{opacity:0.6}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-label{display:block;float:left;width:205px;padding:0 20px 0 0}@media (max-width: 781px){#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-label{float:none;width:100%;padding-bottom:15px}}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-label label{display:block;font-weight:600}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-field{display:block;margin:0 0 0 205px;max-width:800px}@media (max-width: 781px){#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-field{margin:0}}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-submit{margin:0;padding:25px 0}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-submit .help-text{margin-left:10px;vertical-align:middle}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-mailer-options .wp-mail-smtp-mailer-option .wp-mail-smtp-setting-row.section-heading{padding:20px 0 !important}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-mailer-options .wp-mail-smtp-mailer-option blockquote{background:#E5E5E5;border-radius:4px;color:#666;font-size:14px;margin:20px 0;padding:15px;width:1005px}#wp-mail-smtp .wp-mail-smtp-page-content.wp-mail-smtp-page-general p{margin:0}#wp-mail-smtp .wp-mail-smtp-page-content .notice-inline{background:#fff;border-left:4px solid #fff;box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);margin:5px 0 15px;padding:1px 12px}#wp-mail-smtp .wp-mail-smtp-page-content .notice-inline.notice-success{border-left-color:#46b450}#wp-mail-smtp .wp-mail-smtp-page-content .notice-inline.notice-warning{border-left-color:#ffb900}#wp-mail-smtp .wp-mail-smtp-page-content .notice-inline.notice-error{border-left-color:#dc3232}#wp-mail-smtp .wp-mail-smtp-page-content .notice-inline.notice-info{border-left-color:#00a0d2}#wp-mail-smtp .wp-mail-smtp-page-content .notice p,#wp-mail-smtp .wp-mail-smtp-page-content .notice-inline p{margin:0.5em 0;padding:2px}#wp-mail-smtp .wp-mail-smtp-page-content pre{white-space:pre-line}#wp-mail-smtp .wp-mail-smtp-page-content.active{display:block}#wp-mail-smtp .wp-mail-smtp-page-content .connected-as{margin-left:30px}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-debug{background-color:#fff;padding:25px 20px 1px 25px}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-debug h2{color:#444;margin:1.4em 0 0.8em;font-size:16px;font-weight:700}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-debug p{font-size:14px;color:#555;margin-bottom:1.1em}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-debug ul,#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-debug ol{font-size:14px;color:#555;margin:0 0 1.1em 1.8em}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-debug ul li,#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-debug ol li{margin:0 0 8px 0;line-height:1.5}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-debug ul li:last-of-type,#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-debug ol li:last-of-type{margin:0}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-debug ul li ul,#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-debug ol li ul{list-style-type:disc}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-debug a{color:#FF982D}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-debug a:hover{color:#f97f00}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-debug .dashicons-star-filled{color:#FF982D;width:16px;height:16px;font-size:16px;vertical-align:text-top}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-debug .price-off{color:green;font-weight:bold}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-debug .error-log-toggle{text-decoration:none;color:#444}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-debug .error-log-toggle:hover{color:#FF982D}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-debug .error-log-toggle .dashicons{font-size:15px;height:15px;width:15px;padding-top:3px;border:0;outline:0}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-debug .error-log{border-left:3px solid #ffb900;padding:0 0 0 20px;margin:0 0 10px 0;font-size:12px;display:none}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-debug .error-log pre{margin:0}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-debug .error-log-note{display:none}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-pro-banner{background-color:#fff;padding:25px 20px;border:1px solid #dadada;margin:10px 0 0 0;position:relative}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-pro-banner .wp-mail-smtp-pro-banner-dismiss{position:absolute;right:10px;top:10px}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-pro-banner .wp-mail-smtp-pro-banner-dismiss button{background:none;border:none;color:#a9a9a9;cursor:pointer;margin:0;padding:0}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-pro-banner h2{color:#444;margin-top:0;font-size:16px;font-weight:700}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-pro-banner p{font-size:14px;color:#555;margin-bottom:1.1em}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-pro-banner p:last-of-type{margin:0}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-pro-banner .benefits{margin:0 0 16px 0;overflow:auto;max-width:1000px}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-pro-banner .benefits ul{margin:0;padding:0;width:50%;float:left}@media (max-width: 600px){#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-pro-banner .benefits ul{width:100%;float:none}}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-pro-banner .benefits ul li{margin:0;padding:0 0 2px 16px;color:#555;font-size:14px;position:relative}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-pro-banner .benefits ul li:before{content:'+';position:absolute;top:-1px;left:0}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-pro-banner .benefits ul li.arrow-right:before{content:'→'}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-pro-banner a{color:#FF982D}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-pro-banner a:hover,#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-pro-banner a:active,#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-pro-banner a:focus{color:#f97f00}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-pro-banner .stars{text-decoration:none}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-pro-banner .stars .dashicons{width:16px;height:16px;font-size:16px;vertical-align:text-top}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-pro-banner .price-off{color:green;font-weight:bold}#wp-mail-smtp .wp-mail-smtp-admin-columns>div[class*="-column-"]{float:left}#wp-mail-smtp .wp-mail-smtp-admin-columns .wp-mail-smtp-admin-column-20{width:20%}#wp-mail-smtp .wp-mail-smtp-admin-columns .wp-mail-smtp-admin-column-33{width:33.33333%}#wp-mail-smtp .wp-mail-smtp-admin-columns .wp-mail-smtp-admin-column-40{width:40%}#wp-mail-smtp .wp-mail-smtp-admin-columns .wp-mail-smtp-admin-column-50{width:50%}#wp-mail-smtp .wp-mail-smtp-admin-columns .wp-mail-smtp-admin-column-60{width:60%}#wp-mail-smtp .wp-mail-smtp-admin-columns .wp-mail-smtp-admin-column-80{width:80%}#wp-mail-smtp .wp-mail-smtp-admin-columns .wp-mail-smtp-admin-column-last{float:right !important}#wp-mail-smtp .wp-mail-smtp-admin-columns:after{content:"";display:table;clear:both}#wp-mail-smtp .wp-mail-smtp-page-upsell{display:flex;align-items:center;justify-content:center;height:auto;flex-direction:column}#wp-mail-smtp .wp-mail-smtp-page-upsell>*{width:800px}#wp-mail-smtp .wp-mail-smtp-page-upsell *,#wp-mail-smtp .wp-mail-smtp-page-upsell *::before,#wp-mail-smtp .wp-mail-smtp-page-upsell *::after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wp-mail-smtp .wp-mail-smtp-page-upsell h2{font-size:24px;color:#444444;text-align:center}#wp-mail-smtp .wp-mail-smtp-page-upsell h3{font-size:16px;font-weight:normal;color:#72777C;line-height:1.5em;margin-top:0;margin-bottom:6px;text-align:center}#wp-mail-smtp .wp-mail-smtp-page-upsell .wp-mail-smtp-page-upsell-content .wp-mail-smtp-page-upsell-features{margin-bottom:40px;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-items:stretch;align-content:flex-start}#wp-mail-smtp .wp-mail-smtp-page-upsell .wp-mail-smtp-page-upsell-content .wp-mail-smtp-page-upsell-features .wp-mail-smtp-page-upsell-feature{display:flex;flex-direction:row;width:360px;align-items:flex-start;align-content:flex-start;margin-right:60px;margin-top:40px}#wp-mail-smtp .wp-mail-smtp-page-upsell .wp-mail-smtp-page-upsell-content .wp-mail-smtp-page-upsell-features .wp-mail-smtp-page-upsell-feature:nth-of-type(1){margin-top:20px}#wp-mail-smtp .wp-mail-smtp-page-upsell .wp-mail-smtp-page-upsell-content .wp-mail-smtp-page-upsell-features .wp-mail-smtp-page-upsell-feature:nth-of-type(2){margin-top:20px}#wp-mail-smtp .wp-mail-smtp-page-upsell .wp-mail-smtp-page-upsell-content .wp-mail-smtp-page-upsell-features .wp-mail-smtp-page-upsell-feature:nth-of-type(even){margin-right:0}#wp-mail-smtp .wp-mail-smtp-page-upsell .wp-mail-smtp-page-upsell-content .wp-mail-smtp-page-upsell-features .wp-mail-smtp-page-upsell-feature .wp-mail-smtp-page-upsell-feature-image{display:flex;align-items:center}#wp-mail-smtp .wp-mail-smtp-page-upsell .wp-mail-smtp-page-upsell-content .wp-mail-smtp-page-upsell-features .wp-mail-smtp-page-upsell-feature .wp-mail-smtp-page-upsell-feature-image svg{height:64px;width:64px}#wp-mail-smtp .wp-mail-smtp-page-upsell .wp-mail-smtp-page-upsell-content .wp-mail-smtp-page-upsell-features .wp-mail-smtp-page-upsell-feature .wp-mail-smtp-page-upsell-feature-image .st0{fill:#C3D0D7}#wp-mail-smtp .wp-mail-smtp-page-upsell .wp-mail-smtp-page-upsell-content .wp-mail-smtp-page-upsell-features .wp-mail-smtp-page-upsell-feature .wp-mail-smtp-page-upsell-feature-image .st1{fill:#809DB0}#wp-mail-smtp .wp-mail-smtp-page-upsell .wp-mail-smtp-page-upsell-content .wp-mail-smtp-page-upsell-features .wp-mail-smtp-page-upsell-feature .wp-mail-smtp-page-upsell-feature-content{margin-left:20px}#wp-mail-smtp .wp-mail-smtp-page-upsell .wp-mail-smtp-page-upsell-content .wp-mail-smtp-page-upsell-features .wp-mail-smtp-page-upsell-feature .wp-mail-smtp-page-upsell-feature-content h4{font-size:15px;margin:0 0 0.5em}#wp-mail-smtp .wp-mail-smtp-page-upsell .wp-mail-smtp-page-upsell-content .wp-mail-smtp-page-upsell-features .wp-mail-smtp-page-upsell-feature .wp-mail-smtp-page-upsell-feature-content p{color:#72777C;margin:0}#wp-mail-smtp .wp-mail-smtp-page-upsell .wp-mail-smtp-page-upsell-images{margin-top:20px;margin-bottom:30px;text-align:center}#wp-mail-smtp .wp-mail-smtp-page-upsell .wp-mail-smtp-page-upsell-images img{width:380px;height:auto;margin-right:30px;border:5px solid #fff;border-radius:5px;box-shadow:0 5px 15px rgba(0,0,0,0.1);float:left}#wp-mail-smtp .wp-mail-smtp-page-upsell .wp-mail-smtp-page-upsell-images img:last-child{margin-right:0}#wp-mail-smtp .wp-mail-smtp-page-upsell .wp-mail-smtp-page-upsell-button{text-align:center}.wp-mail-smtp-btn{border:0;border-radius:3px;cursor:pointer;display:inline-block;margin:0;text-decoration:none;text-align:center;vertical-align:middle;white-space:nowrap;text-shadow:none;box-shadow:none;outline:none}.wp-mail-smtp-btn .dashicons{font-size:16px;width:16px;height:16px}.wp-mail-smtp-btn:disabled{opacity:0.5;cursor:not-allowed}.wp-mail-smtp-btn.wp-mail-smtp-btn-md{font-size:13px;font-weight:600;padding:8px 12px;min-height:35px}.wp-mail-smtp-btn.wp-mail-smtp-btn-lg{font-size:16px;font-weight:600;padding:16px 28px}.wp-mail-smtp-btn.wp-mail-smtp-btn-orange{background-color:#FF982D;border-color:#FF982D;color:#fff}.wp-mail-smtp-btn.wp-mail-smtp-btn-orange:hover,.wp-mail-smtp-btn.wp-mail-smtp-btn-orange:active,.wp-mail-smtp-btn.wp-mail-smtp-btn-orange:focus{background-color:#f97f00;border-color:#f97f00}.wp-mail-smtp-btn.wp-mail-smtp-btn-red{background-color:#DC3232;border-color:#DC3232;color:#fff}.wp-mail-smtp-btn.wp-mail-smtp-btn-red:hover,.wp-mail-smtp-btn.wp-mail-smtp-btn-red:active,.wp-mail-smtp-btn.wp-mail-smtp-btn-red:focus{background-color:darkred;border-color:darkred}.wp-mail-smtp-btn.wp-mail-smtp-btn-grey{background-color:#f5f5f5;border:1px solid #ccc;color:#666}.wp-mail-smtp-btn.wp-mail-smtp-btn-grey:hover,.wp-mail-smtp-btn.wp-mail-smtp-btn-grey:active,.wp-mail-smtp-btn.wp-mail-smtp-btn-grey:focus{background-color:#d7d7d7;border-color:#ccc;color:#444}.wp-mail-smtp-btn.wp-mail-smtp-btn-light-grey{background-color:#f5f5f5;border:1px solid #ccc;color:#666}.wp-mail-smtp-btn.wp-mail-smtp-btn-light-grey:hover,.wp-mail-smtp-btn.wp-mail-smtp-btn-light-grey:active,.wp-mail-smtp-btn.wp-mail-smtp-btn-light-grey:focus{background-color:#eee;color:#444}.wp-mail-smtp-btn.wp-mail-smtp-btn-blueish{background-color:#738e9e;border:1px solid #738e9e;color:#fff}.wp-mail-smtp-btn.wp-mail-smtp-btn-blueish:hover,.wp-mail-smtp-btn.wp-mail-smtp-btn-blueish:active,.wp-mail-smtp-btn.wp-mail-smtp-btn-blueish:focus{background-color:#395360;border-color:#395360;color:#fff}
2
 
3
  /*# sourceMappingURL=smtp-admin.min.css.map */
1
+ #wpcontent{padding-left:0 !important;position:relative}@media (max-width: 600px){#wpcontent{padding-top:46px}}@media (max-width: 600px){#wpbody{padding-top:0}}@-webkit-keyframes wp-mail-smtp-fade-in-stop-out{0%,100%{opacity:0}35%{opacity:1}65%{opacity:1}}@keyframes wp-mail-smtp-fade-in-stop-out{0%,100%{opacity:0}35%{opacity:1}65%{opacity:1}}body.toplevel_page_wp-mail-smtp div.jconfirm *,body.toplevel_page_wp-mail-smtp div.jconfirm *::before,body.toplevel_page_wp-mail-smtp div.jconfirm *::after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box-container div.jconfirm-box{border-radius:0;box-shadow:0 2px 6px rgba(0,0,0,0.2)}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box-container div.jconfirm-box div.jconfirm-closeIcon{color:rgba(0,0,0,0.4);top:8px;right:8px}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box-container div.jconfirm-box div.jconfirm-closeIcon:hover{color:rgba(0,0,0,0.8)}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box div.jconfirm-title-c{margin:0 0 26px 0 !important;padding:0 !important}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box div.jconfirm-title-c .jconfirm-icon-c{margin:0 !important;color:#c4c4c4 !important;-webkit-transition:none !important;transition:none !important;-webkit-transform:none !important;-ms-transform:none !important;transform:none !important;font-size:45px !important}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box div.jconfirm-title-c .jconfirm-icon-c i:empty{display:none}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box div.jconfirm-title-c .jconfirm-icon-c svg{height:35px}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box div.jconfirm-title-c .jconfirm-title{display:block;color:#444}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box div.jconfirm-title-c .jconfirm-icon-c+span.jconfirm-title{margin-top:20px !important}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box div.jconfirm-content-pane{margin-bottom:0;display:block}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box div.jconfirm-content-pane .jconfirm-content{overflow:inherit}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box div.jconfirm-content{font-size:16px;color:#777;line-height:1.4}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box div.jconfirm-content.lite-upgrade p{font-size:18px;padding:0 20px}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box div.jconfirm-content p{margin:0 0 20px;font-size:16px;line-height:1.5}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box div.jconfirm-content p:last-of-type{margin:0}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box div.jconfirm-content p.large{font-size:18px}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box div.jconfirm-content p.small{font-size:14px}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box div.jconfirm-content .already-purchased{font-size:12px;color:#ccc;text-decoration:none}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box div.jconfirm-content .already-purchased:hover{text-decoration:underline}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box div.jconfirm-buttons .already-purchased{display:block;font-size:12px;color:#aaa;text-decoration:none;padding-top:20px}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box div.jconfirm-buttons .already-purchased:hover{color:#999;text-decoration:underline}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box .discount-note{text-align:center;margin:30px 0 0}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box .discount-note p{background-color:#faffac;margin:0 -30px;padding:24px 60px 20px;font-size:15px;color:#4d4d4d;position:relative}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box .discount-note p:after{content:url(../images/font-awesome/check-circle-solid-green.svg);width:40px;height:40px;background-color:#fff;border-radius:50%;padding:5px 6px;position:absolute;top:-20px;right:50%;margin-right:-18px}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box .discount-note span{font-weight:700;color:#3abc01}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box .discount-note a{color:#aaa;display:block;margin-top:12px}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box input[type=text]{display:block;width:99%;border:1px solid #d6d6d6;padding:10px;box-shadow:none;margin:20px auto 0 auto}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box button.btn-confirm{background-color:#FF982D;color:#fff;outline:none}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box button.btn-confirm:hover{background-color:#f97f00;border-color:#f97f00}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box button,body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box button.btn-default{color:#666}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box button.btn-block{display:block;text-align:center;width:100%;margin:0 0 10px 0 !important}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box button.btn-normal-case{text-transform:none !important}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box .error{display:none;color:red}body.toplevel_page_wp-mail-smtp div.jconfirm div.jconfirm-box .wpforms-error{border:1px solid #ebccd1 !important}@media screen and (max-width: 1023px){#wp-mail-smtp-notice-bar{display:none !important}}#wp-mail-smtp-notice-bar{max-height:35px;position:relative;margin-bottom:-3px;transition:all .3s ease-out;overflow:hidden}#wp-mail-smtp-notice-bar.out{max-height:3px}#wp-mail-smtp-notice-bar .wp-amil-smtp-notice-bar-container{background-color:#DDDDDD;border-top:3px solid #FF982D;color:#777777;text-align:center;padding:7px}#wp-mail-smtp-notice-bar a{color:#FF982D}#wp-mail-smtp-notice-bar a:hover{color:#f97f00}#wp-mail-smtp-notice-bar .dismiss{position:absolute;top:0;right:0;border:none;padding:5px;margin-top:4px;background:0 0;color:#72777c;cursor:pointer}#wp-mail-smtp-notice-bar .dismiss:before{background:0 0;color:#72777c;content:"\f335";display:block;font:normal 20px/20px dashicons;speak:none;height:20px;text-align:center;width:20px;-webkit-font-smoothing:antialiased}#screen-meta-links .screen-meta-toggle{position:absolute;right:20px;top:auto}#screen-meta-links,#screen-meta{display:none}#wp-mail-smtp-header-temp{position:absolute;margin:0;top:-1px;left:20px;right:20px;z-index:99}#wp-mail-smtp-header{border-top:3px solid #FF982D;padding:20px}#wp-mail-smtp-header img{display:block;margin:0;max-width:242px}@media (max-width: 782px){#wp-mail-smtp-header img{max-width:200px}}#wp-mail-smtp{margin:0}#wp-mail-smtp .wp-mail-smtp-hide{display:none}#wp-mail-smtp .wp-mail-smtp-page-title{height:58px;background-color:#fff;font-size:14px;margin:0 0 20px 0;padding:0 20px}#wp-mail-smtp .wp-mail-smtp-page-title a.tab{border-bottom:2px solid #fff;box-shadow:none;color:#666;display:inline-block;margin-right:30px;padding:20px 0 18px 0;text-decoration:none}#wp-mail-smtp .wp-mail-smtp-page-title a.tab.active{border-bottom:2px solid #FF982D}#wp-mail-smtp .wp-mail-smtp-page-title a.tab:hover{border-color:#999}#wp-mail-smtp .wp-mail-smtp-page-title a.action{padding:5px;border:0;min-height:auto;color:#fff;margin:-10px 0 0 20px}#wp-mail-smtp .wp-mail-smtp-page-title .page-title{background-color:#fff;display:inline-block;font-size:23px;margin:0;padding:20px 20px 20px 0}#wp-mail-smtp .wp-mail-smtp-page-content{padding:0 20px}#wp-mail-smtp .wp-mail-smtp-page-content *,#wp-mail-smtp .wp-mail-smtp-page-content *::before,#wp-mail-smtp .wp-mail-smtp-page-content *::after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-clear:before{content:" ";display:table}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-clear:after{clear:both;content:" ";display:table}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row{border-bottom:1px solid #e4e4e4;padding:30px 0;font-size:14px;line-height:1.3}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row:first-of-type{padding-top:10px !important}@media (max-width: 781px){#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row{padding:20px 0}}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.inactive{display:none}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row .wp-mail-smtp-setting-mid-row-sep{background:#e4e4e4;height:1px;border:0;margin:15px 0}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.section-heading{padding:20px 0}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.section-heading.no-desc h2,#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.section-heading.no-desc h4{margin:0}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.section-heading .wp-mail-smtp-setting-field{margin:0;max-width:1005px}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-checkbox input[type=checkbox]{float:left;margin:1px 0 0 0}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-checkbox input[type=checkbox]+label{margin:0 0 0 8px;vertical-align:baseline}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-checkbox .desc{margin:0 0 0 30px}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-checkbox input[type=checkbox]+label+.desc{margin:8px 0 0 0}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-text .wp-mail-smtp-setting-label,#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-password .wp-mail-smtp-setting-label,#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-number .wp-mail-smtp-setting-label,#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-email .wp-mail-smtp-setting-label{padding-top:8px}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-select .wp-mail-smtp-setting-label{padding-top:8px}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-radio .wp-mail-smtp-setting-field input[type=radio]{margin:-3px 10px 0 0}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-radio .wp-mail-smtp-setting-field label{margin-right:30px;display:inline-block}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-checkbox-toggle .wp-mail-smtp-setting-field label{vertical-align:middle;display:inline-block}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-checkbox-toggle .wp-mail-smtp-setting-field label:hover .wp-mail-smtp-setting-toggle-switch{background-color:#999}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-checkbox-toggle .wp-mail-smtp-setting-field input[type=checkbox]{display:none}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-checkbox-toggle .wp-mail-smtp-setting-field input[type=checkbox]:checked+.wp-mail-smtp-setting-toggle-switch{background-color:#46B450}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-checkbox-toggle .wp-mail-smtp-setting-field input[type=checkbox]:checked+.wp-mail-smtp-setting-toggle-switch:before{-webkit-transform:translateX(19px);-ms-transform:translateX(19px);transform:translateX(19px)}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-checkbox-toggle .wp-mail-smtp-setting-field input[type=checkbox]:disabled+.wp-mail-smtp-setting-toggle-switch{background-color:#a0daa5;cursor:default}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-checkbox-toggle .wp-mail-smtp-setting-field input[type=checkbox]:checked+.wp-mail-smtp-setting-toggle-switch+.wp-mail-smtp-setting-toggle-checked-label{display:inline-block}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-checkbox-toggle .wp-mail-smtp-setting-field input[type=checkbox]:checked+.wp-mail-smtp-setting-toggle-switch+.wp-mail-smtp-setting-toggle-checked-label+.wp-mail-smtp-setting-toggle-unchecked-label{display:none}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-checkbox-toggle .wp-mail-smtp-setting-field input[type=checkbox]:disabled+.wp-mail-smtp-setting-toggle-switch+.wp-mail-smtp-setting-toggle-checked-label,#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-checkbox-toggle .wp-mail-smtp-setting-field input[type=checkbox]:disabled+.wp-mail-smtp-setting-toggle-switch+.wp-mail-smtp-setting-toggle-unchecked-label{color:#aaa}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-checkbox-toggle .wp-mail-smtp-setting-field .wp-mail-smtp-setting-toggle-unchecked-label,#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-checkbox-toggle .wp-mail-smtp-setting-field .wp-mail-smtp-setting-toggle-checked-label{text-transform:uppercase;font-weight:400;color:#777;font-size:13px}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-checkbox-toggle .wp-mail-smtp-setting-field .wp-mail-smtp-setting-toggle-checked-label{display:none}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-checkbox-toggle .wp-mail-smtp-setting-field .wp-mail-smtp-setting-toggle-switch{position:relative;cursor:pointer;background-color:#ccc;border-radius:15px;-webkit-transition:all 0.2s ease-in-out;-moz-transition:all 0.2s ease-in-out;-ms-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;vertical-align:middle;position:relative;display:inline-block;margin:0 5px 0 0;width:40px;height:20px}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-checkbox-toggle .wp-mail-smtp-setting-field .wp-mail-smtp-setting-toggle-switch:before{position:absolute;content:"";height:14px;width:14px;left:3px;top:3px;background-color:#fff;border-radius:50%;-webkit-transition:all 0.2s ease-in-out;-moz-transition:all 0.2s ease-in-out;-ms-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-mailer{padding-bottom:20px}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-mailer .wp-mail-smtp-mailers .wp-mail-smtp-mailer{display:inline-block;width:140px;margin-right:12px;margin-bottom:12px;position:relative}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-mailer .wp-mail-smtp-mailers .wp-mail-smtp-mailer .wp-mail-smtp-mailer-image{background:#fff;text-align:center;border:2px solid #E5E5E5;border-radius:4px;cursor:pointer;height:76px;position:relative;margin-bottom:10px;-webkit-transition:all 0.2s ease-in-out;-moz-transition:all 0.2s ease-in-out;-ms-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-mailer .wp-mail-smtp-mailers .wp-mail-smtp-mailer .wp-mail-smtp-mailer-image.is-recommended{background-image:url(../images/recommended.svg);background-repeat:no-repeat;background-size:60%;background-position:top right -2px}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-mailer .wp-mail-smtp-mailers .wp-mail-smtp-mailer .wp-mail-smtp-mailer-image img{max-width:90%;max-height:40px;display:block;position:relative;top:50%;left:50%;transform:translate(-50%, -50%);opacity:0.6;-webkit-transition:all 0.2s ease-in-out;-moz-transition:all 0.2s ease-in-out;-ms-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-mailer .wp-mail-smtp-mailers .wp-mail-smtp-mailer.wp-mail-smtp-mailer-smtp .wp-mail-smtp-mailer-image img{max-height:30px}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-mailer .wp-mail-smtp-mailers .wp-mail-smtp-mailer.active .wp-mail-smtp-mailer-image{border-color:#FF982D}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-mailer .wp-mail-smtp-mailers .wp-mail-smtp-mailer.active .wp-mail-smtp-mailer-image img{opacity:1}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-mailer .wp-mail-smtp-mailers .wp-mail-smtp-mailer:hover .wp-mail-smtp-mailer-image{border-color:#ccc}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row.wp-mail-smtp-setting-row-mailer .wp-mail-smtp-mailers .wp-mail-smtp-mailer:hover .wp-mail-smtp-mailer-image img{opacity:1}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row h2,#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row h4{color:#444;font-size:20px;font-weight:700;margin:0 0 6px 0}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row h2{margin-bottom:15px}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row h3{color:#444;font-size:24px;font-weight:600;margin:0 0 20px 0}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row p{margin:12px 0 0;font-size:14px;line-height:1.5em}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row p:first-of-type{margin:8px 0 0}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row p.desc{font-style:italic;color:#777}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row p.buttonned{margin-top:30px}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row p.inline-notice{margin:5px 0 15px;box-sizing:border-box;background:#fff;border-left:4px solid transparent;box-shadow:0 1px 1px 0 rgba(0,0,0,0.1)}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row p.inline-notice.inline-error{border-color:#dc3232;margin-bottom:5px;padding:10px}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row p.inline-notice.inline-edu-notice{border-color:#809EB0;line-height:1.5em;padding:10px}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row p.inline-notice a.wp-mail-smtp-mailer-notice-dismiss{float:right;color:#999DA1;margin:0 0 10px 10px;text-decoration:none}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row p.inline-notice a.wp-mail-smtp-mailer-notice-dismiss:hover{color:#666a6e}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row ul{margin:8px 0 0}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row ul.list li{margin-left:20px;list-style-type:disc}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row table.actions-list td,#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row table.actions-list th{padding:5px 5px 5px 0;text-align:left}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row table.actions-list td.email{padding-right:2em}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row table.actions-list td.status{width:100px}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row table.actions-list td.actions a{border-bottom:1px solid;display:inline-block;margin-right:5px;text-decoration:none}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row table.actions-list td.actions a[class*=delete]{color:#a00}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row table.actions-list td.actions a[class*=delete]:hover,#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row table.actions-list td.actions a[class*=delete]:active,#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row table.actions-list td.actions a[class*=delete]:focus{color:#400}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=text],#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=email],#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=number],#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=password]{background-color:#fff;border:1px solid #ddd;border-radius:3px;box-shadow:none;color:#333;display:inline-block;vertical-align:middle;padding:7px 12px;margin:0 10px 0 0;width:400px;min-height:35px;line-height:1.3}@media (max-width: 959px){#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=text],#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=email],#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=number],#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=password]{width:300px}}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=text][readonly],#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=email][readonly],#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=number][readonly],#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=password][readonly]{background-color:#f9f9f9}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=text].small-text,#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=email].small-text,#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=number].small-text,#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=password].small-text{width:75px}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=text]:focus,#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=email]:focus,#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=number]:focus,#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=password]:focus{border-color:#bbb}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=text]:disabled,#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=email]:disabled,#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=number]:disabled,#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row input[type=password]:disabled{opacity:0.6}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row .dashicons-yes-alt.wp-mail-smtp-animate{-webkit-animation:wp-mail-smtp-fade-in-stop-out 1s linear;animation:wp-mail-smtp-fade-in-stop-out 1s linear}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-row .dashicons-yes-alt.wp-mail-smtp-success{color:#46b450}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-label{display:block;float:left;width:205px;padding:0 20px 0 0}@media (max-width: 781px){#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-label{float:none;width:100%;padding-bottom:15px}}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-label label{display:block;font-weight:600}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-field{display:block;margin:0 0 0 205px;max-width:800px}@media (max-width: 781px){#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-setting-field{margin:0}}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-submit{margin:0;padding:25px 0}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-submit .help-text{margin-left:10px;vertical-align:middle}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-mailer-options .wp-mail-smtp-mailer-option .wp-mail-smtp-setting-row.section-heading{padding:20px 0 !important}#wp-mail-smtp .wp-mail-smtp-page-content .wp-mail-smtp-mailer-options .wp-mail-smtp-mailer-option blockquote{background:#E5E5E5;border-radius:4px;color:#666;font-size:14px;margin:20px 0;padding:15px;width:1005px}#wp-mail-smtp .wp-mail-smtp-page-content.wp-mail-smtp-page-general p{margin:0}#wp-mail-smtp .wp-mail-smtp-page-content .notice-inline{background:#fff;border-left:4px solid #fff;box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);margin:5px 0 15px;padding:1px 12px}#wp-mail-smtp .wp-mail-smtp-page-content .notice-inline.notice-success{border-left-color:#46b450}#wp-mail-smtp .wp-mail-smtp-page-content .notice-inline.notice-warning{border-left-color:#ffb900}#wp-mail-smtp .wp-mail-smtp-page-content .notice-inline.notice-error{border-left-color:#dc3232}#wp-mail-smtp .wp-mail-smtp-page-content .notice-inline.notice-info{border-left-color:#00a0d2}#wp-mail-smtp .wp-mail-smtp-page-content .notice p,#wp-mail-smtp .wp-mail-smtp-page-content .notice-inline p{margin:0.5em 0;padding:2px}#wp-mail-smtp .wp-mail-smtp-page-content pre{white-space:pre-line}#wp-mail-smtp .wp-mail-smtp-page-content.active{display:block}#wp-mail-smtp .wp-mail-smtp-page-content .connected-as{margin-left:30px}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-debug{background-color:#fff;padding:25px 20px 1px 25px}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-debug h2{color:#444;margin:1.4em 0 0.8em;font-size:16px;font-weight:700}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-debug p{font-size:14px;color:#555;margin-bottom:1.1em}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-debug ul,#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-debug ol{font-size:14px;color:#555;margin:0 0 1.1em 1.8em}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-debug ul li,#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-debug ol li{margin:0 0 8px 0;line-height:1.5}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-debug ul li:last-of-type,#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-debug ol li:last-of-type{margin:0}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-debug ul li ul,#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-debug ol li ul{list-style-type:disc}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-debug a{color:#FF982D}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-debug a:hover{color:#f97f00}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-debug .dashicons-star-filled{color:#FF982D;width:16px;height:16px;font-size:16px;vertical-align:text-top}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-debug .price-off{color:green;font-weight:bold}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-debug .error-log-toggle{text-decoration:none;color:#444}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-debug .error-log-toggle:hover{color:#FF982D}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-debug .error-log-toggle .dashicons{font-size:15px;height:15px;width:15px;padding-top:3px;border:0;outline:0}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-debug .error-log{border-left:3px solid #ffb900;padding:0 0 0 20px;margin:0 0 10px 0;font-size:12px;display:none}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-debug .error-log pre{margin:0}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-debug .error-log-note{display:none}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-pro-banner{background-color:#fff;padding:25px 20px;border:1px solid #dadada;margin:10px 0 0 0;position:relative}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-pro-banner .wp-mail-smtp-pro-banner-dismiss{position:absolute;right:10px;top:10px}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-pro-banner .wp-mail-smtp-pro-banner-dismiss button{background:none;border:none;color:#a9a9a9;cursor:pointer;margin:0;padding:0}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-pro-banner h2{color:#444;margin-top:0;font-size:16px;font-weight:700}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-pro-banner p{font-size:14px;color:#555;margin-bottom:1.1em}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-pro-banner p:last-of-type{margin:0}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-pro-banner .benefits{margin:0 0 16px 0;overflow:auto;max-width:1000px}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-pro-banner .benefits ul{margin:0;padding:0;width:50%;float:left}@media (max-width: 600px){#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-pro-banner .benefits ul{width:100%;float:none}}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-pro-banner .benefits ul li{margin:0;padding:0 0 2px 16px;color:#555;font-size:14px;position:relative}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-pro-banner .benefits ul li:before{content:'+';position:absolute;top:-1px;left:0}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-pro-banner .benefits ul li.arrow-right:before{content:'→'}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-pro-banner a{color:#FF982D}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-pro-banner a:hover,#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-pro-banner a:active,#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-pro-banner a:focus{color:#f97f00}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-pro-banner .stars{text-decoration:none}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-pro-banner .stars .dashicons{width:16px;height:16px;font-size:16px;vertical-align:text-top}#wp-mail-smtp .wp-mail-smtp-page-content #wp-mail-smtp-pro-banner .price-off{color:green;font-weight:bold}#wp-mail-smtp .wp-mail-smtp-admin-columns>div[class*="-column-"]{float:left}#wp-mail-smtp .wp-mail-smtp-admin-columns .wp-mail-smtp-admin-column-20{width:20%}#wp-mail-smtp .wp-mail-smtp-admin-columns .wp-mail-smtp-admin-column-33{width:33.33333%}#wp-mail-smtp .wp-mail-smtp-admin-columns .wp-mail-smtp-admin-column-40{width:40%}#wp-mail-smtp .wp-mail-smtp-admin-columns .wp-mail-smtp-admin-column-50{width:50%}#wp-mail-smtp .wp-mail-smtp-admin-columns .wp-mail-smtp-admin-column-60{width:60%}#wp-mail-smtp .wp-mail-smtp-admin-columns .wp-mail-smtp-admin-column-80{width:80%}#wp-mail-smtp .wp-mail-smtp-admin-columns .wp-mail-smtp-admin-column-last{float:right !important}#wp-mail-smtp .wp-mail-smtp-admin-columns:after{content:"";display:table;clear:both}#wp-mail-smtp .wp-mail-smtp-page-upsell{display:flex;align-items:center;justify-content:center;height:auto;flex-direction:column}#wp-mail-smtp .wp-mail-smtp-page-upsell>*{width:800px}#wp-mail-smtp .wp-mail-smtp-page-upsell *,#wp-mail-smtp .wp-mail-smtp-page-upsell *::before,#wp-mail-smtp .wp-mail-smtp-page-upsell *::after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wp-mail-smtp .wp-mail-smtp-page-upsell h2{font-size:24px;color:#444444;text-align:center}#wp-mail-smtp .wp-mail-smtp-page-upsell h3{font-size:16px;font-weight:normal;color:#72777C;line-height:1.5em;margin-top:0;margin-bottom:6px;text-align:center}#wp-mail-smtp .wp-mail-smtp-page-upsell .wp-mail-smtp-page-upsell-content .wp-mail-smtp-page-upsell-features{margin-bottom:40px;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-items:stretch;align-content:flex-start}#wp-mail-smtp .wp-mail-smtp-page-upsell .wp-mail-smtp-page-upsell-content .wp-mail-smtp-page-upsell-features .wp-mail-smtp-page-upsell-feature{display:flex;flex-direction:row;width:360px;align-items:flex-start;align-content:flex-start;margin-right:60px;margin-top:40px}#wp-mail-smtp .wp-mail-smtp-page-upsell .wp-mail-smtp-page-upsell-content .wp-mail-smtp-page-upsell-features .wp-mail-smtp-page-upsell-feature:nth-of-type(1){margin-top:20px}#wp-mail-smtp .wp-mail-smtp-page-upsell .wp-mail-smtp-page-upsell-content .wp-mail-smtp-page-upsell-features .wp-mail-smtp-page-upsell-feature:nth-of-type(2){margin-top:20px}#wp-mail-smtp .wp-mail-smtp-page-upsell .wp-mail-smtp-page-upsell-content .wp-mail-smtp-page-upsell-features .wp-mail-smtp-page-upsell-feature:nth-of-type(even){margin-right:0}#wp-mail-smtp .wp-mail-smtp-page-upsell .wp-mail-smtp-page-upsell-content .wp-mail-smtp-page-upsell-features .wp-mail-smtp-page-upsell-feature .wp-mail-smtp-page-upsell-feature-image{display:flex;align-items:center}#wp-mail-smtp .wp-mail-smtp-page-upsell .wp-mail-smtp-page-upsell-content .wp-mail-smtp-page-upsell-features .wp-mail-smtp-page-upsell-feature .wp-mail-smtp-page-upsell-feature-image svg{height:64px;width:64px}#wp-mail-smtp .wp-mail-smtp-page-upsell .wp-mail-smtp-page-upsell-content .wp-mail-smtp-page-upsell-features .wp-mail-smtp-page-upsell-feature .wp-mail-smtp-page-upsell-feature-image .st0{fill:#C3D0D7}#wp-mail-smtp .wp-mail-smtp-page-upsell .wp-mail-smtp-page-upsell-content .wp-mail-smtp-page-upsell-features .wp-mail-smtp-page-upsell-feature .wp-mail-smtp-page-upsell-feature-image .st1{fill:#809DB0}#wp-mail-smtp .wp-mail-smtp-page-upsell .wp-mail-smtp-page-upsell-content .wp-mail-smtp-page-upsell-features .wp-mail-smtp-page-upsell-feature .wp-mail-smtp-page-upsell-feature-content{margin-left:20px}#wp-mail-smtp .wp-mail-smtp-page-upsell .wp-mail-smtp-page-upsell-content .wp-mail-smtp-page-upsell-features .wp-mail-smtp-page-upsell-feature .wp-mail-smtp-page-upsell-feature-content h4{font-size:15px;margin:0 0 0.5em}#wp-mail-smtp .wp-mail-smtp-page-upsell .wp-mail-smtp-page-upsell-content .wp-mail-smtp-page-upsell-features .wp-mail-smtp-page-upsell-feature .wp-mail-smtp-page-upsell-feature-content p{color:#72777C;margin:0}#wp-mail-smtp .wp-mail-smtp-page-upsell .wp-mail-smtp-page-upsell-images{margin-top:20px;margin-bottom:30px;text-align:center}#wp-mail-smtp .wp-mail-smtp-page-upsell .wp-mail-smtp-page-upsell-images img{width:380px;height:auto;margin-right:30px;border:5px solid #fff;border-radius:5px;box-shadow:0 5px 15px rgba(0,0,0,0.1);float:left}#wp-mail-smtp .wp-mail-smtp-page-upsell .wp-mail-smtp-page-upsell-images img:last-child{margin-right:0}#wp-mail-smtp .wp-mail-smtp-page-upsell .wp-mail-smtp-page-upsell-button{text-align:center}.wp-mail-smtp-btn{border:0;border-radius:3px;cursor:pointer;display:inline-block;margin:0;text-decoration:none;text-align:center;vertical-align:middle;white-space:nowrap;text-shadow:none;box-shadow:none;outline:none}.wp-mail-smtp-btn .dashicons{font-size:16px;width:16px;height:16px}.wp-mail-smtp-btn:disabled{opacity:0.5;cursor:not-allowed}.wp-mail-smtp-btn.wp-mail-smtp-btn-md{font-size:13px;font-weight:600;padding:8px 12px;min-height:35px}.wp-mail-smtp-btn.wp-mail-smtp-btn-lg{font-size:16px;font-weight:600;padding:16px 28px}.wp-mail-smtp-btn.wp-mail-smtp-btn-orange{background-color:#FF982D;border-color:#FF982D;color:#fff}.wp-mail-smtp-btn.wp-mail-smtp-btn-orange:hover,.wp-mail-smtp-btn.wp-mail-smtp-btn-orange:active,.wp-mail-smtp-btn.wp-mail-smtp-btn-orange:focus{background-color:#f97f00;border-color:#f97f00}.wp-mail-smtp-btn.wp-mail-smtp-btn-red{background-color:#DC3232;border-color:#DC3232;color:#fff}.wp-mail-smtp-btn.wp-mail-smtp-btn-red:hover,.wp-mail-smtp-btn.wp-mail-smtp-btn-red:active,.wp-mail-smtp-btn.wp-mail-smtp-btn-red:focus{background-color:darkred;border-color:darkred}.wp-mail-smtp-btn.wp-mail-smtp-btn-grey{background-color:#f5f5f5;border:1px solid #ccc;color:#666}.wp-mail-smtp-btn.wp-mail-smtp-btn-grey:hover,.wp-mail-smtp-btn.wp-mail-smtp-btn-grey:active,.wp-mail-smtp-btn.wp-mail-smtp-btn-grey:focus{background-color:#d7d7d7;border-color:#ccc;color:#444}.wp-mail-smtp-btn.wp-mail-smtp-btn-light-grey{background-color:#f5f5f5;border:1px solid #ccc;color:#666}.wp-mail-smtp-btn.wp-mail-smtp-btn-light-grey:hover,.wp-mail-smtp-btn.wp-mail-smtp-btn-light-grey:active,.wp-mail-smtp-btn.wp-mail-smtp-btn-light-grey:focus{background-color:#eee;color:#444}.wp-mail-smtp-btn.wp-mail-smtp-btn-blueish{background-color:#738e9e;border:1px solid #738e9e;color:#fff}.wp-mail-smtp-btn.wp-mail-smtp-btn-blueish:hover,.wp-mail-smtp-btn.wp-mail-smtp-btn-blueish:active,.wp-mail-smtp-btn.wp-mail-smtp-btn-blueish:focus{background-color:#395360;border-color:#395360;color:#fff}
2
 
3
  /*# sourceMappingURL=smtp-admin.min.css.map */
assets/images/providers/zoho.svg ADDED
@@ -0,0 +1 @@
 
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 562.3 193.9"><path fill="#dc7e28" d="M562.3 41.4v133.4l-18.1 18.1V62.3z"/><linearGradient id="a" gradientUnits="userSpaceOnUse" x1="421.008" y1="59.066" x2="541.982" y2="192.343"><stop offset=".006" stop-color="#f8c51b"/><stop offset="1" stop-color="#e78f24"/></linearGradient><path fill="url(#a)" d="M422.3 62.3h122v130.6h-122z"/><path fill="#fdd600" d="M441.4 41.5l-19.1 20.8h121.9l18.1-20.9z"/><path fill="#90c7ea" d="M290.3 47.2l120-16.7-10.1 28.8-118.3 16.1z"/><linearGradient id="b" gradientUnits="userSpaceOnUse" x1="286.163" y1="75.325" x2="410.923" y2="175.512"><stop offset=".006" stop-color="#1f8aca"/><stop offset="1" stop-color="#01659e"/></linearGradient><path fill="url(#b)" d="M400.2 59.3l16.7 117-118.3 16.6-16.7-117.5z"/><path fill="#0b98d5" d="M400.2 59.3l16.7 117 9-25.3-15.5-119.8-.1-.7"/><linearGradient id="c" gradientUnits="userSpaceOnUse" x1="218.128" y1="80.759" x2="218.128" y2="190.084"><stop offset="0" stop-color="#269f49"/><stop offset="1" stop-color="#008a54"/></linearGradient><path fill="url(#c)" d="M189 37.2l106.2 48-47.9 108.7L141.1 146z"/><path fill="#95cea0" d="M178 0l11 37.2 106.2 48-8.9-35.6z"/><path fill="#69bf6d" d="M178 0l-42.8 101.4 5.9 44.6L189 37.2z"/><linearGradient id="d" gradientUnits="userSpaceOnUse" x1="59.535" y1="70.064" x2="78.336" y2="183.568"><stop offset="0" stop-color="#d81f32"/><stop offset="1" stop-color="#bb2637"/></linearGradient><path fill="url(#d)" d="M118.7 59.1l17.5 115.2-117.3 18.4L0 77.3z"/><path fill="#761216" d="M126.7 17.2l17.4 116.2-7.9 40.9-17.5-115.2z"/><path d="M525.6 109.3c-2.4-6.1-6-11.5-10.7-16.3-4.5-4.6-9.6-8.1-15.2-10.4-5.6-2.3-11.7-3.5-18.2-3.5-6.6 0-12.7 1.2-18.4 3.5-5.7 2.3-10.7 5.8-15.2 10.4-4.7 4.7-8.3 10.2-10.6 16.2-2.4 6.1-3.5 12.7-3.5 19.8 0 7.1 1.2 13.7 3.6 19.8 2.4 6.1 5.9 11.6 10.6 16.4 4.4 4.5 9.4 8 15 10.3 5.6 2.3 11.8 3.5 18.5 3.5 6.5 0 12.5-1.2 18.2-3.5 5.6-2.3 10.7-5.7 15.3-10.3 4.7-4.8 8.3-10.3 10.7-16.4 2.4-6.1 3.6-12.7 3.6-19.8-.1-7-1.3-13.6-3.7-19.7zm-25.1 43c-4.7 5.6-11 8.4-19.1 8.5-8.2 0-14.5-2.8-19.2-8.4-4.7-5.6-7.1-13.4-7.1-23.3 0-10.1 2.4-18 7-23.6 4.7-5.7 11-8.5 19.2-8.5 8.1 0 14.4 2.8 19.1 8.5 4.7 5.7 7 13.5 7 23.6.2 9.9-2.2 17.6-6.9 23.2zM78.6 125.9zm27.5 30c-.9-1.1-2.2-1.9-3.7-2.5-1.6-.5-3.4-.8-5.7-.8-2.1 0-4.5.2-7.2.7l-31 5.3c.3-2.4 1.5-5.5 3.6-9.3 2.3-4.3 5.8-9.4 10.3-15.4 1.6-2.1 2.8-3.7 3.6-4.8.6-.7 1.4-1.8 2.5-3.2 7.1-9.3 11.5-16.9 13.2-22.8 1-3.4 1.5-6.8 1.8-10.2.1-.9.1-1.9.1-2.8 0-2.4-.2-4.9-.6-7.2-.4-2.2-.9-4-1.6-5.4-.7-1.4-1.6-2.5-2.7-3.2-1.3-.8-3-1.1-5.4-1.1-1.9 0-4.2.2-6.9.7L40.5 80c-4.3.7-7.5 2-9.6 3.9-1.6 1.5-2.5 3.5-2.5 5.8 0 .6.1 1.2.2 1.8.5 3 2.1 5.3 4.6 6.4 1.5.7 3.3 1 5.5 1 1.4 0 3-.2 4.8-.4l30-5.1c.1.5.1 1.1.1 1.6 0 1.9-.3 3.7-1 5.5-.9 2.5-3.1 6-6.7 10.5-1 1.2-2.5 3.1-4.6 5.7-8.1 9.8-13.9 18.1-17.4 25.1-2.5 4.8-4.2 9.5-5.2 14.1-.6 2.7-.8 5.3-.8 7.8 0 1.8.1 3.5.4 5.2.4 2.4 1 4.4 1.8 5.9.8 1.6 1.8 2.7 3.1 3.4 1.2.6 2.9.9 5.2.9 3 0 7-.4 12.1-1.3l32.5-5.6c5.8-1 9.8-2.4 12.1-4.3 1.9-1.5 2.8-3.6 2.8-6.1 0-.6-.1-1.3-.2-1.9-.1-1.5-.7-2.9-1.6-4zm147.3-77.8c-4.2-4.4-9.2-7.9-15.2-10.4-5.9-2.5-11.9-3.8-17.9-3.8h-.3c-6 .1-12 1.5-18 4.1-6.2 2.7-11.6 6.5-16.3 11.4-4.6 4.9-8.4 10.7-11.2 17.5-2.9 6.7-4.4 13.5-4.7 20.2 0 .8-.1 1.5-.1 2.3 0 6 1 11.8 3.1 17.5 2.2 6 5.4 11.2 9.6 15.6 4.2 4.4 9.4 7.9 15.5 10.5 5.9 2.5 11.8 3.7 17.8 3.7h.2c6.1 0 12.1-1.3 18-3.9 6.3-2.8 11.7-6.6 16.4-11.5 4.7-4.9 8.4-10.7 11.3-17.5 2.9-6.8 4.4-13.5 4.7-20.2v-1.9c0-6-1.1-12-3.2-17.7-2.3-6.2-5.5-11.5-9.7-15.9zm-11.6 47.4c-4 9.4-9.3 15.9-15.8 19.5-3.5 1.9-7.1 2.9-10.8 2.9-3.2 0-6.6-.7-10-2.2-7.4-3.2-12.1-8.3-14.1-15.4-.7-2.4-1-4.9-1-7.6 0-5.3 1.3-11.1 4-17.3 4.1-9.6 9.4-16.2 16-19.8 3.5-1.9 7.1-2.9 10.8-2.9 3.3 0 6.6.7 10.1 2.2 7.4 3.1 12 8.2 13.9 15.5.6 2.4 1 4.8 1 7.5 0 5.2-1.4 11.1-4.1 17.6zm138.3-43.8c-.5-3.6-1.8-6.4-3.8-8.2-1.6-1.5-3.6-2.2-5.9-2.2-.6 0-1.2 0-1.8.1-3.1.4-5.4 1.9-6.9 4.2-1 1.7-1.6 3.7-1.6 6.1 0 .9.1 1.9.2 2.8l4.3 30.4-34 5-4.3-30.4c-.5-3.5-1.7-6.3-3.7-8.1-1.6-1.5-3.6-2.3-5.9-2.3-.5 0-1.1 0-1.6.1-3.2.5-5.6 1.9-7.1 4.2-1.1 1.7-1.6 3.7-1.6 6.1 0 .9.1 1.9.2 2.9l11.6 79.2c.5 3.6 1.8 6.4 3.9 8.2 1.6 1.4 3.7 2.1 6 2.1.6 0 1.3-.1 2-.2 2.9-.4 5.2-1.8 6.6-4.2 1-1.7 1.5-3.7 1.5-6 0-.9-.1-1.9-.2-2.9l-4.8-31.3 34-5 4.8 31.3c.5 3.6 1.8 6.3 3.8 8.2 1.6 1.4 3.7 2.2 6 2.2.6 0 1.2 0 1.8-.1 3.1-.4 5.4-1.8 6.8-4.2 1-1.7 1.5-3.7 1.5-6 0-.9-.1-1.9-.2-2.9l-11.6-79.1z" fill="#fff"/><path fill="#ec473f" d="M0 77.3l2.3-11.6 5.9-29.5 118.5-19-8 41.9z"/></svg>
assets/js/smtp-admin.js CHANGED
@@ -165,10 +165,49 @@ WPMailSMTP.Admin.Settings = WPMailSMTP.Admin.Settings || ( function( document, w
165
  target.select();
166
 
167
  document.execCommand( 'Copy' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
168
  } );
169
 
170
  app.triggerExitNotice();
171
  app.beforeSaveChecks();
 
 
 
172
  },
173
 
174
  education: {
@@ -313,6 +352,43 @@ WPMailSMTP.Admin.Settings = WPMailSMTP.Admin.Settings || ( function( document, w
313
  return false;
314
  }
315
  } );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
316
  }
317
  };
318
 
165
  target.select();
166
 
167
  document.execCommand( 'Copy' );
168
+
169
+ var $buttonIcon = $( this ).find( '.dashicons' );
170
+
171
+ $buttonIcon
172
+ .removeClass( 'dashicons-admin-page' )
173
+ .addClass( 'dashicons-yes-alt wp-mail-smtp-success wp-mail-smtp-animate' );
174
+
175
+ setTimeout(
176
+ function() {
177
+ $buttonIcon
178
+ .removeClass( 'dashicons-yes-alt wp-mail-smtp-success wp-mail-smtp-animate' )
179
+ .addClass( 'dashicons-admin-page' );
180
+ },
181
+ 1000
182
+ );
183
+ } );
184
+
185
+ // Notice bar: click on the dissmiss button.
186
+ $( '#wp-mail-smtp-notice-bar' ).on( 'click', '.dismiss', function() {
187
+ var $notice = $( this ).closest( '#wp-mail-smtp-notice-bar' );
188
+
189
+ $notice.addClass( 'out' );
190
+ setTimeout(
191
+ function() {
192
+ $notice.remove();
193
+ },
194
+ 300
195
+ );
196
+
197
+ $.post(
198
+ ajaxurl,
199
+ {
200
+ action: 'wp_mail_smtp_notice_bar_dismiss',
201
+ nonce: wp_mail_smtp.nonce,
202
+ }
203
+ );
204
  } );
205
 
206
  app.triggerExitNotice();
207
  app.beforeSaveChecks();
208
+
209
+ // Register change event to show/hide plugin supported settings for currently selected mailer.
210
+ $( '.js-wp-mail-smtp-setting-mailer-radio-input', app.pageHolder ).on( 'change', this.processMailerSettingsOnChange );
211
  },
212
 
213
  education: {
352
  return false;
353
  }
354
  } );
355
+ },
356
+
357
+ /**
358
+ * On change callback for showing/hiding plugin supported settings for currently selected mailer.
359
+ *
360
+ * @since 2.3.0
361
+ */
362
+ processMailerSettingsOnChange: function() {
363
+
364
+ var mailerSupportedSettings = wp_mail_smtp.all_mailers_supports[ $( this ).val() ];
365
+
366
+ for ( var setting in mailerSupportedSettings ) {
367
+ // eslint-disable-next-line no-prototype-builtins
368
+ if ( mailerSupportedSettings.hasOwnProperty( setting ) ) {
369
+ $( '.js-wp-mail-smtp-setting-' + setting, app.pageHolder ).toggle( mailerSupportedSettings[ setting ] );
370
+ }
371
+ }
372
+
373
+ // Special case: "from email" (group settings).
374
+ var $mainSettingInGroup = $( '.js-wp-mail-smtp-setting-from_email' );
375
+
376
+ $mainSettingInGroup.closest( '.wp-mail-smtp-setting-row' ).toggle(
377
+ mailerSupportedSettings['from_email'] || mailerSupportedSettings['from_email_force']
378
+ );
379
+ $mainSettingInGroup.siblings( '.wp-mail-smtp-setting-mid-row-sep' ).toggle(
380
+ mailerSupportedSettings['from_email'] && mailerSupportedSettings['from_email_force']
381
+ );
382
+
383
+ // Special case: "from name" (group settings).
384
+ $mainSettingInGroup = $( '.js-wp-mail-smtp-setting-from_name' );
385
+
386
+ $mainSettingInGroup.closest( '.wp-mail-smtp-setting-row' ).toggle(
387
+ mailerSupportedSettings['from_name'] || mailerSupportedSettings['from_name_force']
388
+ );
389
+ $mainSettingInGroup.siblings( '.wp-mail-smtp-setting-mid-row-sep' ).toggle(
390
+ mailerSupportedSettings['from_name'] && mailerSupportedSettings['from_name_force']
391
+ );
392
  }
393
  };
394
 
assets/js/smtp-admin.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";var WPMailSMTP=window.WPMailSMTP||{};WPMailSMTP.Admin=WPMailSMTP.Admin||{},WPMailSMTP.Admin.Settings=WPMailSMTP.Admin.Settings||function(e,i,a){var n={pluginSettingsChanged:!1,init:function(){a(e).ready(n.ready)},ready:function(){n.pageHolder=a(".wp-mail-smtp-tab-settings"),a("#screen-meta-links, #screen-meta").prependTo("#wp-mail-smtp-header-temp").show(),n.bindActions()},bindActions:function(){a(".wp-mail-smtp-mailer-image",n.pageHolder).click(function(){a(this).parents(".wp-mail-smtp-mailer").find("input").trigger("click")}),a(".wp-mail-smtp-mailer input",n.pageHolder).click(function(){var t=a(this);if(t.prop("disabled"))return t.hasClass("educate")&&n.education.upgradeMailer(t),!1;a(".wp-mail-smtp-mailer",n.pageHolder).removeClass("active"),a(this).parents(".wp-mail-smtp-mailer").addClass("active"),a(".wp-mail-smtp-mailer-option",n.pageHolder).addClass("hidden").removeClass("active"),a(".wp-mail-smtp-mailer-option-"+a(this).val(),n.pageHolder).addClass("active").removeClass("hidden")}),n.mailers.smtp.bindActions(),a("#wp-mail-smtp-pro-banner-dismiss",n.pageHolder).on("click",function(){a.ajax({url:ajaxurl,dataType:"json",type:"POST",data:{action:"wp_mail_smtp_ajax",task:"pro_banner_dismiss"}}).always(function(){a("#wp-mail-smtp-pro-banner",n.pageHolder).fadeOut("fast")})}),a(".js-wp-mail-smtp-mailer-notice-dismiss",n.pageHolder).on("click",function(t){t.preventDefault();var e=a(this),i=e.parents(".inline-notice");if(e.hasClass("disabled"))return!1;a.ajax({url:ajaxurl,dataType:"json",type:"POST",data:{action:"wp_mail_smtp_ajax",task:"notice_dismiss",notice:i.data("notice"),mailer:i.data("mailer")},beforeSend:function(){e.addClass("disabled")}}).always(function(){i.fadeOut("fast",function(){e.removeClass("disabled")})})}),a("#wp-mail-smtp-debug .error-log-toggle").on("click",function(t){t.preventDefault(),a("#wp-mail-smtp-debug .error-log-toggle").find(".dashicons").toggleClass("dashicons-arrow-right-alt2 dashicons-arrow-down-alt2"),a("#wp-mail-smtp-debug .error-log").slideToggle(),a("#wp-mail-smtp-debug .error-log-note").toggle()}),a(".js-wp-mail-smtp-provider-remove",n.pageHolder).on("click",function(){return confirm(wp_mail_smtp.text_provider_remove)}),a(".wp-mail-smtp-setting-copy",n.pageHolder).click(function(t){t.preventDefault(),a("#"+a(this).data("source_id")).get(0).select(),e.execCommand("Copy")}),n.triggerExitNotice(),n.beforeSaveChecks()},education:{upgradeMailer:function(t){a.alert({backgroundDismiss:!0,escapeKey:!0,animationBounce:1,theme:"modern",type:"blue",animateFromElement:!1,draggable:!1,closeIcon:!0,useBootstrap:!1,title:wp_mail_smtp.education.upgrade_title.replace(/%name%/g,t.siblings("label").text().trim()),icon:'"></i>'+wp_mail_smtp.education.upgrade_icon_lock+'<i class="',content:a(".wp-mail-smtp-mailer-options .wp-mail-smtp-mailer-option-"+t.val()+" .wp-mail-smtp-setting-field").html(),boxWidth:"550px",onOpenBefore:function(){this.$btnc.after('<div class="discount-note">'+wp_mail_smtp.education.upgrade_bonus+wp_mail_smtp.education.upgrade_doc+"</div>")},buttons:{confirm:{text:wp_mail_smtp.education.upgrade_button,btnClass:"btn-confirm",keys:["enter"],action:function(){i.open(wp_mail_smtp.education.upgrade_url+"&utm_content="+encodeURI(t.val()),"_blank")}}}})}},mailers:{smtp:{bindActions:function(){a("#wp-mail-smtp-setting-smtp-auth").change(function(){a("#wp-mail-smtp-setting-row-smtp-user, #wp-mail-smtp-setting-row-smtp-pass").toggleClass("inactive")}),a("#wp-mail-smtp-setting-row-smtp-encryption input").change(function(){var t=a(this),e=a("#wp-mail-smtp-setting-smtp-port",n.pageHolder);"tls"===t.val()?(e.val("587"),a("#wp-mail-smtp-setting-row-smtp-autotls").addClass("inactive")):("ssl"===t.val()?e.val("465"):e.val("25"),a("#wp-mail-smtp-setting-row-smtp-autotls").removeClass("inactive"))})}}},triggerExitNotice:function(){var t=a(".wp-mail-smtp-page-general:not( .wp-mail-smtp-tab-test )");a(i).on("beforeunload",function(){if(n.pluginSettingsChanged)return wp_mail_smtp.text_settings_not_saved}),a(":input:not( #wp-mail-smtp-setting-license-key )",t).on("change",function(){n.pluginSettingsChanged=!0}),a("form",t).on("submit",function(){n.pluginSettingsChanged=!1})},beforeSaveChecks:function(){a("form",n.pageHolder).on("submit",function(){if("mail"===a(".wp-mail-smtp-mailer input:checked",n.pageHolder).val()){var t=a(this);return a.alert({backgroundDismiss:!1,escapeKey:!1,animationBounce:1,theme:"modern",type:"orange",animateFromElement:!1,draggable:!1,closeIcon:!1,useBootstrap:!1,icon:'"></i><img src="'+wp_mail_smtp.plugin_url+'/assets/images/font-awesome/exclamation-circle-solid-orange.svg" style="width: 40px; height: 40px;" alt="'+wp_mail_smtp.default_mailer_notice.icon_alt+'"><i class="',title:wp_mail_smtp.default_mailer_notice.title,content:wp_mail_smtp.default_mailer_notice.content,boxWidth:"550px",buttons:{confirm:{text:wp_mail_smtp.default_mailer_notice.save_button,btnClass:"btn-confirm",keys:["enter"],action:function(){t.off("submit").submit()}},cancel:{text:wp_mail_smtp.default_mailer_notice.cancel_button}}}),!1}})}};return n}(document,window,jQuery),WPMailSMTP.Admin.Settings.init();
1
+ "use strict";var WPMailSMTP=window.WPMailSMTP||{};WPMailSMTP.Admin=WPMailSMTP.Admin||{},WPMailSMTP.Admin.Settings=WPMailSMTP.Admin.Settings||function(i,e,a){var s={pluginSettingsChanged:!1,init:function(){a(i).ready(s.ready)},ready:function(){s.pageHolder=a(".wp-mail-smtp-tab-settings"),a("#screen-meta-links, #screen-meta").prependTo("#wp-mail-smtp-header-temp").show(),s.bindActions()},bindActions:function(){a(".wp-mail-smtp-mailer-image",s.pageHolder).click(function(){a(this).parents(".wp-mail-smtp-mailer").find("input").trigger("click")}),a(".wp-mail-smtp-mailer input",s.pageHolder).click(function(){var t=a(this);if(t.prop("disabled"))return t.hasClass("educate")&&s.education.upgradeMailer(t),!1;a(".wp-mail-smtp-mailer",s.pageHolder).removeClass("active"),a(this).parents(".wp-mail-smtp-mailer").addClass("active"),a(".wp-mail-smtp-mailer-option",s.pageHolder).addClass("hidden").removeClass("active"),a(".wp-mail-smtp-mailer-option-"+a(this).val(),s.pageHolder).addClass("active").removeClass("hidden")}),s.mailers.smtp.bindActions(),a("#wp-mail-smtp-pro-banner-dismiss",s.pageHolder).on("click",function(){a.ajax({url:ajaxurl,dataType:"json",type:"POST",data:{action:"wp_mail_smtp_ajax",task:"pro_banner_dismiss"}}).always(function(){a("#wp-mail-smtp-pro-banner",s.pageHolder).fadeOut("fast")})}),a(".js-wp-mail-smtp-mailer-notice-dismiss",s.pageHolder).on("click",function(t){t.preventDefault();var e=a(this),i=e.parents(".inline-notice");if(e.hasClass("disabled"))return!1;a.ajax({url:ajaxurl,dataType:"json",type:"POST",data:{action:"wp_mail_smtp_ajax",task:"notice_dismiss",notice:i.data("notice"),mailer:i.data("mailer")},beforeSend:function(){e.addClass("disabled")}}).always(function(){i.fadeOut("fast",function(){e.removeClass("disabled")})})}),a("#wp-mail-smtp-debug .error-log-toggle").on("click",function(t){t.preventDefault(),a("#wp-mail-smtp-debug .error-log-toggle").find(".dashicons").toggleClass("dashicons-arrow-right-alt2 dashicons-arrow-down-alt2"),a("#wp-mail-smtp-debug .error-log").slideToggle(),a("#wp-mail-smtp-debug .error-log-note").toggle()}),a(".js-wp-mail-smtp-provider-remove",s.pageHolder).on("click",function(){return confirm(wp_mail_smtp.text_provider_remove)}),a(".wp-mail-smtp-setting-copy",s.pageHolder).click(function(t){t.preventDefault(),a("#"+a(this).data("source_id")).get(0).select(),i.execCommand("Copy");var e=a(this).find(".dashicons");e.removeClass("dashicons-admin-page").addClass("dashicons-yes-alt wp-mail-smtp-success wp-mail-smtp-animate"),setTimeout(function(){e.removeClass("dashicons-yes-alt wp-mail-smtp-success wp-mail-smtp-animate").addClass("dashicons-admin-page")},1e3)}),a("#wp-mail-smtp-notice-bar").on("click",".dismiss",function(){var t=a(this).closest("#wp-mail-smtp-notice-bar");t.addClass("out"),setTimeout(function(){t.remove()},300),a.post(ajaxurl,{action:"wp_mail_smtp_notice_bar_dismiss",nonce:wp_mail_smtp.nonce})}),s.triggerExitNotice(),s.beforeSaveChecks(),a(".js-wp-mail-smtp-setting-mailer-radio-input",s.pageHolder).on("change",this.processMailerSettingsOnChange)},education:{upgradeMailer:function(t){a.alert({backgroundDismiss:!0,escapeKey:!0,animationBounce:1,theme:"modern",type:"blue",animateFromElement:!1,draggable:!1,closeIcon:!0,useBootstrap:!1,title:wp_mail_smtp.education.upgrade_title.replace(/%name%/g,t.siblings("label").text().trim()),icon:'"></i>'+wp_mail_smtp.education.upgrade_icon_lock+'<i class="',content:a(".wp-mail-smtp-mailer-options .wp-mail-smtp-mailer-option-"+t.val()+" .wp-mail-smtp-setting-field").html(),boxWidth:"550px",onOpenBefore:function(){this.$btnc.after('<div class="discount-note">'+wp_mail_smtp.education.upgrade_bonus+wp_mail_smtp.education.upgrade_doc+"</div>")},buttons:{confirm:{text:wp_mail_smtp.education.upgrade_button,btnClass:"btn-confirm",keys:["enter"],action:function(){e.open(wp_mail_smtp.education.upgrade_url+"&utm_content="+encodeURI(t.val()),"_blank")}}}})}},mailers:{smtp:{bindActions:function(){a("#wp-mail-smtp-setting-smtp-auth").change(function(){a("#wp-mail-smtp-setting-row-smtp-user, #wp-mail-smtp-setting-row-smtp-pass").toggleClass("inactive")}),a("#wp-mail-smtp-setting-row-smtp-encryption input").change(function(){var t=a(this),e=a("#wp-mail-smtp-setting-smtp-port",s.pageHolder);"tls"===t.val()?(e.val("587"),a("#wp-mail-smtp-setting-row-smtp-autotls").addClass("inactive")):("ssl"===t.val()?e.val("465"):e.val("25"),a("#wp-mail-smtp-setting-row-smtp-autotls").removeClass("inactive"))})}}},triggerExitNotice:function(){var t=a(".wp-mail-smtp-page-general:not( .wp-mail-smtp-tab-test )");a(e).on("beforeunload",function(){if(s.pluginSettingsChanged)return wp_mail_smtp.text_settings_not_saved}),a(":input:not( #wp-mail-smtp-setting-license-key )",t).on("change",function(){s.pluginSettingsChanged=!0}),a("form",t).on("submit",function(){s.pluginSettingsChanged=!1})},beforeSaveChecks:function(){a("form",s.pageHolder).on("submit",function(){if("mail"===a(".wp-mail-smtp-mailer input:checked",s.pageHolder).val()){var t=a(this);return a.alert({backgroundDismiss:!1,escapeKey:!1,animationBounce:1,theme:"modern",type:"orange",animateFromElement:!1,draggable:!1,closeIcon:!1,useBootstrap:!1,icon:'"></i><img src="'+wp_mail_smtp.plugin_url+'/assets/images/font-awesome/exclamation-circle-solid-orange.svg" style="width: 40px; height: 40px;" alt="'+wp_mail_smtp.default_mailer_notice.icon_alt+'"><i class="',title:wp_mail_smtp.default_mailer_notice.title,content:wp_mail_smtp.default_mailer_notice.content,boxWidth:"550px",buttons:{confirm:{text:wp_mail_smtp.default_mailer_notice.save_button,btnClass:"btn-confirm",keys:["enter"],action:function(){t.off("submit").submit()}},cancel:{text:wp_mail_smtp.default_mailer_notice.cancel_button}}}),!1}})},processMailerSettingsOnChange:function(){var t=wp_mail_smtp.all_mailers_supports[a(this).val()];for(var e in t)t.hasOwnProperty(e)&&a(".js-wp-mail-smtp-setting-"+e,s.pageHolder).toggle(t[e]);var i=a(".js-wp-mail-smtp-setting-from_email");i.closest(".wp-mail-smtp-setting-row").toggle(t.from_email||t.from_email_force),i.siblings(".wp-mail-smtp-setting-mid-row-sep").toggle(t.from_email&&t.from_email_force),(i=a(".js-wp-mail-smtp-setting-from_name")).closest(".wp-mail-smtp-setting-row").toggle(t.from_name||t.from_name_force),i.siblings(".wp-mail-smtp-setting-mid-row-sep").toggle(t.from_name&&t.from_name_force)}};return s}(document,window,jQuery),WPMailSMTP.Admin.Settings.init();
assets/js/smtp-notifications.js ADDED
@@ -0,0 +1,185 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* global wp_mail_smtp, ajaxurl */
2
+
3
+ /**
4
+ * WP Mail SMTP Admin Notifications.
5
+ *
6
+ * @since 2.3.0
7
+ */
8
+
9
+ 'use strict';
10
+
11
+ var WPMailSMTPAdminNotifications = window.WPMailSMTPAdminNotifications || ( function( document, window, $ ) {
12
+
13
+ /**
14
+ * Elements holder.
15
+ *
16
+ * @since 2.3.0
17
+ *
18
+ * @type {object}
19
+ */
20
+ var el = {
21
+ $notifications: $( '#wp-mail-smtp-notifications' ),
22
+ $nextButton: $( '#wp-mail-smtp-notifications .navigation .next' ),
23
+ $prevButton: $( '#wp-mail-smtp-notifications .navigation .prev' ),
24
+ $adminBarCounter: $( '#wp-admin-bar-wp-mail-smtp-menu .wp-mail-smtp-admin-bar-menu-notification-counter' ),
25
+ };
26
+
27
+ /**
28
+ * Public functions and properties.
29
+ *
30
+ * @since 2.3.0
31
+ *
32
+ * @type {object}
33
+ */
34
+ var app = {
35
+
36
+ /**
37
+ * Start the engine.
38
+ *
39
+ * @since 2.3.0
40
+ */
41
+ init: function() {
42
+
43
+ $( document ).ready( app.ready );
44
+ },
45
+
46
+ /**
47
+ * Document ready.
48
+ *
49
+ * @since 2.3.0
50
+ */
51
+ ready: function() {
52
+
53
+ app.updateNavigation();
54
+ app.events();
55
+ },
56
+
57
+ /**
58
+ * Register JS events.
59
+ *
60
+ * @since 2.3.0
61
+ */
62
+ events: function() {
63
+
64
+ el.$notifications
65
+ .on( 'click', '.dismiss', app.dismiss )
66
+ .on( 'click', '.next', app.navNext )
67
+ .on( 'click', '.prev', app.navPrev );
68
+ },
69
+
70
+ /**
71
+ * Click on the Dismiss notification button.
72
+ *
73
+ * @since 2.3.0
74
+ *
75
+ * @param {object} event Event object.
76
+ */
77
+ dismiss: function( event ) {
78
+
79
+ if ( el.$currentMessage.length === 0 ) {
80
+ return;
81
+ }
82
+
83
+ // AJAX call - update option.
84
+ var data = {
85
+ action: 'wp_mail_smtp_notification_dismiss',
86
+ nonce: wp_mail_smtp.nonce,
87
+ id: el.$currentMessage.data( 'message-id' ),
88
+ };
89
+
90
+ $.post( ajaxurl, data, function( response ) {
91
+ if ( ! response.success ) {
92
+ return;
93
+ }
94
+
95
+ // Update counter.
96
+ var count = parseInt( el.$adminBarCounter.text(), 10 );
97
+ if ( count > 1 ) {
98
+ --count;
99
+ el.$adminBarCounter.html( '<span>' + count + '</span>' );
100
+ } else {
101
+ el.$adminBarCounter.remove();
102
+ }
103
+
104
+ // Remove notification.
105
+ var $nextMessage = el.$nextMessage.length < 1 ? el.$prevMessage : el.$nextMessage;
106
+
107
+ if ( $nextMessage.length === 0 ) {
108
+ el.$notifications.remove();
109
+ } else {
110
+ el.$currentMessage.remove();
111
+ $nextMessage.addClass( 'current' );
112
+ app.updateNavigation();
113
+ }
114
+ } );
115
+ },
116
+
117
+ /**
118
+ * Click on the Next notification button.
119
+ *
120
+ * @since 2.3.0
121
+ *
122
+ * @param {object} event Event object.
123
+ */
124
+ navNext: function( event ) {
125
+
126
+ if ( el.$nextButton.hasClass( 'disabled' ) ) {
127
+ return;
128
+ }
129
+
130
+ el.$currentMessage.removeClass( 'current' );
131
+ el.$nextMessage.addClass( 'current' );
132
+
133
+ app.updateNavigation();
134
+ },
135
+
136
+ /**
137
+ * Click on the Previous notification button.
138
+ *
139
+ * @since 2.3.0
140
+ *
141
+ * @param {object} event Event object.
142
+ */
143
+ navPrev: function( event ) {
144
+
145
+ if ( el.$prevButton.hasClass( 'disabled' ) ) {
146
+ return;
147
+ }
148
+
149
+ el.$currentMessage.removeClass( 'current' );
150
+ el.$prevMessage.addClass( 'current' );
151
+
152
+ app.updateNavigation();
153
+ },
154
+
155
+ /**
156
+ * Update navigation buttons.
157
+ *
158
+ * @since 2.3.0
159
+ */
160
+ updateNavigation: function() {
161
+
162
+ el.$currentMessage = el.$notifications.find( '.message.current' );
163
+ el.$nextMessage = el.$currentMessage.next( '.message' );
164
+ el.$prevMessage = el.$currentMessage.prev( '.message' );
165
+
166
+ if ( el.$nextMessage.length === 0 ) {
167
+ el.$nextButton.addClass( 'disabled' );
168
+ } else {
169
+ el.$nextButton.removeClass( 'disabled' );
170
+ }
171
+
172
+ if ( el.$prevMessage.length === 0 ) {
173
+ el.$prevButton.addClass( 'disabled' );
174
+ } else {
175
+ el.$prevButton.removeClass( 'disabled' );
176
+ }
177
+ },
178
+ };
179
+
180
+ return app;
181
+
182
+ }( document, window, jQuery ) );
183
+
184
+ // Initialize.
185
+ WPMailSMTPAdminNotifications.init();
assets/js/smtp-notifications.min.js ADDED
@@ -0,0 +1 @@
 
1
+ "use strict";var WPMailSMTPAdminNotifications=window.WPMailSMTPAdminNotifications||function(e,t){var a={$notifications:t("#wp-mail-smtp-notifications"),$nextButton:t("#wp-mail-smtp-notifications .navigation .next"),$prevButton:t("#wp-mail-smtp-notifications .navigation .prev"),$adminBarCounter:t("#wp-admin-bar-wp-mail-smtp-menu .wp-mail-smtp-admin-bar-menu-notification-counter")},s={init:function(){t(e).ready(s.ready)},ready:function(){s.updateNavigation(),s.events()},events:function(){a.$notifications.on("click",".dismiss",s.dismiss).on("click",".next",s.navNext).on("click",".prev",s.navPrev)},dismiss:function(e){if(0!==a.$currentMessage.length){var n={action:"wp_mail_smtp_notification_dismiss",nonce:wp_mail_smtp.nonce,id:a.$currentMessage.data("message-id")};t.post(ajaxurl,n,function(e){if(e.success){var n=parseInt(a.$adminBarCounter.text(),10);1<n?(--n,a.$adminBarCounter.html("<span>"+n+"</span>")):a.$adminBarCounter.remove();var t=a.$nextMessage.length<1?a.$prevMessage:a.$nextMessage;0===t.length?a.$notifications.remove():(a.$currentMessage.remove(),t.addClass("current"),s.updateNavigation())}})}},navNext:function(e){a.$nextButton.hasClass("disabled")||(a.$currentMessage.removeClass("current"),a.$nextMessage.addClass("current"),s.updateNavigation())},navPrev:function(e){a.$prevButton.hasClass("disabled")||(a.$currentMessage.removeClass("current"),a.$prevMessage.addClass("current"),s.updateNavigation())},updateNavigation:function(){a.$currentMessage=a.$notifications.find(".message.current"),a.$nextMessage=a.$currentMessage.next(".message"),a.$prevMessage=a.$currentMessage.prev(".message"),0===a.$nextMessage.length?a.$nextButton.addClass("disabled"):a.$nextButton.removeClass("disabled"),0===a.$prevMessage.length?a.$prevButton.addClass("disabled"):a.$prevButton.removeClass("disabled")}};return s}(document,(window,jQuery));WPMailSMTPAdminNotifications.init();
assets/languages/wp-mail-smtp.pot CHANGED
@@ -1,13 +1,13 @@
1
  msgid ""
2
  msgstr ""
3
- "Project-Id-Version: WP Mail SMTP 2.2.1\n"
4
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-mail-smtp\n"
5
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
6
  "Language-Team: LANGUAGE <LL@li.org>\n"
7
  "MIME-Version: 1.0\n"
8
  "Content-Type: text/plain; charset=UTF-8\n"
9
  "Content-Transfer-Encoding: 8bit\n"
10
- "POT-Creation-Date: 2020-07-09T12:48:03+03:00\n"
11
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12
  "X-Generator: WP-CLI 2.4.0\n"
13
  "X-Domain: wp-mail-smtp\n"
@@ -33,1005 +33,1320 @@ msgid "https://wpforms.com/"
33
  msgstr ""
34
 
35
  #. translators: %s - error code, returned by Google API.
36
- #: src/Admin/Area.php:125
 
37
  msgid "There was an error while processing the authentication request: %s. Please try again."
38
  msgstr ""
39
 
 
40
  #: src/Admin/Area.php:133
41
  msgid "There was an error while processing the authentication request. Please try again."
42
  msgstr ""
43
 
 
44
  #: src/Admin/Area.php:140
45
  msgid "There was an error while processing the authentication request. Please make sure that you have Client ID and Client Secret both valid and saved."
46
  msgstr ""
47
 
 
48
  #: src/Admin/Area.php:149
49
  msgid "You have successfully linked the current site with your Google API project. Now you can start sending emails through Gmail."
50
  msgstr ""
51
 
52
- #: src/Admin/Area.php:155
53
- msgid "You have successfully linked the current site with your Microsoft API project. Now you can start sending emails through Outlook."
54
- msgstr ""
55
-
56
  #. translators: %s - Mailer anchor link.
57
- #: src/Admin/Area.php:186
 
58
  msgid "Thanks for using WP Mail SMTP! To complete the plugin setup and start sending emails, <strong>please select and configure your <a href=\"%s\">Mailer</a></strong>."
59
  msgstr ""
60
 
61
- #: src/Admin/Area.php:209
62
- #: src/Admin/Area.php:210
 
 
 
63
  #: src/SiteHealth.php:40
64
  msgid "WP Mail SMTP"
65
  msgstr ""
66
 
67
- #: src/Admin/Area.php:220
68
- #: src/Admin/Area.php:221
 
 
 
69
  #: src/Admin/Area.php:862
70
  msgid "Settings"
71
  msgstr ""
72
 
73
- #: src/Admin/Area.php:228
74
- #: src/Admin/Area.php:229
75
- #: src/Admin/Pages/About.php:651
 
 
 
 
 
76
  #: src/Admin/Pages/Logs.php:48
77
  #: src/Admin/Pages/LogsTab.php:30
78
  msgid "Email Log"
79
  msgstr ""
80
 
81
- #: src/Admin/Area.php:238
82
- #: src/Admin/Area.php:239
 
 
 
83
  #: src/Admin/Pages/About.php:106
84
  msgid "About Us"
85
  msgstr ""
86
 
87
- #: src/Admin/Area.php:302
 
88
  msgid "Are you sure you want to reset the current provider connection? You will need to immediately create a new one to be able to send emails."
89
  msgstr ""
90
 
91
- #: src/Admin/Area.php:303
 
92
  msgid "Changes that you made to the settings are not saved!"
93
  msgstr ""
94
 
95
- #: src/Admin/Area.php:305
 
96
  msgid "Heads up!"
97
  msgstr ""
98
 
99
- #: src/Admin/Area.php:307
 
100
  msgid "<p>The Default (PHP) mailer is currently selected, but is not recommended because in most cases it does not resolve email delivery issues.</p><p>Please consider selecting and configuring one of the other mailers.</p>"
101
  msgstr ""
102
 
103
- #: src/Admin/Area.php:310
 
 
104
  #: src/Admin/PageAbstract.php:83
105
  msgid "Save Settings"
106
  msgstr ""
107
 
108
- #: src/Admin/Area.php:311
 
109
  msgid "Cancel"
110
  msgstr ""
111
 
112
- #: src/Admin/Area.php:312
 
113
  msgid "Warning icon"
114
  msgstr ""
115
 
116
- #: src/Admin/Area.php:317
 
117
  msgid "%name% is a PRO Feature"
118
  msgstr ""
119
 
120
- #: src/Admin/Area.php:318
 
121
  msgid "Upgrade to Pro"
122
  msgstr ""
123
 
124
- #: src/Admin/Area.php:322
 
125
  msgid "<strong>Bonus:</strong> WP Mail SMTP users get <span>$50 off</span> regular price,<br>applied at checkout."
126
  msgstr ""
127
 
128
- #: src/Admin/Area.php:331
 
129
  msgid "Already purchased?"
130
  msgstr ""
131
 
132
- #: src/Admin/Area.php:398
133
- #: src/Admin/Area.php:405
134
- #: src/Admin/Pages/About.php:332
 
 
 
135
  msgid "Activate"
136
  msgstr ""
137
 
138
- #: src/Admin/Area.php:399
139
- #: src/Admin/Pages/About.php:324
 
 
140
  msgid "Activated"
141
  msgstr ""
142
 
143
- #: src/Admin/Area.php:400
144
- #: src/Admin/Pages/About.php:321
 
 
145
  msgid "Active"
146
  msgstr ""
147
 
148
- #: src/Admin/Area.php:401
149
- #: src/Admin/Pages/About.php:329
 
 
150
  msgid "Inactive"
151
  msgstr ""
152
 
153
- #: src/Admin/Area.php:402
 
154
  msgid "Processing..."
155
  msgstr ""
156
 
157
- #: src/Admin/Area.php:403
 
158
  msgid "Could not install a plugin. Please download from WordPress.org and install manually."
159
  msgstr ""
160
 
161
- #: src/Admin/Area.php:404
 
162
  msgid "Install and Activate"
163
  msgstr ""
164
 
165
- #: src/Admin/Area.php:406
 
166
  msgid "Download"
167
  msgstr ""
168
 
169
  #. translators: %1$s - WP.org link; %2$s - same WP.org link.
170
- #: src/Admin/Area.php:466
 
171
  msgid "Please rate <strong>WP Mail SMTP</strong> <a href=\"%1$s\" target=\"_blank\" rel=\"noopener noreferrer\">&#9733;&#9733;&#9733;&#9733;&#9733;</a> on <a href=\"%2$s\" target=\"_blank\" rel=\"noopener noreferrer\">WordPress.org</a> to help us spread the word. Thank you from the WP Mail SMTP team!"
172
  msgstr ""
173
 
 
174
  #: src/Admin/Area.php:803
175
  msgid "WP Mail SMTP Pro related message was successfully dismissed."
176
  msgstr ""
177
 
 
178
  #: src/Admin/Area.php:822
179
  msgid "Educational notice for this mailer was successfully dismissed."
180
  msgstr ""
181
 
 
182
  #: src/Admin/Area.php:861
183
  msgid "Go to WP Mail SMTP Settings page"
184
  msgstr ""
185
 
 
186
  #: src/Admin/Area.php:868
187
  msgid "Go to WP Mail SMTP Lite vs Pro comparison page"
188
  msgstr ""
189
 
 
190
  #: src/Admin/Area.php:869
191
  msgid "Premium Support"
192
  msgstr ""
193
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
194
  #. translators: %s - plugin current license type.
 
 
195
  #: src/Admin/Pages/About.php:99
196
- #: src/Admin/Pages/About.php:550
197
  msgid "%s vs Pro"
198
  msgstr ""
199
 
200
- #: src/Admin/Pages/About.php:171
 
201
  msgid "Hello and welcome to WP Mail SMTP, the easiest and most popular WordPress SMTP plugin. We build software that helps your site reliably deliver emails every time."
202
  msgstr ""
203
 
204
- #: src/Admin/Pages/About.php:175
 
205
  msgid "Email deliverability has been a well-documented problem for all WordPress websites. However as WPForms grew, we became more aware of this painful issue that affects our users and the larger WordPress community. So we decided to solve this problem and make a solution that's beginner friendly."
206
  msgstr ""
207
 
208
- #: src/Admin/Pages/About.php:178
 
209
  msgid "Our goal is to make reliable email deliverability easy for WordPress."
210
  msgstr ""
211
 
212
  #. translators: %1$s - WPForms URL, %2$s - WPBeginner URL, %3$s - OptinMonster URL, %4$s - MonsterInsights URL, %5$s - RafflePress URL
213
- #: src/Admin/Pages/About.php:185
 
214
  msgid "WP Mail SMTP is brought to you by the same team that's behind the most user friendly WordPress forms, <a href=\"%1$s\" target=\"_blank\" rel=\"noopener noreferrer\">WPForms</a>, the largest WordPress resource site, <a href=\"%2$s\" target=\"_blank\" rel=\"noopener noreferrer\">WPBeginner</a>, the most popular lead-generation software, <a href=\"%3$s\" target=\"_blank\" rel=\"noopener noreferrer\">OptinMonster</a>, the best WordPress analytics plugin, <a href=\"%4$s\" target=\"_blank\" rel=\"noopener noreferrer\">MonsterInsights</a>, and the most powerful WordPress contest plugin, <a href=\"%5$s\" target=\"_blank\" rel=\"noopener noreferrer\">RafflePress</a>."
215
  msgstr ""
216
 
217
- #: src/Admin/Pages/About.php:203
 
218
  msgid "Yup, we know a thing or two about building awesome products that customers love."
219
  msgstr ""
220
 
221
- #: src/Admin/Pages/About.php:209
 
222
  msgid "The WPForms Team photo"
223
  msgstr ""
224
 
225
- #: src/Admin/Pages/About.php:211
 
226
  msgid "The WPForms Team"
227
  msgstr ""
228
 
229
- #: src/Admin/Pages/About.php:260
 
230
  msgid "Plugin icon"
231
  msgstr ""
232
 
233
  #. translators: %s - status HTML text.
234
- #: src/Admin/Pages/About.php:274
 
235
  msgid "Status: %s"
236
  msgstr ""
237
 
238
- #: src/Admin/Pages/About.php:340
 
239
  msgid "Not Installed"
240
  msgstr ""
241
 
242
- #: src/Admin/Pages/About.php:343
 
243
  msgid "Install Plugin"
244
  msgstr ""
245
 
246
- #: src/Admin/Pages/About.php:364
 
247
  msgid "MonsterInsights"
248
  msgstr ""
249
 
250
- #: src/Admin/Pages/About.php:365
251
- #: src/Admin/Pages/About.php:371
 
 
252
  msgid "MonsterInsights makes it “effortless” to properly connect your WordPress site with Google Analytics, so you can start making data-driven decisions to grow your business."
253
  msgstr ""
254
 
255
- #: src/Admin/Pages/About.php:370
 
256
  msgid "MonsterInsights Pro"
257
  msgstr ""
258
 
259
- #: src/Admin/Pages/About.php:378
 
260
  msgid "OptinMonster"
261
  msgstr ""
262
 
263
- #: src/Admin/Pages/About.php:379
 
264
  msgid "Our high-converting optin forms like Exit-Intent® popups, Fullscreen Welcome Mats, and Scroll boxes help you dramatically boost conversions and get more email subscribers."
265
  msgstr ""
266
 
267
- #: src/Admin/Pages/About.php:385
 
268
  msgid "Contact Forms by WPForms"
269
  msgstr ""
270
 
271
- #: src/Admin/Pages/About.php:386
272
- #: src/Admin/Pages/About.php:392
 
 
273
  msgid "The best WordPress contact form plugin. Drag & Drop online form builder that helps you create beautiful contact forms with just a few clicks."
274
  msgstr ""
275
 
276
- #: src/Admin/Pages/About.php:391
 
277
  msgid "WPForms Pro"
278
  msgstr ""
279
 
280
- #: src/Admin/Pages/About.php:399
 
281
  msgid "RafflePress"
282
  msgstr ""
283
 
284
- #: src/Admin/Pages/About.php:400
285
- #: src/Admin/Pages/About.php:406
 
 
286
  msgid "Turn your visitors into brand ambassadors! Easily grow your email list, website traffic, and social media followers with powerful viral giveaways & contests."
287
  msgstr ""
288
 
289
- #: src/Admin/Pages/About.php:405
 
290
  msgid "RafflePress Pro"
291
  msgstr ""
292
 
293
- #: src/Admin/Pages/About.php:425
 
294
  msgid "Could not activate the plugin. Please activate it from the Plugins page."
295
  msgstr ""
296
 
297
- #: src/Admin/Pages/About.php:437
 
298
  msgid "Plugin activated."
299
  msgstr ""
300
 
301
- #: src/Admin/Pages/About.php:454
 
302
  msgid "Could not install the plugin."
303
  msgstr ""
304
 
305
- #: src/Admin/Pages/About.php:515
 
306
  msgid "Plugin installed & activated."
307
  msgstr ""
308
 
309
- #: src/Admin/Pages/About.php:523
 
310
  msgid "Plugin installed."
311
  msgstr ""
312
 
313
- #: src/Admin/Pages/About.php:558
 
314
  msgid "Get the most out of WP Mail SMTP by upgrading to Pro and unlocking all of the powerful features."
315
  msgstr ""
316
 
317
- #: src/Admin/Pages/About.php:567
 
318
  msgid "Feature"
319
  msgstr ""
320
 
321
- #: src/Admin/Pages/About.php:577
 
322
  msgid "Pro"
323
  msgstr ""
324
 
325
- #: src/Admin/Pages/About.php:618
 
326
  msgid "Get WP Mail SMTP Pro Today and Unlock all of these Powerful Features"
327
  msgstr ""
328
 
329
- #: src/Admin/Pages/About.php:625
 
330
  msgid "Bonus: WP Mail SMTP Lite users get <span class=\"price-off\">$50 off regular price</span>, automatically applied at checkout."
331
  msgstr ""
332
 
333
- #: src/Admin/Pages/About.php:652
 
 
334
  #: src/Admin/Pages/ControlTab.php:27
335
  msgid "Email Controls"
336
  msgstr ""
337
 
338
- #: src/Admin/Pages/About.php:653
 
339
  msgid "Additional Mailers"
340
  msgstr ""
341
 
342
- #: src/Admin/Pages/About.php:654
 
343
  msgid "Customer Support"
344
  msgstr ""
345
 
346
- #: src/Admin/Pages/About.php:675
 
347
  msgid "Emails are not logged"
348
  msgstr ""
349
 
350
- #: src/Admin/Pages/About.php:681
 
351
  msgid "Complete Email Log management inside WordPress"
352
  msgstr ""
353
 
354
- #: src/Admin/Pages/About.php:689
 
355
  msgid "No controls over whether default WordPress emails are sent"
356
  msgstr ""
357
 
358
- #: src/Admin/Pages/About.php:695
 
359
  msgid "Complete Email Controls management for most default WordPress emails"
360
  msgstr ""
361
 
362
- #: src/Admin/Pages/About.php:703
 
363
  msgid "Only default list of mailers"
364
  msgstr ""
365
 
366
- #: src/Admin/Pages/About.php:709
 
367
  msgid "Additional mailers: Microsoft Outlook (with Office365 support) and Amazon SES"
368
  msgstr ""
369
 
370
- #: src/Admin/Pages/About.php:717
 
371
  msgid "Limited Support"
372
  msgstr ""
373
 
374
- #: src/Admin/Pages/About.php:723
 
375
  msgid "Priority Support"
376
  msgstr ""
377
 
 
378
  #: src/Admin/Pages/ControlTab.php:48
379
  msgid "Comment Notifications"
380
  msgstr ""
381
 
 
382
  #: src/Admin/Pages/ControlTab.php:49
383
  msgid "Manage emails sent when comments are published or awaiting moderation."
384
  msgstr ""
385
 
 
386
  #: src/Admin/Pages/ControlTab.php:53
387
  msgid "Site Admin Email Change Notifications"
388
  msgstr ""
389
 
 
390
  #: src/Admin/Pages/ControlTab.php:54
391
  msgid "Manage emails sent when site admin's account has been changed."
392
  msgstr ""
393
 
 
394
  #: src/Admin/Pages/ControlTab.php:58
395
  msgid "User Change Notifications"
396
  msgstr ""
397
 
 
398
  #: src/Admin/Pages/ControlTab.php:59
399
  msgid "Limit emails triggered by password changed/reset, email changed, and more."
400
  msgstr ""
401
 
 
402
  #: src/Admin/Pages/ControlTab.php:63
403
  msgid "Personal Data Requests Notifications"
404
  msgstr ""
405
 
 
406
  #: src/Admin/Pages/ControlTab.php:64
407
  msgid "Control emails for data requests and data removal actions."
408
  msgstr ""
409
 
 
410
  #: src/Admin/Pages/ControlTab.php:68
411
  msgid "Automatic Update Notifications"
412
  msgstr ""
413
 
 
414
  #: src/Admin/Pages/ControlTab.php:69
415
  msgid "Manage emails sent by the core automatic update process."
416
  msgstr ""
417
 
 
418
  #: src/Admin/Pages/ControlTab.php:73
419
  msgid "New User Notifications"
420
  msgstr ""
421
 
 
422
  #: src/Admin/Pages/ControlTab.php:74
423
  msgid "Toggle emails sent to both user and site administrator about new user accounts."
424
  msgstr ""
425
 
 
426
  #: src/Admin/Pages/ControlTab.php:92
427
  msgid "Unlock Email Controls"
428
  msgstr ""
429
 
 
430
  #: src/Admin/Pages/ControlTab.php:95
431
  msgid "Email Controls allows you to granularly manage emails sent by WordPress.
"
432
  msgstr ""
433
 
 
 
434
  #: src/Admin/Pages/ControlTab.php:119
435
- #: src/Admin/Pages/LogsTab.php:67
436
  msgid "Upgrade to WP Mail SMTP Pro"
437
  msgstr ""
438
 
 
439
  #: src/Admin/Pages/LogsTab.php:53
440
  msgid "Unlock Email Logging"
441
  msgstr ""
442
 
 
443
  #: src/Admin/Pages/LogsTab.php:56
444
  msgid "Keep track of every email sent from your WordPress site with email logging.
"
445
  msgstr ""
446
 
 
447
  #: src/Admin/Pages/LogsTab.php:57
448
  msgid "Troubleshoot sending issues, recover lost emails, and more!"
449
  msgstr ""
450
 
 
451
  #: src/Admin/Pages/LogsTab.php:61
452
  msgid "Logs Archive Page Screenshot"
453
  msgstr ""
454
 
 
455
  #: src/Admin/Pages/LogsTab.php:62
456
  msgid "Logs Single Page Screenshot"
457
  msgstr ""
458
 
459
- #: src/Admin/Pages/MiscTab.php:24
 
460
  msgid "Misc"
461
  msgstr ""
462
 
463
- #: src/Admin/Pages/MiscTab.php:56
 
464
  msgid "Do Not Send"
465
  msgstr ""
466
 
467
- #: src/Admin/Pages/MiscTab.php:65
 
468
  msgid "Check this if you would like to stop sending all emails."
469
  msgstr ""
470
 
471
- #: src/Admin/Pages/MiscTab.php:71
 
472
  msgid "Some plugins, like BuddyPress and Events Manager, are using their own email delivery solutions. By default, this option does not block their emails, as those plugins do not use default <code>wp_mail()</code> function to send emails."
473
  msgstr ""
474
 
475
- #: src/Admin/Pages/MiscTab.php:79
 
476
  msgid "You will need to consult with their documentation to switch them to use default WordPress email delivery."
477
  msgstr ""
478
 
479
- #: src/Admin/Pages/MiscTab.php:81
 
480
  msgid "Test emails are allowed to be sent, regardless of this option."
481
  msgstr ""
482
 
483
  #. translators: %1$s - constant that was used; %2$s - file where it was used.
484
- #: src/Admin/Pages/MiscTab.php:86
485
- #: src/Providers/OptionsAbstract.php:468
 
 
486
  msgid "The value of this field was set using a constant %1$s most likely inside %2$s of your WordPress installation."
487
  msgstr ""
488
 
489
  #. translators: %s - The URL to the constants support article.
490
- #: src/Admin/Pages/MiscTab.php:93
 
491
  msgid "Please read this <a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\">support article</a> if you want to enable this option using constants."
492
  msgstr ""
493
 
494
- #: src/Admin/Pages/MiscTab.php:114
 
495
  msgid "Hide Announcements"
496
  msgstr ""
497
 
498
- #: src/Admin/Pages/MiscTab.php:123
 
499
  msgid "Check this if you would like to hide plugin announcements and update details."
500
  msgstr ""
501
 
502
- #: src/Admin/Pages/MiscTab.php:133
 
503
  msgid "Hide Email Delivery Errors"
504
  msgstr ""
505
 
506
- #: src/Admin/Pages/MiscTab.php:149
 
507
  msgid "Check this if you would like to hide warnings alerting of email delivery errors."
508
  msgstr ""
509
 
510
  #. translators: %s - filter that was used to disabled.
511
- #: src/Admin/Pages/MiscTab.php:156
 
512
  msgid "Email Delivery Errors were disabled using a %s filter."
513
  msgstr ""
514
 
515
- #: src/Admin/Pages/MiscTab.php:165
 
516
  msgid "<strong>This is not recommended</strong> and should only be done for staging or development sites."
517
  msgstr ""
518
 
519
- #: src/Admin/Pages/MiscTab.php:180
 
520
  msgid "Uninstall WP Mail SMTP"
521
  msgstr ""
522
 
523
- #: src/Admin/Pages/MiscTab.php:188
 
524
  msgid "Check this if you would like to remove ALL WP Mail SMTP data upon plugin deletion. All settings will be unrecoverable."
525
  msgstr ""
526
 
527
- #: src/Admin/Pages/MiscTab.php:234
528
- #: src/Admin/Pages/SettingsTab.php:583
 
 
 
 
 
 
 
 
 
 
 
 
529
  msgid "Settings were successfully saved."
530
  msgstr ""
531
 
 
532
  #: src/Admin/Pages/SettingsTab.php:37
533
  msgid "General"
534
  msgstr ""
535
 
536
- #: src/Admin/Pages/SettingsTab.php:67
 
537
  msgid "License"
538
  msgstr ""
539
 
540
- #: src/Admin/Pages/SettingsTab.php:70
 
541
  msgid "Your license key provides access to updates and support."
542
  msgstr ""
543
 
544
- #: src/Admin/Pages/SettingsTab.php:78
 
545
  msgid "License Key"
546
  msgstr ""
547
 
548
- #: src/Admin/Pages/SettingsTab.php:88
 
549
  msgid "Mail"
550
  msgstr ""
551
 
552
- #: src/Admin/Pages/SettingsTab.php:95
 
553
  msgid "From Email"
554
  msgstr ""
555
 
556
- #: src/Admin/Pages/SettingsTab.php:113
 
557
  msgid "Please first authorize the Gmail mailer below"
558
  msgstr ""
559
 
560
- #: src/Admin/Pages/SettingsTab.php:127
 
561
  msgid "The email address which emails are sent from."
562
  msgstr ""
563
 
564
- #: src/Admin/Pages/SettingsTab.php:128
 
565
  msgid "If you're using an email provider (Yahoo, Outlook.com, etc) this should be your email address for that account."
566
  msgstr ""
567
 
568
- #: src/Admin/Pages/SettingsTab.php:131
 
569
  msgid "Please note that other plugins can change this, to prevent this use the setting below."
570
  msgstr ""
571
 
572
- #: src/Admin/Pages/SettingsTab.php:149
 
573
  msgid "Force From Email"
574
  msgstr ""
575
 
576
- #: src/Admin/Pages/SettingsTab.php:156
 
577
  msgid "Current provider will automatically force From Email to be the email address that you use to set up the connection below."
578
  msgstr ""
579
 
580
- #: src/Admin/Pages/SettingsTab.php:158
 
581
  msgid "Gmail mailer will automatically force From Email to be the email address that you selected above."
582
  msgstr ""
583
 
584
- #: src/Admin/Pages/SettingsTab.php:164
 
585
  msgid "If checked, the From Email setting above will be used for all emails, ignoring values set by other plugins."
586
  msgstr ""
587
 
588
- #: src/Admin/Pages/SettingsTab.php:174
 
589
  msgid "From Name"
590
  msgstr ""
591
 
592
- #: src/Admin/Pages/SettingsTab.php:185
 
593
  msgid "The name which emails are sent from."
594
  msgstr ""
595
 
596
- #: src/Admin/Pages/SettingsTab.php:197
 
597
  msgid "Force From Name"
598
  msgstr ""
599
 
600
- #: src/Admin/Pages/SettingsTab.php:202
 
601
  msgid "Current provider doesn't support setting and forcing From Name. Emails will be sent on behalf of the account name used to setup the connection below."
602
  msgstr ""
603
 
604
- #: src/Admin/Pages/SettingsTab.php:206
 
605
  msgid "If checked, the From Name setting above will be used for all emails, ignoring values set by other plugins."
606
  msgstr ""
607
 
608
- #: src/Admin/Pages/SettingsTab.php:215
 
609
  msgid "Return Path"
610
  msgstr ""
611
 
612
- #: src/Admin/Pages/SettingsTab.php:224
 
613
  msgid "Set the return-path to match the From Email"
614
  msgstr ""
615
 
616
- #: src/Admin/Pages/SettingsTab.php:228
 
617
  msgid "Return Path indicates where non-delivery receipts - or bounce messages - are to be sent."
618
  msgstr ""
619
 
620
- #: src/Admin/Pages/SettingsTab.php:229
 
621
  msgid "If unchecked, bounce messages may be lost. Some providers may ignore this option."
622
  msgstr ""
623
 
624
- #: src/Admin/Pages/SettingsTab.php:237
 
625
  msgid "Mailer"
626
  msgstr ""
627
 
628
- #: src/Admin/Pages/SettingsTab.php:278
 
629
  msgid "Don't see what you're looking for?"
630
  msgstr ""
631
 
632
- #: src/Admin/Pages/SettingsTab.php:280
 
633
  msgid "Suggest a Mailer"
634
  msgstr ""
635
 
636
- #: src/Admin/Pages/SettingsTab.php:308
 
637
  msgid "Dismiss this notice"
638
  msgstr ""
639
 
640
- #: src/Admin/Pages/SettingsTab.php:355
 
641
  msgid "You're using WP Mail SMTP Lite - no license needed. Enjoy!"
642
  msgstr ""
643
 
644
  #. translators: %s - WPMailSMTP.com upgrade URL.
645
- #: src/Admin/Pages/SettingsTab.php:361
 
646
  msgid "To unlock more features consider <strong><a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"wp-mail-smtp-upgrade-modal\">upgrading to PRO</a></strong>."
647
  msgstr ""
648
 
649
- #: src/Admin/Pages/SettingsTab.php:380
 
650
  msgid "As a valued WP Mail SMTP Lite user you receive <strong>$50 off</strong>, automatically applied at checkout!"
651
  msgstr ""
652
 
653
- #: src/Admin/Pages/SettingsTab.php:441
 
654
  msgid "Get WP Mail SMTP Pro and Unlock all the Powerful Features"
655
  msgstr ""
656
 
657
- #: src/Admin/Pages/SettingsTab.php:445
 
658
  msgid "Thanks for being a loyal WP Mail SMTP user. Upgrade to WP Mail SMTP Pro to unlock more awesome features and experience why WP Mail SMTP is the most popular SMTP plugin."
659
  msgstr ""
660
 
661
- #: src/Admin/Pages/SettingsTab.php:449
 
662
  msgid "We know that you will truly love WP Mail SMTP. It's used by over 1,000,000 websites."
663
  msgstr ""
664
 
665
- #: src/Admin/Pages/SettingsTab.php:452
 
666
  msgid "Pro Features:"
667
  msgstr ""
668
 
669
- #: src/Admin/Pages/SettingsTab.php:456
 
670
  msgid "Manage Notifications - control which emails your site sends"
671
  msgstr ""
672
 
673
- #: src/Admin/Pages/SettingsTab.php:457
 
674
  msgid "Email Logging - keep track of every email sent from your site"
675
  msgstr ""
676
 
677
- #: src/Admin/Pages/SettingsTab.php:458
 
678
  msgid "Office 365 - send emails using your Office 365 account"
679
  msgstr ""
680
 
681
- #: src/Admin/Pages/SettingsTab.php:459
 
682
  msgid "Amazon SES - harness the power of AWS"
683
  msgstr ""
684
 
685
- #: src/Admin/Pages/SettingsTab.php:460
 
686
  msgid "Outlook.com - send emails using your Outlook.com account"
687
  msgstr ""
688
 
689
- #: src/Admin/Pages/SettingsTab.php:461
 
690
  msgid "Access to our world class support team"
691
  msgstr ""
692
 
693
- #: src/Admin/Pages/SettingsTab.php:464
 
694
  msgid "White Glove Setup - sit back and relax while we handle everything for you"
695
  msgstr ""
696
 
697
- #: src/Admin/Pages/SettingsTab.php:465
 
698
  msgid "Install WP Mail SMTP Pro plugin"
699
  msgstr ""
700
 
701
- #: src/Admin/Pages/SettingsTab.php:466
 
702
  msgid "Set up domain name verification (DNS)"
703
  msgstr ""
704
 
705
- #: src/Admin/Pages/SettingsTab.php:467
 
706
  msgid "Configure Mailgun service"
707
  msgstr ""
708
 
709
- #: src/Admin/Pages/SettingsTab.php:468
 
710
  msgid "Set up WP Mail SMTP Pro plugin"
711
  msgstr ""
712
 
713
- #: src/Admin/Pages/SettingsTab.php:469
 
714
  msgid "Test and verify email delivery"
715
  msgstr ""
716
 
717
  #. translators: %s - WPMailSMTP.com URL.
718
- #: src/Admin/Pages/SettingsTab.php:477
 
719
  msgid "<a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\">Get WP Mail SMTP Pro Today and Unlock all the Powerful Features &raquo;</a>"
720
  msgstr ""
721
 
722
- #: src/Admin/Pages/SettingsTab.php:495
 
723
  msgid "<strong>Bonus:</strong> WP Mail SMTP users get <span class=\"price-off\">$50 off regular price</span>, automatically applied at checkout."
724
  msgstr ""
725
 
 
726
  #: src/Admin/Pages/TestTab.php:37
727
  msgid "Email Test"
728
  msgstr ""
729
 
 
730
  #: src/Admin/Pages/TestTab.php:59
731
  msgid "Send a Test Email"
732
  msgstr ""
733
 
 
734
  #: src/Admin/Pages/TestTab.php:66
735
  msgid "Send To"
736
  msgstr ""
737
 
 
738
  #: src/Admin/Pages/TestTab.php:72
739
  msgid "Enter email address where test email will be sent."
740
  msgstr ""
741
 
 
742
  #: src/Admin/Pages/TestTab.php:80
743
  msgid "HTML"
744
  msgstr ""
745
 
 
 
 
746
  #: src/Admin/Pages/TestTab.php:86
747
- #: src/Providers/OptionsAbstract.php:264
748
- #: src/Providers/OptionsAbstract.php:286
749
  msgid "On"
750
  msgstr ""
751
 
 
 
 
752
  #: src/Admin/Pages/TestTab.php:87
753
- #: src/Providers/OptionsAbstract.php:265
754
- #: src/Providers/OptionsAbstract.php:287
755
  msgid "Off"
756
  msgstr ""
757
 
 
758
  #: src/Admin/Pages/TestTab.php:90
759
  msgid "Send this email in HTML or in plain text format."
760
  msgstr ""
761
 
 
762
  #: src/Admin/Pages/TestTab.php:110
763
  msgid "You cannot send an email. Mailer is not properly configured. Please check your settings."
764
  msgstr ""
765
 
 
766
  #: src/Admin/Pages/TestTab.php:114
767
  msgid "Send Email"
768
  msgstr ""
769
 
 
770
  #: src/Admin/Pages/TestTab.php:142
771
  msgid "Test failed. Please use a valid email address and try to resend the test email."
772
  msgstr ""
773
 
774
  #. translators: %s - email address a test email will be sent to.
 
 
775
  #: src/Admin/Pages/TestTab.php:154
776
  #: src/Admin/Pages/TestTab.php:160
777
  msgid "Test email to %s"
778
  msgstr ""
779
 
 
780
  #: src/Admin/Pages/TestTab.php:186
781
  msgid "Test plain text email was sent successfully!"
782
  msgstr ""
783
 
784
  #. translators: %s - "HTML" in bold.
 
785
  #: src/Admin/Pages/TestTab.php:190
786
  msgid "Test %s email was sent successfully! Please check your inbox to make sure it is delivered."
787
  msgstr ""
788
 
 
789
  #: src/Admin/Pages/TestTab.php:510
790
  msgid "SSL certificate issue."
791
  msgstr ""
792
 
 
793
  #: src/Admin/Pages/TestTab.php:511
794
  msgid "This means your web server cannot reliably make secure connections (make requests to HTTPS sites)."
795
  msgstr ""
796
 
 
 
797
  #: src/Admin/Pages/TestTab.php:512
798
  #: src/Admin/Pages/TestTab.php:560
799
  msgid "Typically this error is returned when web server is not configured properly."
800
  msgstr ""
801
 
 
802
  #: src/Admin/Pages/TestTab.php:515
803
  msgid "Contact your web hosting provider and inform them your site has an issue with SSL certificates."
804
  msgstr ""
805
 
 
 
806
  #: src/Admin/Pages/TestTab.php:516
807
  #: src/Admin/Pages/TestTab.php:564
808
  msgid "The exact error you can provide them is in the Error log, available at the bottom of this page."
809
  msgstr ""
810
 
 
 
811
  #: src/Admin/Pages/TestTab.php:517
812
  #: src/Admin/Pages/TestTab.php:565
813
  msgid "Ask them to resolve the issue then try again."
814
  msgstr ""
815
 
 
816
  #: src/Admin/Pages/TestTab.php:528
817
  msgid "Could not connect to host."
818
  msgstr ""
819
 
820
  #. translators: %s - SMTP host address.
 
 
 
821
  #: src/Admin/Pages/TestTab.php:531
822
  #: src/Admin/Pages/TestTab.php:556
823
  #: src/Admin/Pages/TestTab.php:658
824
  msgid "This means your web server was unable to connect to %s."
825
  msgstr ""
826
 
 
 
 
827
  #: src/Admin/Pages/TestTab.php:534
828
  #: src/Admin/Pages/TestTab.php:559
829
  #: src/Admin/Pages/TestTab.php:661
830
  msgid "This means your web server was unable to connect to the host server."
831
  msgstr ""
832
 
 
833
  #: src/Admin/Pages/TestTab.php:535
834
  msgid "Typically this error is returned your web server is blocking the connections or the SMTP host denying the request."
835
  msgstr ""
836
 
837
  #. translators: %s - SMTP host address.
 
838
  #: src/Admin/Pages/TestTab.php:539
839
  msgid "Contact your web hosting provider and ask them to verify your server can connect to %s. Additionally, ask them if a firewall or security policy may be preventing the connection."
840
  msgstr ""
841
 
 
842
  #: src/Admin/Pages/TestTab.php:542
843
  msgid "If using \"Other SMTP\" Mailer, triple check your SMTP settings including host address, email, and password."
844
  msgstr ""
845
 
 
846
  #: src/Admin/Pages/TestTab.php:543
847
  msgid "If using \"Other SMTP\" Mailer, contact your SMTP host to confirm they are accepting outside connections with the settings you have configured (address, username, port, security, etc)."
848
  msgstr ""
849
 
 
850
  #: src/Admin/Pages/TestTab.php:553
851
  msgid "Could not connect to your host."
852
  msgstr ""
853
 
 
854
  #: src/Admin/Pages/TestTab.php:563
855
  msgid "Contact your web hosting provider and inform them you are having issues making outbound connections."
856
  msgstr ""
857
 
 
858
  #: src/Admin/Pages/TestTab.php:575
859
  msgid "Could not authenticate your SMTP account."
860
  msgstr ""
861
 
 
862
  #: src/Admin/Pages/TestTab.php:576
863
  msgid "This means we were able to connect to your SMTP host, but were not able to proceed using the email/password in the settings."
864
  msgstr ""
865
 
 
866
  #: src/Admin/Pages/TestTab.php:577
867
  msgid "Typically this error is returned when the email or password is not correct or is not what the SMTP host is expecting."
868
  msgstr ""
869
 
 
870
  #: src/Admin/Pages/TestTab.php:580
871
  msgid "Triple check your SMTP settings including host address, email, and password. If you have recently reset your password you will need to update the settings."
872
  msgstr ""
873
 
 
 
874
  #: src/Admin/Pages/TestTab.php:581
875
  #: src/Admin/Pages/TestTab.php:686
876
  msgid "Contact your SMTP host to confirm you are using the correct username and password."
877
  msgstr ""
878
 
 
 
879
  #: src/Admin/Pages/TestTab.php:582
880
  #: src/Admin/Pages/TestTab.php:687
881
  msgid "Verify with your SMTP host that your account has permissions to send emails using outside connections."
882
  msgstr ""
883
 
 
884
  #: src/Admin/Pages/TestTab.php:592
885
  msgid "Error due to unsolicited and/or bulk e-mail."
886
  msgstr ""
887
 
 
888
  #: src/Admin/Pages/TestTab.php:593
889
  msgid "This means the connection to your SMTP host was made successfully, but the host rejected the email."
890
  msgstr ""
891
 
 
892
  #: src/Admin/Pages/TestTab.php:594
893
  msgid "Typically this error is returned when you are sending too many e-mails or e-mails that have been identified as spam."
894
  msgstr ""
895
 
 
896
  #: src/Admin/Pages/TestTab.php:597
897
  msgid "Check the emails that are sending are sending individually. Example: email is not sending to 30 recipients. You can install any WordPress e-mail logging plugin to do that."
898
  msgstr ""
899
 
 
900
  #: src/Admin/Pages/TestTab.php:598
901
  msgid "Contact your SMTP host to ask about sending/rate limits."
902
  msgstr ""
903
 
 
904
  #: src/Admin/Pages/TestTab.php:599
905
  msgid "Verify with them your SMTP account is in good standing and your account has not been flagged."
906
  msgstr ""
907
 
 
908
  #: src/Admin/Pages/TestTab.php:609
909
  msgid "Unauthenticated senders are not allowed."
910
  msgstr ""
911
 
 
912
  #: src/Admin/Pages/TestTab.php:610
913
  msgid "This means the connection to your SMTP host was made successfully, but you should enable Authentication and provide correct Username and Password."
914
  msgstr ""
915
 
 
916
  #: src/Admin/Pages/TestTab.php:613
917
  msgid "Go to WP Mail SMTP plugin Settings page."
918
  msgstr ""
919
 
 
920
  #: src/Admin/Pages/TestTab.php:614
921
  msgid "Enable Authentication"
922
  msgstr ""
923
 
 
924
  #: src/Admin/Pages/TestTab.php:615
925
  msgid "Enter correct SMTP Username (usually this is an email address) and Password in the appropriate fields."
926
  msgstr ""
927
 
 
928
  #: src/Admin/Pages/TestTab.php:627
929
  msgid "Misconfigured server certificate."
930
  msgstr ""
931
 
 
932
  #: src/Admin/Pages/TestTab.php:628
933
  msgid "This means OpenSSL on your server isn't able to verify the host certificate."
934
  msgstr ""
935
 
 
936
  #: src/Admin/Pages/TestTab.php:629
937
  msgid "There are a few reasons why this is happening. It could be that the host certificate is misconfigured, or this server's OpenSSL is using an outdated CA bundle."
938
  msgstr ""
939
 
 
940
  #: src/Admin/Pages/TestTab.php:632
941
  msgid "Verify that the host's SSL certificate is valid."
942
  msgstr ""
943
 
944
  #. translators: %s - URL to the PHP openssl manual
 
945
  #: src/Admin/Pages/TestTab.php:635
946
  msgid "Contact your hosting support, show them the \"full Error Log for debugging\" below and share this <a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\">link</a> with them."
947
  msgstr ""
948
 
 
949
  #: src/Admin/Pages/TestTab.php:655
950
  msgid "Could not connect to the SMTP host."
951
  msgstr ""
952
 
 
 
953
  #: src/Admin/Pages/TestTab.php:662
954
  #: src/Admin/Pages/TestTab.php:1048
955
  msgid "Typically this error is returned for one of the following reasons:"
956
  msgstr ""
957
 
 
958
  #: src/Admin/Pages/TestTab.php:663
959
  msgid "SMTP settings are incorrect (wrong port, security setting, incorrect host)."
960
  msgstr ""
961
 
 
 
962
  #: src/Admin/Pages/TestTab.php:664
963
  #: src/Admin/Pages/TestTab.php:1050
964
  msgid "Your web server is blocking the connection."
965
  msgstr ""
966
 
 
967
  #: src/Admin/Pages/TestTab.php:665
968
  msgid "Your SMTP host is rejecting the connection."
969
  msgstr ""
970
 
 
971
  #: src/Admin/Pages/TestTab.php:668
972
  msgid "Triple check your SMTP settings including host address, email, and password, port, and security."
973
  msgstr ""
974
 
975
  #. translators: %1$s - SMTP host address, %2$s - SMTP port, %3$s - SMTP encryption.
 
976
  #: src/Admin/Pages/TestTab.php:671
977
  msgid "Contact your web hosting provider and ask them to verify your server can connect to %1$s on port %2$s using %3$s encryption. Additionally, ask them if a firewall or security policy may be preventing the connection - many shared hosts block certain ports.<br><strong>Note: this is the most common cause of this issue.</strong>"
978
  msgstr ""
979
 
 
980
  #: src/Admin/Pages/TestTab.php:684
981
  msgid "no"
982
  msgstr ""
983
 
 
 
 
984
  #: src/Admin/Pages/TestTab.php:697
985
  #: src/Admin/Pages/TestTab.php:712
986
  #: src/Admin/Pages/TestTab.php:728
987
  msgid "Mailgun failed."
988
  msgstr ""
989
 
 
990
  #: src/Admin/Pages/TestTab.php:698
991
  msgid "It seems that you forgot to activate your Mailgun account."
992
  msgstr ""
993
 
 
994
  #: src/Admin/Pages/TestTab.php:701
995
  msgid "Check your inbox you used to create a Mailgun account. Click the activation link in an email from Mailgun."
996
  msgstr ""
997
 
 
998
  #: src/Admin/Pages/TestTab.php:702
999
  msgid "If you do not see activation email, go to your Mailgun control panel and resend the activation email."
1000
  msgstr ""
1001
 
 
1002
  #: src/Admin/Pages/TestTab.php:713
1003
  msgid "Typically this error is because there is an issue with your Mailgun settings, in many cases the API key."
1004
  msgstr ""
1005
 
 
1006
  #: src/Admin/Pages/TestTab.php:716
1007
  msgid "Verify your API key is correct."
1008
  msgstr ""
1009
 
 
1010
  #: src/Admin/Pages/TestTab.php:717
1011
  msgid "Go to your Mailgun account and view your API key."
1012
  msgstr ""
1013
 
 
1014
  #: src/Admin/Pages/TestTab.php:718
1015
  msgid "Note that the API key includes the \"key\" prefix, so make sure that it is in the WP Mail SMTP Mailgun API setting."
1016
  msgstr ""
1017
 
 
1018
  #: src/Admin/Pages/TestTab.php:729
1019
  msgid "Your Mailgun account does not have access to send emails."
1020
  msgstr ""
1021
 
 
1022
  #: src/Admin/Pages/TestTab.php:730
1023
  msgid "Typically this error is because you have not set up and/or complete domain name verification for your Mailgun account."
1024
  msgstr ""
1025
 
1026
  #. translators: %s - Mailgun documentation URL.
 
1027
  #: src/Admin/Pages/TestTab.php:735
1028
  msgid "Go to our how-to guide for setting up <a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\">Mailgun with WP Mail SMTP</a>."
1029
  msgstr ""
1030
 
 
1031
  #: src/Admin/Pages/TestTab.php:746
1032
  msgid "Complete the steps in section \"2. Verify Your Domain\"."
1033
  msgstr ""
1034
 
 
 
 
 
 
 
 
1035
  #: src/Admin/Pages/TestTab.php:756
1036
  #: src/Admin/Pages/TestTab.php:805
1037
  #: src/Admin/Pages/TestTab.php:825
@@ -1042,859 +1357,1083 @@ msgstr ""
1042
  msgid "Google API Error."
1043
  msgstr ""
1044
 
 
1045
  #: src/Admin/Pages/TestTab.php:757
1046
  msgid "You have not properly configured Gmail mailer."
1047
  msgstr ""
1048
 
 
1049
  #: src/Admin/Pages/TestTab.php:758
1050
  msgid "Make sure that you have clicked the \"Allow plugin to send emails using your Google account\" button under Gmail settings."
1051
  msgstr ""
1052
 
 
1053
  #: src/Admin/Pages/TestTab.php:761
1054
  msgid "Go to plugin Settings page and click the \"Allow plugin to send emails using your Google account\" button."
1055
  msgstr ""
1056
 
 
1057
  #: src/Admin/Pages/TestTab.php:762
1058
  msgid "After the click you should be redirected to a Gmail authorization screen, where you will be asked a permission to send emails on your behalf."
1059
  msgstr ""
1060
 
 
1061
  #: src/Admin/Pages/TestTab.php:763
1062
  msgid "Please click \"Agree\", if you see that button. If not - you will need to enable less secure apps first:"
1063
  msgstr ""
1064
 
1065
  #. translators: %s - Google support article URL.
 
1066
  #: src/Admin/Pages/TestTab.php:768
1067
  msgid "if you are using regular Gmail account, please <a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\">read this article</a> to proceed."
1068
  msgstr ""
1069
 
1070
  #. translators: %s - Google support article URL.
 
1071
  #: src/Admin/Pages/TestTab.php:783
1072
  msgid "if you are using G Suite, please <a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\">read this article</a> to proceed."
1073
  msgstr ""
1074
 
 
1075
  #: src/Admin/Pages/TestTab.php:806
1076
  msgid "Typically this error is because address the email was sent to is invalid or was empty."
1077
  msgstr ""
1078
 
 
1079
  #: src/Admin/Pages/TestTab.php:809
1080
  msgid "Check the \"Send To\" email address used and confirm it is a valid email and was not empty."
1081
  msgstr ""
1082
 
1083
  #. translators: 1 - correct email address example. 2 - incorrect email address example.
 
1084
  #: src/Admin/Pages/TestTab.php:811
1085
  msgid "It should be something like this: %1$s. These are incorrect values: %2$s."
1086
  msgstr ""
1087
 
 
1088
  #: src/Admin/Pages/TestTab.php:815
1089
  msgid "Make sure that the generated email has a TO header, useful when you are responsible for email creation."
1090
  msgstr ""
1091
 
 
1092
  #: src/Admin/Pages/TestTab.php:826
1093
  msgid "Unfortunately, this error can be due to many different reasons."
1094
  msgstr ""
1095
 
1096
  #. translators: %s - Blog article URL.
 
1097
  #: src/Admin/Pages/TestTab.php:831
1098
  msgid "Please <a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\">read this article</a> to learn more about what can cause this error and how it can be resolved."
1099
  msgstr ""
1100
 
 
1101
  #: src/Admin/Pages/TestTab.php:852
1102
  msgid "Authentication code that Google returned to you has already been used on your previous auth attempt."
1103
  msgstr ""
1104
 
 
1105
  #: src/Admin/Pages/TestTab.php:855
1106
  msgid "Make sure that you are not trying to manually clean up the plugin options to retry the \"Allow...\" step."
1107
  msgstr ""
1108
 
 
1109
  #: src/Admin/Pages/TestTab.php:856
1110
  msgid "Reinstall the plugin with clean plugin data turned on on Misc page. This will remove all the plugin options and you will be safe to retry."
1111
  msgstr ""
1112
 
 
1113
  #: src/Admin/Pages/TestTab.php:857
1114
  msgid "Make sure there is no aggressive caching on site admin area pages or try to clean cache between attempts."
1115
  msgstr ""
1116
 
 
1117
  #: src/Admin/Pages/TestTab.php:868
1118
  msgid "There are various reasons for that, please review the steps below."
1119
  msgstr ""
1120
 
1121
  #. translators: %s - Google G Suite Admin area URL.
 
1122
  #: src/Admin/Pages/TestTab.php:873
1123
  msgid "Make sure that your G Suite trial period has not expired. You can check the status <a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\">here</a>."
1124
  msgstr ""
1125
 
1126
  #. translators: %s - Google G Suite Admin area URL.
 
1127
  #: src/Admin/Pages/TestTab.php:886
1128
  msgid "Make sure that Gmail app in your G Suite is actually enabled. You can check that in Apps list in <a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\">G Suite Admin</a> area."
1129
  msgstr ""
1130
 
1131
  #. translators: %s - Google Developers Console URL.
 
1132
  #: src/Admin/Pages/TestTab.php:899
1133
  msgid "Make sure that you have Gmail API enabled, and you can do that <a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\">here</a>."
1134
  msgstr ""
1135
 
 
 
1136
  #: src/Admin/Pages/TestTab.php:922
1137
  #: src/Admin/Pages/TestTab.php:949
1138
  msgid "Make sure that the used Client ID/Secret correspond to a proper project that has Gmail API enabled."
1139
  msgstr ""
1140
 
1141
  #. translators: %s - Gmail documentation URL.
 
1142
  #: src/Admin/Pages/TestTab.php:925
1143
  msgid "Please follow our <a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\">Gmail tutorial</a> to be sure that all the correct project and data is applied."
1144
  msgstr ""
1145
 
 
1146
  #: src/Admin/Pages/TestTab.php:946
1147
  msgid "You may have added a new API to a project"
1148
  msgstr ""
1149
 
 
1150
  #: src/Admin/Pages/TestTab.php:950
1151
  msgid "Try to use a separate project for your emails, so the project has only 1 Gmail API in it enabled. You will need to remove the old project and create a new one from scratch."
1152
  msgstr ""
1153
 
 
1154
  #: src/Admin/Pages/TestTab.php:960
1155
  msgid "SMTP.com API Error."
1156
  msgstr ""
1157
 
 
1158
  #: src/Admin/Pages/TestTab.php:961
1159
  msgid "Your Sender Name option is incorrect."
1160
  msgstr ""
1161
 
 
1162
  #: src/Admin/Pages/TestTab.php:964
1163
  msgid "Please make sure you entered an accurate Sender Name in WP Mail SMTP plugin settings."
1164
  msgstr ""
1165
 
 
1166
  #: src/Admin/Pages/TestTab.php:974
1167
  msgid "GuzzleHttp requirements."
1168
  msgstr ""
1169
 
 
1170
  #: src/Admin/Pages/TestTab.php:975
1171
  msgid "GuzzleHttp requires cURL, the allow_url_fopen ini setting, or a custom HTTP handler."
1172
  msgstr ""
1173
 
 
1174
  #: src/Admin/Pages/TestTab.php:978
1175
  msgid "Edit your php.ini file on your hosting server."
1176
  msgstr ""
1177
 
 
1178
  #: src/Admin/Pages/TestTab.php:979
1179
  msgid "(Recommended) Enable PHP extension: cURL, by adding \"extension=curl\" to the php.ini file (without the quotation marks) OR"
1180
  msgstr ""
1181
 
 
1182
  #: src/Admin/Pages/TestTab.php:980
1183
  msgid "(If cURL can't be enabled on your hosting server) Enable PHP setting: allow_url_fopen, by adding \"allow_url_fopen = On\" to the php.ini file (without the quotation marks)"
1184
  msgstr ""
1185
 
 
1186
  #: src/Admin/Pages/TestTab.php:981
1187
  msgid "If you don't know how to do the above we strongly suggest contacting your hosting support and provide them the \"full Error Log for debugging\" below and these steps. They should be able to fix this issue for you."
1188
  msgstr ""
1189
 
 
1190
  #: src/Admin/Pages/TestTab.php:1003
1191
  msgid "PCRE library issue"
1192
  msgstr ""
1193
 
 
1194
  #: src/Admin/Pages/TestTab.php:1004
1195
  msgid "It looks like your server is running PHP version 7.4.x with an outdated PCRE library (libpcre2) that has a known issue with email address validation."
1196
  msgstr ""
1197
 
 
1198
  #: src/Admin/Pages/TestTab.php:1005
1199
  msgid "There is a known issue with PHP version 7.4.x, when using libpcre2 library version lower than 10.33."
1200
  msgstr ""
1201
 
 
1202
  #: src/Admin/Pages/TestTab.php:1008
1203
  msgid "Contact your web hosting provider and inform them you are having issues with libpcre2 library on PHP 7.4."
1204
  msgstr ""
1205
 
 
1206
  #: src/Admin/Pages/TestTab.php:1009
1207
  msgid "They should be able to resolve this issue for you."
1208
  msgstr ""
1209
 
 
1210
  #: src/Admin/Pages/TestTab.php:1010
1211
  msgid "For a quick fix, until your web hosting resolves this, you can downgrade to PHP version 7.3 on your server."
1212
  msgstr ""
1213
 
 
1214
  #: src/Admin/Pages/TestTab.php:1046
1215
  msgid "An issue was detected."
1216
  msgstr ""
1217
 
 
1218
  #: src/Admin/Pages/TestTab.php:1047
1219
  msgid "This means your test email was unable to be sent."
1220
  msgstr ""
1221
 
 
1222
  #: src/Admin/Pages/TestTab.php:1049
1223
  msgid "Plugin settings are incorrect (wrong SMTP settings, invalid Mailer configuration, etc)."
1224
  msgstr ""
1225
 
 
1226
  #: src/Admin/Pages/TestTab.php:1051
1227
  msgid "Your host is rejecting the connection."
1228
  msgstr ""
1229
 
 
1230
  #: src/Admin/Pages/TestTab.php:1054
1231
  msgid "Triple check the plugin settings, consider reconfiguring to make sure everything is correct (eg bad copy and paste)."
1232
  msgstr ""
1233
 
 
1234
  #: src/Admin/Pages/TestTab.php:1056
1235
  msgid "Contact your web hosting provider and ask them to verify your server can make outside connections. Additionally, ask them if a firewall or security policy may be preventing the connection - many shared hosts block certain ports.<br><strong>Note: this is the most common cause of this issue.</strong>"
1236
  msgstr ""
1237
 
 
1238
  #: src/Admin/Pages/TestTab.php:1062
1239
  msgid "Try using a different mailer."
1240
  msgstr ""
1241
 
 
1242
  #: src/Admin/Pages/TestTab.php:1081
1243
  msgid "There was a problem while sending the test email."
1244
  msgstr ""
1245
 
 
1246
  #: src/Admin/Pages/TestTab.php:1091
1247
  msgid "Recommended next steps:"
1248
  msgstr ""
1249
 
 
1250
  #: src/Admin/Pages/TestTab.php:1101
1251
  msgid "Need support?"
1252
  msgstr ""
1253
 
1254
  #. translators: %s - WPMailSMTP.com account area link.
 
1255
  #: src/Admin/Pages/TestTab.php:1109
1256
  msgid "As a WP Mail SMTP Pro user you have access to WP Mail SMTP priority support. Please log in to your WPMailSMTP.com account and <a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\">submit a support ticket</a>."
1257
  msgstr ""
1258
 
 
1259
  #: src/Admin/Pages/TestTab.php:1126
1260
  msgid "WP Mail SMTP is a free plugin, and the team behind WPForms maintains it to give back to the WordPress community."
1261
  msgstr ""
1262
 
1263
  #. translators: %s - WPMailSMTP.com URL.
 
1264
  #: src/Admin/Pages/TestTab.php:1133
1265
  msgid "To access our world class support, please <a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\">upgrade to WP Mail SMTP Pro</a>. Along with getting expert support, you will also get Notification controls, Email Logging, and integrations for Amazon SES, Office 365, and Outlook.com."
1266
  msgstr ""
1267
 
 
1268
  #: src/Admin/Pages/TestTab.php:1148
1269
  msgid "Additionally, you can take advantage of our White Glove Setup. Sit back and relax while we handle everything for you! If you simply don't have time or maybe you feel a bit in over your head - we got you covered."
1270
  msgstr ""
1271
 
 
1272
  #: src/Admin/Pages/TestTab.php:1154
1273
  msgid "As a valued WP Mail SMTP user, you will get <span class=\"price-off\">$50 off regular pricing</span>, automatically applied at checkout!"
1274
  msgstr ""
1275
 
1276
  #. translators: %1$s - WP Mail SMTP support policy URL, %2$s - WP Mail SMTP support forum URL, %3$s - WPMailSMTP.com URL.
 
1277
  #: src/Admin/Pages/TestTab.php:1168
1278
  msgid "Alternatively, we also offer <a href=\"%1$s\" target=\"_blank\" rel=\"noopener noreferrer\">limited support</a> on the WordPress.org support forums. You can <a href=\"%2$s\" target=\"_blank\" rel=\"noopener noreferrer\">create a support thread</a> there, but please understand that free support is not guaranteed and is limited to simple issues. If you have an urgent or complex issue, then please consider <a href=\"%3$s\" target=\"_blank\" rel=\"noopener noreferrer\">upgrading to WP Mail SMTP Pro</a> to access our priority support ticket system."
1279
  msgstr ""
1280
 
 
1281
  #: src/Admin/Pages/TestTab.php:1189
1282
  msgid "Click here to view the full Error Log for debugging"
1283
  msgstr ""
1284
 
 
1285
  #: src/Admin/Pages/TestTab.php:1198
1286
  msgid "Please copy only the content of the error debug message above, identified with an orange left border, into the support forum topic if you experience any issues."
1287
  msgstr ""
1288
 
 
1289
  #: src/Admin/Review.php:119
1290
  msgid "Are you enjoying WP Mail SMTP?"
1291
  msgstr ""
1292
 
 
1293
  #: src/Admin/Review.php:121
1294
  msgid "Yes"
1295
  msgstr ""
1296
 
 
1297
  #: src/Admin/Review.php:122
1298
  msgid "Not Really"
1299
  msgstr ""
1300
 
 
1301
  #: src/Admin/Review.php:126
1302
  msgid "We're sorry to hear you aren't enjoying WP Mail SMTP. We would love a chance to improve. Could you take a minute and let us know what we can do better?"
1303
  msgstr ""
1304
 
 
1305
  #: src/Admin/Review.php:129
1306
  msgid "Give Feedback"
1307
  msgstr ""
1308
 
 
1309
  #: src/Admin/Review.php:132
1310
  msgid "No thanks"
1311
  msgstr ""
1312
 
 
1313
  #: src/Admin/Review.php:137
1314
  msgid "That’s awesome! Could you please do me a BIG favor and give it a 5-star rating on WordPress to help us spread the word and boost our motivation?"
1315
  msgstr ""
1316
 
 
1317
  #: src/Admin/Review.php:138
1318
  msgid "~ Jared Atchison<br>Lead Developer, WP Mail SMTP"
1319
  msgstr ""
1320
 
 
1321
  #: src/Admin/Review.php:141
1322
  msgid "Ok, you deserve it"
1323
  msgstr ""
1324
 
 
1325
  #: src/Admin/Review.php:143
1326
  msgid "Nope, maybe later"
1327
  msgstr ""
1328
 
 
1329
  #: src/Admin/Review.php:144
1330
  msgid "I already did"
1331
  msgstr ""
1332
 
1333
  #. translators: %1$s - Plugin name causing conflict; %2$s - Plugin name causing conflict.
 
1334
  #: src/Conflicts.php:159
1335
  msgid "Heads up! WP Mail SMTP has detected %1$s is activated. Please deactivate %2$s to prevent conflicts."
1336
  msgstr ""
1337
 
1338
  #. translators: %1$s - WP Mail SMTP plugin name; %2$s - WPMailSMTP.com URL to a related doc.
1339
- #: src/Core.php:381
 
1340
  msgid "Your site is running an outdated version of PHP that is no longer supported and may cause issues with %1$s. <a href=\"%2$s\" target=\"_blank\" rel=\"noopener noreferrer\">Read more</a> for additional information."
1341
  msgstr ""
1342
 
1343
- #: src/Core.php:395
 
1344
  msgid "<strong>Please Note:</strong> Support for PHP 5.5 will be discontinued in 2020. After this, if no further action is taken, WP Mail SMTP functionality will be disabled."
1345
  msgstr ""
1346
 
1347
  #. translators: %s - plugin name and its version.
1348
- #: src/Core.php:429
 
1349
  msgid "<strong>EMAILING DISABLED:</strong> The %s is currently blocking all emails from being sent."
1350
  msgstr ""
1351
 
1352
  #. translators: %1$s - constant name; %2$s - constant value.
1353
- #: src/Core.php:440
 
1354
  msgid "To send emails, change the value of the %1$s constant to %2$s."
1355
  msgstr ""
1356
 
1357
  #. translators: %s - plugin Misc settings page URL.
1358
- #: src/Core.php:451
 
1359
  msgid "To send emails, go to plugin <a href=\"%s\">Misc settings</a> and disable the \"Do Not Send\" option."
1360
  msgstr ""
1361
 
1362
  #. translators: %s - plugin name and its version.
1363
- #: src/Core.php:482
 
1364
  msgid "<strong>EMAIL DELIVERY ERROR:</strong> the plugin %s logged this error during the last time it tried to send an email:"
1365
  msgstr ""
1366
 
1367
- #: src/Core.php:512
 
1368
  msgid "Consider running an email test after fixing it."
1369
  msgstr ""
1370
 
1371
  #. translators: %1$s - WP Mail SMTP, %2$s - error message.
 
1372
  #: src/Migration.php:137
1373
  msgid "There was an error while upgrading the database. Please contact %1$s support with this information: %2$s."
1374
  msgstr ""
1375
 
1376
- #: src/Pro/Providers/Providers.php:158
1377
- msgid "OK"
1378
- msgstr ""
1379
-
1380
- #: src/Pro/SiteHealth.php:58
1381
- msgid "Is wpmailsmtp.com reachable?"
1382
- msgstr ""
1383
-
1384
  #: src/Providers/AmazonSES/Options.php:25
1385
  msgid "Amazon SES"
1386
  msgstr ""
1387
 
 
1388
  #: src/Providers/AmazonSES/Options.php:39
1389
  msgid "We're sorry, the Amazon SES mailer is not available on your plan. Please upgrade to the PRO plan to unlock all these awesome features."
1390
  msgstr ""
1391
 
 
1392
  #: src/Providers/Gmail/Auth.php:182
1393
  msgid "There was an error while processing the Google authentication request. Please make sure that you have Client ID and Client Secret both valid and saved."
1394
  msgstr ""
1395
 
 
1396
  #: src/Providers/Gmail/Mailer.php:255
1397
  msgid "Please re-grant Google app permissions!"
1398
  msgstr ""
1399
 
 
1400
  #: src/Providers/Gmail/Mailer.php:256
1401
  msgid "Go to WP Mail SMTP plugin settings page. Click the “Remove Connection” button."
1402
  msgstr ""
1403
 
 
1404
  #: src/Providers/Gmail/Mailer.php:257
1405
  msgid "Then click the “Allow plugin to send emails using your Google account” button and re-enable access."
1406
  msgstr ""
1407
 
1408
- #: src/Providers/Gmail/Options.php:32
 
1409
  msgid "Gmail"
1410
  msgstr ""
1411
 
1412
  #. translators: %s - URL to our Gmail doc.
1413
- #: src/Providers/Gmail/Options.php:35
 
1414
  msgid "Send emails using your Gmail or G Suite (formerly Google Apps) account, all while keeping your login credentials safe. Other Google SMTP methods require enabling less secure apps in your account and entering your password. However, this integration uses the Google API to improve email delivery issues while keeping your site secure.<br><br>Read our <a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\">Gmail documentation</a> to learn how to configure Gmail or G Suite."
1415
  msgstr ""
1416
 
1417
- #: src/Providers/Gmail/Options.php:48
 
1418
  msgid "The Gmail mailer works well for sites that send low numbers of emails. However, Gmail's API has rate limitations and a number of additional restrictions that can lead to challenges during setup. If you expect to send a high volume of emails, or if you find that your web host is not compatible with the Gmail API restrictions, then we recommend considering a different mailer option."
1419
  msgstr ""
1420
 
1421
- #: src/Providers/Gmail/Options.php:72
 
1422
  msgid "Client ID"
1423
  msgstr ""
1424
 
1425
- #: src/Providers/Gmail/Options.php:87
 
1426
  msgid "Client Secret"
1427
  msgstr ""
1428
 
1429
- #: src/Providers/Gmail/Options.php:109
 
1430
  msgid "Authorized redirect URI"
1431
  msgstr ""
1432
 
1433
- #: src/Providers/Gmail/Options.php:117
 
1434
  msgid "Copy URL to clipboard"
1435
  msgstr ""
1436
 
1437
- #: src/Providers/Gmail/Options.php:122
 
1438
  msgid "Please copy this URL into the \"Authorized redirect URIs\" field of your Google web application."
1439
  msgstr ""
1440
 
1441
- #: src/Providers/Gmail/Options.php:131
 
1442
  msgid "Authorization"
1443
  msgstr ""
1444
 
1445
- #: src/Providers/Gmail/Options.php:159
 
1446
  msgid "Allow plugin to send emails using your Google account"
1447
  msgstr ""
1448
 
1449
- #: src/Providers/Gmail/Options.php:162
 
1450
  msgid "Click the button above to confirm authorization."
1451
  msgstr ""
1452
 
1453
- #: src/Providers/Gmail/Options.php:168
 
1454
  msgid "Remove Connection"
1455
  msgstr ""
1456
 
1457
  #. translators: %s - email address, as received from Google API.
1458
- #: src/Providers/Gmail/Options.php:177
 
1459
  msgid "Connected as %s"
1460
  msgstr ""
1461
 
1462
  #. translators: %s - URL to Google Gmail alias documentation page.
1463
- #: src/Providers/Gmail/Options.php:187
 
1464
  msgid "If you want to use a different From Email address you can set-up a Google email alias. <a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\">Follow these instructions</a> and then select the From Email at the top of this page."
1465
  msgstr ""
1466
 
1467
- #: src/Providers/Gmail/Options.php:201
 
1468
  msgid "Removing the connection will give you an ability to redo the connection or link to another Google account."
1469
  msgstr ""
1470
 
1471
- #: src/Providers/Gmail/Options.php:209
 
1472
  msgid "You need to save settings with Client ID and Client Secret before you can proceed."
1473
  msgstr ""
1474
 
 
1475
  #: src/Providers/Mail/Options.php:25
1476
  msgid "Default (none)"
1477
  msgstr ""
1478
 
 
1479
  #: src/Providers/Mail/Options.php:37
1480
  msgid "You currently have the native WordPress option selected. Please select any other Mailer option above to continue the setup."
1481
  msgstr ""
1482
 
 
1483
  #: src/Providers/Mailgun/Mailer.php:392
1484
  msgid "Mailgun API request was successful, but it could not queue the email for delivery."
1485
  msgstr ""
1486
 
 
1487
  #: src/Providers/Mailgun/Mailer.php:393
1488
  msgid "This could point to an incorrect Domain Name in the plugin settings."
1489
  msgstr ""
1490
 
 
1491
  #: src/Providers/Mailgun/Mailer.php:394
1492
  msgid "Please check the WP Mail SMTP plugin settings and make sure the Mailgun Domain Name setting is correct."
1493
  msgstr ""
1494
 
 
1495
  #: src/Providers/Mailgun/Options.php:25
1496
  msgid "Mailgun"
1497
  msgstr ""
1498
 
1499
  #. translators: %1$s - opening link tag; %2$s - closing link tag; %3$s - opening link tag; %4$s - closing link tag.
 
1500
  #: src/Providers/Mailgun/Options.php:29
1501
  msgid "%1$sMailgun%2$s is one of the leading transactional email services trusted by over 150,000+ businesses. They provide 5,000 free emails per month for 3 months.<br><br>Read our %3$sMailgun documentation%4$s to learn how to configure Mailgun and improve your email deliverability."
1502
  msgstr ""
1503
 
 
1504
  #: src/Providers/Mailgun/Options.php:57
1505
  msgid "Private API Key"
1506
  msgstr ""
1507
 
1508
  #. translators: %s - API key link.
 
1509
  #: src/Providers/Mailgun/Options.php:76
1510
  msgid "Follow this link to get an API Key from Mailgun: %s."
1511
  msgstr ""
1512
 
 
1513
  #: src/Providers/Mailgun/Options.php:78
1514
  msgid "Get a Private API Key"
1515
  msgstr ""
1516
 
 
1517
  #: src/Providers/Mailgun/Options.php:89
1518
  msgid "Domain Name"
1519
  msgstr ""
1520
 
1521
  #. translators: %s - Domain Name link.
 
1522
  #: src/Providers/Mailgun/Options.php:101
1523
  msgid "Follow this link to get a Domain Name from Mailgun: %s."
1524
  msgstr ""
1525
 
 
1526
  #: src/Providers/Mailgun/Options.php:103
1527
  msgid "Get a Domain Name"
1528
  msgstr ""
1529
 
 
1530
  #: src/Providers/Mailgun/Options.php:114
1531
  msgid "Region"
1532
  msgstr ""
1533
 
 
1534
  #: src/Providers/Mailgun/Options.php:124
1535
  msgid "US"
1536
  msgstr ""
1537
 
 
1538
  #: src/Providers/Mailgun/Options.php:133
1539
  msgid "EU"
1540
  msgstr ""
1541
 
 
1542
  #: src/Providers/Mailgun/Options.php:137
1543
  msgid "Define which endpoint you want to use for sending messages."
1544
  msgstr ""
1545
 
 
1546
  #: src/Providers/Mailgun/Options.php:138
1547
  msgid "If you are operating under EU laws, you may be required to use EU region."
1548
  msgstr ""
1549
 
1550
  #. translators: %s - URL to Mailgun.com page.
 
1551
  #: src/Providers/Mailgun/Options.php:143
1552
  msgid "<a href=\"%s\" rel=\"\" target=\"_blank\">More information</a> on Mailgun.com."
1553
  msgstr ""
1554
 
1555
- #: src/Providers/OptionsAbstract.php:186
 
1556
  msgid "SMTP Host"
1557
  msgstr ""
1558
 
1559
- #: src/Providers/OptionsAbstract.php:200
 
1560
  msgid "Encryption"
1561
  msgstr ""
1562
 
1563
- #: src/Providers/OptionsAbstract.php:210
 
1564
  msgid "None"
1565
  msgstr ""
1566
 
1567
- #: src/Providers/OptionsAbstract.php:219
 
1568
  msgid "SSL"
1569
  msgstr ""
1570
 
1571
- #: src/Providers/OptionsAbstract.php:228
 
1572
  msgid "TLS"
1573
  msgstr ""
1574
 
1575
- #: src/Providers/OptionsAbstract.php:232
 
1576
  msgid "For most servers TLS is the recommended option. If your SMTP provider offers both SSL and TLS options, we recommend using TLS."
1577
  msgstr ""
1578
 
1579
- #: src/Providers/OptionsAbstract.php:240
 
1580
  msgid "SMTP Port"
1581
  msgstr ""
1582
 
1583
- #: src/Providers/OptionsAbstract.php:254
 
1584
  msgid "Auto TLS"
1585
  msgstr ""
1586
 
1587
- #: src/Providers/OptionsAbstract.php:268
 
1588
  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."
1589
  msgstr ""
1590
 
1591
- #: src/Providers/OptionsAbstract.php:276
 
1592
  msgid "Authentication"
1593
  msgstr ""
1594
 
1595
- #: src/Providers/OptionsAbstract.php:295
 
1596
  msgid "SMTP Username"
1597
  msgstr ""
1598
 
1599
- #: src/Providers/OptionsAbstract.php:309
 
1600
  msgid "SMTP Password"
1601
  msgstr ""
1602
 
1603
  #. translators: %s - constant name: WPMS_SMTP_PASS.
1604
- #: src/Providers/OptionsAbstract.php:321
 
1605
  msgid "To change the password you need to change the value of the constant there: %s"
1606
  msgstr ""
1607
 
1608
  #. translators: %1$s - wp-config.php file, %2$s - WPMS_ON constant name.
1609
- #: src/Providers/OptionsAbstract.php:329
 
1610
  msgid "If you want to disable the use of constants, find in %1$s file the constant %2$s and turn if off:"
1611
  msgstr ""
1612
 
1613
- #: src/Providers/OptionsAbstract.php:339
 
1614
  msgid "All the defined constants will stop working and you will be able to change all the values on this page."
1615
  msgstr ""
1616
 
1617
- #: src/Providers/OptionsAbstract.php:347
 
1618
  msgid "The password will be stored in plain text. For improved security, we highly recommend using your site's WordPress configuration file to set your password."
1619
  msgstr ""
1620
 
1621
- #: src/Providers/OptionsAbstract.php:350
 
1622
  msgid "Learn More"
1623
  msgstr ""
1624
 
1625
  #. translators: %1$s - Provider name; %2$s - PHP version required by Provider; %3$s - current PHP version.
1626
- #: src/Providers/OptionsAbstract.php:410
 
1627
  msgid "%1$s requires PHP %2$s to work and does not support your current PHP version %3$s. Please contact your host and request a PHP upgrade to the latest one."
1628
  msgstr ""
1629
 
1630
- #: src/Providers/OptionsAbstract.php:417
 
1631
  msgid "Meanwhile you can switch to some other mailers."
1632
  msgstr ""
1633
 
1634
  #. translators: %s - Provider name
1635
- #: src/Providers/OptionsAbstract.php:436
 
1636
  msgid "%s requires an SSL certificate, and so is not currently compatible with your site. Please contact your host to request a SSL certificate, or check out <a href=\"https://www.wpbeginner.com/wp-tutorials/how-to-add-ssl-and-https-in-wordpress/\" target=\"_blank\">WPBeginner's tutorial on how to set up SSL</a>."
1637
  msgstr ""
1638
 
1639
- #: src/Providers/OptionsAbstract.php:449
 
1640
  msgid "If you'd prefer not to set up SSL, or need an SMTP solution in the meantime, please select a different mailer option."
1641
  msgstr ""
1642
 
 
1643
  #: src/Providers/Outlook/Options.php:25
1644
  msgid "Outlook"
1645
  msgstr ""
1646
 
 
1647
  #: src/Providers/Outlook/Options.php:39
1648
  msgid "We're sorry, the Microsoft Outlook mailer is not available on your plan. Please upgrade to the PRO plan to unlock all these awesome features."
1649
  msgstr ""
1650
 
 
1651
  #: src/Providers/Pepipost/Options.php:25
1652
  msgid "Pepipost SMTP"
1653
  msgstr ""
1654
 
 
1655
  #: src/Providers/PepipostAPI/Mailer.php:339
1656
  msgid "General error"
1657
  msgstr ""
1658
 
 
1659
  #: src/Providers/PepipostAPI/Mailer.php:340
1660
  msgid "Error"
1661
  msgstr ""
1662
 
1663
  #. translators: %1$s - URL to pepipost.com site.
1664
- #: src/Providers/PepipostAPI/Options.php:31
1665
- msgid "<strong><a href=\"%1$s\" target=\"_blank\" rel=\"noopener noreferrer\">Pepipost</a> is a recommended transactional email service.</strong> Every month Pepipost delivers over 8 billion emails from 20,000+ customers. Their mission is to reliably send emails in the most efficient way and at the most disruptive pricing ever. Pepipost provides users 30,000 free emails the first 30 days."
 
1666
  msgstr ""
1667
 
1668
  #. translators: %1$s - URL to wpmailsmtp.com doc.
1669
- #: src/Providers/PepipostAPI/Options.php:34
 
1670
  msgid "Read our <a href=\"%2$s\" target=\"_blank\" rel=\"noopener noreferrer\">Pepipost documentation</a> to learn how to configure Pepipost and improve your email deliverability."
1671
  msgstr ""
1672
 
 
1673
  #: src/Providers/PepipostAPI/Options.php:53
1674
  msgid "Get Started with Pepipost"
1675
  msgstr ""
1676
 
 
1677
  #: src/Providers/PepipostAPI/Options.php:61
1678
  msgid "Pepipost"
1679
  msgstr ""
1680
 
1681
- #: src/Providers/PepipostAPI/Options.php:88
1682
- #: src/Providers/Sendgrid/Options.php:57
1683
- #: src/Providers/Sendinblue/Options.php:76
1684
- #: src/Providers/SMTPcom/Options.php:83
 
 
 
 
1685
  msgid "API Key"
1686
  msgstr ""
1687
 
1688
  #. translators: %s - link to get an API Key.
1689
- #: src/Providers/PepipostAPI/Options.php:107
1690
- #: src/Providers/Sendinblue/Options.php:95
 
 
1691
  msgid "Follow this link to get an API Key: %s."
1692
  msgstr ""
1693
 
1694
- #: src/Providers/PepipostAPI/Options.php:109
 
1695
  msgid "Get the API Key"
1696
  msgstr ""
1697
 
1698
- #: src/Providers/Sendgrid/Options.php:25
 
1699
  msgid "SendGrid"
1700
  msgstr ""
1701
 
1702
  #. translators: %1$s - opening link tag; %2$s - closing link tag; %3$s - opening link tag; %4$s - closing link tag.
1703
- #: src/Providers/Sendgrid/Options.php:29
 
1704
  msgid "%1$sSendGrid%2$s is one of the leading transactional email services, sending over 35 billion emails every month. They provide users 100 free emails per day.<br><br>Read our %3$sSendGrid documentation%4$s to learn how to set up SendGrid and improve your email deliverability."
1705
  msgstr ""
1706
 
1707
  #. translators: %s - API key link.
1708
- #: src/Providers/Sendgrid/Options.php:76
 
1709
  msgid "Follow this link to get an API Key from SendGrid: %s."
1710
  msgstr ""
1711
 
1712
- #: src/Providers/Sendgrid/Options.php:78
 
1713
  msgid "Create API Key"
1714
  msgstr ""
1715
 
1716
  #. translators: %s - SendGrid access level.
1717
- #: src/Providers/Sendgrid/Options.php:86
 
1718
  msgid "To send emails you will need only a %s access level for this API key."
1719
  msgstr ""
1720
 
1721
- #: src/Providers/Sendinblue/Options.php:33
 
1722
  msgid "Sendinblue"
1723
  msgstr ""
1724
 
1725
  #. translators: %1$s - URL to sendinblue.com site.
1726
- #: src/Providers/Sendinblue/Options.php:37
 
1727
  msgid "<a href=\"%1$s\" target=\"_blank\" rel=\"noopener noreferrer\">Sendinblue</a> serves 80,000+ growing companies around the world and sends over 30 million emails each day. They provide users 300 free emails per day."
1728
  msgstr ""
1729
 
1730
  #. translators: %2$s - URL to wpmailsmtp.com doc.
1731
- #: src/Providers/Sendinblue/Options.php:40
 
1732
  msgid "Read our <a href=\"%2$s\" target=\"_blank\" rel=\"noopener noreferrer\">Sendinblue documentation</a> to learn how to configure Sendinblue and improve your email deliverability."
1733
  msgstr ""
1734
 
1735
- #: src/Providers/Sendinblue/Options.php:97
 
1736
  msgid "Get v3 API Key"
1737
  msgstr ""
1738
 
 
1739
  #: src/Providers/SMTP/Options.php:25
1740
  msgid "Other SMTP"
1741
  msgstr ""
1742
 
1743
  #. translators: %s - URL to SMTP documentation.
 
1744
  #: src/Providers/SMTP/Options.php:29
1745
  msgid "Use the SMTP details provided by your hosting provider or email service.<br><br>To see recommended settings for the popular services as well as troubleshooting tips, check out our <a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\">SMTP documentation</a>."
1746
  msgstr ""
1747
 
 
1748
  #: src/Providers/SMTPcom/Mailer.php:434
1749
  msgid "Api Key:"
1750
  msgstr ""
1751
 
 
1752
  #: src/Providers/SMTPcom/Mailer.php:436
1753
  msgid "Channel:"
1754
  msgstr ""
1755
 
1756
  #. translators: %s - URL to smtp.com site.
1757
- #: src/Providers/SMTPcom/Options.php:41
 
1758
  msgid "<strong><a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\">SMTP.com</a> is a recommended transactional email service.</strong> With a 22 years of track record of reliable email delivery, SMTP.com is a premiere solution for WordPress developers and website owners. SMTP.com has been around for almost as long as email itself. Their super simple integration interface makes it easy to get started while a powerful API and robust documentation make it a preferred choice among developers. Start a 30-day free trial with 50,000 emails."
1759
  msgstr ""
1760
 
1761
  #. translators: %s - URL to wpmailsmtp.com doc page for stmp.com.
1762
- #: src/Providers/SMTPcom/Options.php:49
 
1763
  msgid "Read our <a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\">SMTP.com documentation</a> to learn how to configure SMTP.com and improve your email deliverability."
1764
  msgstr ""
1765
 
1766
- #: src/Providers/SMTPcom/Options.php:59
 
1767
  msgid "Get Started with SMTP.com"
1768
  msgstr ""
1769
 
1770
- #: src/Providers/SMTPcom/Options.php:67
 
1771
  msgid "SMTP.com"
1772
  msgstr ""
1773
 
1774
  #. translators: %s - API key link.
1775
- #: src/Providers/SMTPcom/Options.php:101
 
1776
  msgid "Follow this link to get an API Key from SMTP.com: %s."
1777
  msgstr ""
1778
 
1779
- #: src/Providers/SMTPcom/Options.php:103
 
1780
  msgid "Get API Key"
1781
  msgstr ""
1782
 
1783
- #: src/Providers/SMTPcom/Options.php:114
 
1784
  msgid "Sender Name"
1785
  msgstr ""
1786
 
1787
  #. translators: %s - Channel/Sender Name link for smtp.com documentation.
1788
- #: src/Providers/SMTPcom/Options.php:130
 
1789
  msgid "Follow this link to get a Sender Name from SMTP.com: %s."
1790
  msgstr ""
1791
 
1792
- #: src/Providers/SMTPcom/Options.php:132
 
1793
  msgid "Get Sender Name"
1794
  msgstr ""
1795
 
 
 
 
 
 
 
 
 
 
 
 
1796
  #: src/SiteHealth.php:67
1797
  msgid "Is WP Mail SMTP mailer setup complete?"
1798
  msgstr ""
1799
 
 
1800
  #: src/SiteHealth.php:72
1801
  msgid "Do WP Mail SMTP DB tables exist?"
1802
  msgstr ""
1803
 
 
1804
  #: src/SiteHealth.php:98
1805
  msgid "Version"
1806
  msgstr ""
1807
 
 
1808
  #: src/SiteHealth.php:102
1809
  msgid "License key type"
1810
  msgstr ""
1811
 
 
1812
  #: src/SiteHealth.php:106
1813
  msgid "Debug"
1814
  msgstr ""
1815
 
 
1816
  #: src/SiteHealth.php:107
1817
  msgid "No debug notices found."
1818
  msgstr ""
1819
 
 
1820
  #: src/SiteHealth.php:110
1821
  msgid "DB tables"
1822
  msgstr ""
1823
 
 
1824
  #: src/SiteHealth.php:112
1825
  msgid "No DB tables found."
1826
  msgstr ""
1827
 
1828
- #: src/SiteHealth.php:142
 
 
 
 
 
 
 
 
 
 
 
1829
  msgid "Current mailer"
1830
  msgstr ""
1831
 
1832
- #: src/SiteHealth.php:147
 
1833
  msgid "WP Mail SMTP mailer setup is complete"
1834
  msgstr ""
1835
 
1836
- #: src/SiteHealth.php:156
 
1837
  msgid "The WP Mail SMTP plugin mailer setup is complete. You can send a test email, to make sure it's working properly."
1838
  msgstr ""
1839
 
1840
- #: src/SiteHealth.php:161
 
1841
  msgid "Test email sending"
1842
  msgstr ""
1843
 
1844
- #: src/SiteHealth.php:169
 
1845
  msgid "You currently have the default mailer selected, which means that you haven’t set up SMTP yet."
1846
  msgstr ""
1847
 
1848
- #: src/SiteHealth.php:174
 
1849
  msgid "WP Mail SMTP mailer setup is incomplete"
1850
  msgstr ""
1851
 
1852
- #: src/SiteHealth.php:180
 
1853
  msgid "The WP Mail SMTP plugin mailer setup is incomplete. Please click on the link below to access plugin settings and configure the mailer."
1854
  msgstr ""
1855
 
1856
- #: src/SiteHealth.php:185
 
1857
  msgid "Configure mailer"
1858
  msgstr ""
1859
 
1860
- #: src/SiteHealth.php:202
 
1861
  msgid "WP Mail SMTP DB tables are created"
1862
  msgstr ""
1863
 
1864
- #: src/SiteHealth.php:208
 
1865
  msgid "WP Mail SMTP is using custom database tables for some of its features. In order to work properly, the custom tables should be created, and it looks like they exist in your database."
1866
  msgstr ""
1867
 
1868
- #: src/SiteHealth.php:216
 
1869
  msgid "WP Mail SMTP DB tables check has failed"
1870
  msgstr ""
1871
 
1872
  #. translators: %s - the list of missing tables separated by comma.
1873
- #: src/SiteHealth.php:222
 
1874
  msgid "Missing table: %s"
1875
  msgid_plural "Missing tables: %s"
1876
  msgstr[0] ""
1877
  msgstr[1] ""
1878
 
1879
- #: src/SiteHealth.php:225
 
1880
  msgid "WP Mail SMTP is using custom database tables for some of its features. In order to work properly, the custom tables should be created, and it seems they are missing. Please try to re-install the WP Mail SMTP plugin. If this issue persists, please contact our support."
1881
  msgstr ""
1882
 
1883
  #. translators: %1$s - date, \a\t - specially escaped "at", %2$s - time.
 
1884
  #: src/WP.php:190
1885
  msgid "%1$s \\a\\t %2$s"
1886
  msgstr ""
1887
 
1888
- #: wp_mail_smtp.php:135
 
1889
  msgid "Please deactivate the free version of the WP Mail SMTP plugin before activating WP Mail SMTP Pro."
1890
  msgstr ""
1891
 
1892
  #. translators: %1$s - WPBeginner URL for recommended WordPress hosting.
1893
- #: wp_mail_smtp.php:163
 
1894
  msgid "Your site is running an <strong>insecure version</strong> of PHP that is no longer supported. Please contact your web hosting provider to update your PHP version or switch to a <a href=\"%1$s\" target=\"_blank\" rel=\"noopener noreferrer\">recommended WordPress hosting company</a>."
1895
  msgstr ""
1896
 
1897
  #. translators: %s - WPMailSMTP.com docs URL with more details.
1898
- #: wp_mail_smtp.php:180
 
1899
  msgid "<strong>WP Mail SMTP plugin is disabled</strong> on your site until you fix the issue. <a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\">Read more for additional information.</a>"
1900
  msgstr ""
 
 
 
 
 
 
 
 
1
  msgid ""
2
  msgstr ""
3
+ "Project-Id-Version: WP Mail SMTP 2.3.1\n"
4
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-mail-smtp\n"
5
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
6
  "Language-Team: LANGUAGE <LL@li.org>\n"
7
  "MIME-Version: 1.0\n"
8
  "Content-Type: text/plain; charset=UTF-8\n"
9
  "Content-Transfer-Encoding: 8bit\n"
10
+ "POT-Creation-Date: 2020-08-20T16:39:06+03:00\n"
11
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12
  "X-Generator: WP-CLI 2.4.0\n"
13
  "X-Domain: wp-mail-smtp\n"
33
  msgstr ""
34
 
35
  #. translators: %s - error code, returned by Google API.
36
+ #: build/wp-mail-smtp/src/Admin/Area.php:126
37
+ #: src/Admin/Area.php:126
38
  msgid "There was an error while processing the authentication request: %s. Please try again."
39
  msgstr ""
40
 
41
+ #: build/wp-mail-smtp/src/Admin/Area.php:133
42
  #: src/Admin/Area.php:133
43
  msgid "There was an error while processing the authentication request. Please try again."
44
  msgstr ""
45
 
46
+ #: build/wp-mail-smtp/src/Admin/Area.php:140
47
  #: src/Admin/Area.php:140
48
  msgid "There was an error while processing the authentication request. Please make sure that you have Client ID and Client Secret both valid and saved."
49
  msgstr ""
50
 
51
+ #: build/wp-mail-smtp/src/Admin/Area.php:149
52
  #: src/Admin/Area.php:149
53
  msgid "You have successfully linked the current site with your Google API project. Now you can start sending emails through Gmail."
54
  msgstr ""
55
 
 
 
 
 
56
  #. translators: %s - Mailer anchor link.
57
+ #: build/wp-mail-smtp/src/Admin/Area.php:180
58
+ #: src/Admin/Area.php:180
59
  msgid "Thanks for using WP Mail SMTP! To complete the plugin setup and start sending emails, <strong>please select and configure your <a href=\"%s\">Mailer</a></strong>."
60
  msgstr ""
61
 
62
+ #: build/wp-mail-smtp/src/Admin/Area.php:203
63
+ #: build/wp-mail-smtp/src/Admin/Area.php:204
64
+ #: build/wp-mail-smtp/src/SiteHealth.php:40
65
+ #: src/Admin/Area.php:203
66
+ #: src/Admin/Area.php:204
67
  #: src/SiteHealth.php:40
68
  msgid "WP Mail SMTP"
69
  msgstr ""
70
 
71
+ #: build/wp-mail-smtp/src/Admin/Area.php:214
72
+ #: build/wp-mail-smtp/src/Admin/Area.php:215
73
+ #: build/wp-mail-smtp/src/Admin/Area.php:862
74
+ #: src/Admin/Area.php:214
75
+ #: src/Admin/Area.php:215
76
  #: src/Admin/Area.php:862
77
  msgid "Settings"
78
  msgstr ""
79
 
80
+ #: build/wp-mail-smtp/src/Admin/Area.php:222
81
+ #: build/wp-mail-smtp/src/Admin/Area.php:223
82
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:653
83
+ #: build/wp-mail-smtp/src/Admin/Pages/Logs.php:48
84
+ #: build/wp-mail-smtp/src/Admin/Pages/LogsTab.php:30
85
+ #: src/Admin/Area.php:222
86
+ #: src/Admin/Area.php:223
87
+ #: src/Admin/Pages/About.php:653
88
  #: src/Admin/Pages/Logs.php:48
89
  #: src/Admin/Pages/LogsTab.php:30
90
  msgid "Email Log"
91
  msgstr ""
92
 
93
+ #: build/wp-mail-smtp/src/Admin/Area.php:232
94
+ #: build/wp-mail-smtp/src/Admin/Area.php:233
95
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:106
96
+ #: src/Admin/Area.php:232
97
+ #: src/Admin/Area.php:233
98
  #: src/Admin/Pages/About.php:106
99
  msgid "About Us"
100
  msgstr ""
101
 
102
+ #: build/wp-mail-smtp/src/Admin/Area.php:296
103
+ #: src/Admin/Area.php:296
104
  msgid "Are you sure you want to reset the current provider connection? You will need to immediately create a new one to be able to send emails."
105
  msgstr ""
106
 
107
+ #: build/wp-mail-smtp/src/Admin/Area.php:297
108
+ #: src/Admin/Area.php:297
109
  msgid "Changes that you made to the settings are not saved!"
110
  msgstr ""
111
 
112
+ #: build/wp-mail-smtp/src/Admin/Area.php:299
113
+ #: src/Admin/Area.php:299
114
  msgid "Heads up!"
115
  msgstr ""
116
 
117
+ #: build/wp-mail-smtp/src/Admin/Area.php:301
118
+ #: src/Admin/Area.php:301
119
  msgid "<p>The Default (PHP) mailer is currently selected, but is not recommended because in most cases it does not resolve email delivery issues.</p><p>Please consider selecting and configuring one of the other mailers.</p>"
120
  msgstr ""
121
 
122
+ #: build/wp-mail-smtp/src/Admin/Area.php:304
123
+ #: build/wp-mail-smtp/src/Admin/PageAbstract.php:83
124
+ #: src/Admin/Area.php:304
125
  #: src/Admin/PageAbstract.php:83
126
  msgid "Save Settings"
127
  msgstr ""
128
 
129
+ #: build/wp-mail-smtp/src/Admin/Area.php:305
130
+ #: src/Admin/Area.php:305
131
  msgid "Cancel"
132
  msgstr ""
133
 
134
+ #: build/wp-mail-smtp/src/Admin/Area.php:306
135
+ #: src/Admin/Area.php:306
136
  msgid "Warning icon"
137
  msgstr ""
138
 
139
+ #: build/wp-mail-smtp/src/Admin/Area.php:311
140
+ #: src/Admin/Area.php:311
141
  msgid "%name% is a PRO Feature"
142
  msgstr ""
143
 
144
+ #: build/wp-mail-smtp/src/Admin/Area.php:312
145
+ #: src/Admin/Area.php:312
146
  msgid "Upgrade to Pro"
147
  msgstr ""
148
 
149
+ #: build/wp-mail-smtp/src/Admin/Area.php:316
150
+ #: src/Admin/Area.php:316
151
  msgid "<strong>Bonus:</strong> WP Mail SMTP users get <span>$50 off</span> regular price,<br>applied at checkout."
152
  msgstr ""
153
 
154
+ #: build/wp-mail-smtp/src/Admin/Area.php:325
155
+ #: src/Admin/Area.php:325
156
  msgid "Already purchased?"
157
  msgstr ""
158
 
159
+ #: build/wp-mail-smtp/src/Admin/Area.php:394
160
+ #: build/wp-mail-smtp/src/Admin/Area.php:401
161
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:334
162
+ #: src/Admin/Area.php:394
163
+ #: src/Admin/Area.php:401
164
+ #: src/Admin/Pages/About.php:334
165
  msgid "Activate"
166
  msgstr ""
167
 
168
+ #: build/wp-mail-smtp/src/Admin/Area.php:395
169
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:326
170
+ #: src/Admin/Area.php:395
171
+ #: src/Admin/Pages/About.php:326
172
  msgid "Activated"
173
  msgstr ""
174
 
175
+ #: build/wp-mail-smtp/src/Admin/Area.php:396
176
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:323
177
+ #: src/Admin/Area.php:396
178
+ #: src/Admin/Pages/About.php:323
179
  msgid "Active"
180
  msgstr ""
181
 
182
+ #: build/wp-mail-smtp/src/Admin/Area.php:397
183
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:331
184
+ #: src/Admin/Area.php:397
185
+ #: src/Admin/Pages/About.php:331
186
  msgid "Inactive"
187
  msgstr ""
188
 
189
+ #: build/wp-mail-smtp/src/Admin/Area.php:398
190
+ #: src/Admin/Area.php:398
191
  msgid "Processing..."
192
  msgstr ""
193
 
194
+ #: build/wp-mail-smtp/src/Admin/Area.php:399
195
+ #: src/Admin/Area.php:399
196
  msgid "Could not install a plugin. Please download from WordPress.org and install manually."
197
  msgstr ""
198
 
199
+ #: build/wp-mail-smtp/src/Admin/Area.php:400
200
+ #: src/Admin/Area.php:400
201
  msgid "Install and Activate"
202
  msgstr ""
203
 
204
+ #: build/wp-mail-smtp/src/Admin/Area.php:402
205
+ #: src/Admin/Area.php:402
206
  msgid "Download"
207
  msgstr ""
208
 
209
  #. translators: %1$s - WP.org link; %2$s - same WP.org link.
210
+ #: build/wp-mail-smtp/src/Admin/Area.php:464
211
+ #: src/Admin/Area.php:464
212
  msgid "Please rate <strong>WP Mail SMTP</strong> <a href=\"%1$s\" target=\"_blank\" rel=\"noopener noreferrer\">&#9733;&#9733;&#9733;&#9733;&#9733;</a> on <a href=\"%2$s\" target=\"_blank\" rel=\"noopener noreferrer\">WordPress.org</a> to help us spread the word. Thank you from the WP Mail SMTP team!"
213
  msgstr ""
214
 
215
+ #: build/wp-mail-smtp/src/Admin/Area.php:803
216
  #: src/Admin/Area.php:803
217
  msgid "WP Mail SMTP Pro related message was successfully dismissed."
218
  msgstr ""
219
 
220
+ #: build/wp-mail-smtp/src/Admin/Area.php:822
221
  #: src/Admin/Area.php:822
222
  msgid "Educational notice for this mailer was successfully dismissed."
223
  msgstr ""
224
 
225
+ #: build/wp-mail-smtp/src/Admin/Area.php:861
226
  #: src/Admin/Area.php:861
227
  msgid "Go to WP Mail SMTP Settings page"
228
  msgstr ""
229
 
230
+ #: build/wp-mail-smtp/src/Admin/Area.php:868
231
  #: src/Admin/Area.php:868
232
  msgid "Go to WP Mail SMTP Lite vs Pro comparison page"
233
  msgstr ""
234
 
235
+ #: build/wp-mail-smtp/src/Admin/Area.php:869
236
  #: src/Admin/Area.php:869
237
  msgid "Premium Support"
238
  msgstr ""
239
 
240
+ #. translators: %s - WPMailSMTP.com Upgrade page URL.
241
+ #: build/wp-mail-smtp/src/Admin/Education.php:69
242
+ #: src/Admin/Education.php:69
243
+ msgid "You’re using WP Mail SMTP Lite. To unlock more features consider <a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\">upgrading to Pro</a>."
244
+ msgstr ""
245
+
246
+ #: build/wp-mail-smtp/src/Admin/Education.php:80
247
+ #: src/Admin/Education.php:80
248
+ msgid "Dismiss this message."
249
+ msgstr ""
250
+
251
+ #: build/wp-mail-smtp/src/Admin/Notifications.php:441
252
+ #: src/Admin/Notifications.php:441
253
+ msgid "Dismiss this message"
254
+ msgstr ""
255
+
256
+ #: build/wp-mail-smtp/src/Admin/Notifications.php:444
257
+ #: src/Admin/Notifications.php:444
258
+ msgid "Previous message"
259
+ msgstr ""
260
+
261
+ #: build/wp-mail-smtp/src/Admin/Notifications.php:445
262
+ #: src/Admin/Notifications.php:445
263
+ msgid "Next message"
264
+ msgstr ""
265
+
266
  #. translators: %s - plugin current license type.
267
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:99
268
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:552
269
  #: src/Admin/Pages/About.php:99
270
+ #: src/Admin/Pages/About.php:552
271
  msgid "%s vs Pro"
272
  msgstr ""
273
 
274
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:173
275
+ #: src/Admin/Pages/About.php:173
276
  msgid "Hello and welcome to WP Mail SMTP, the easiest and most popular WordPress SMTP plugin. We build software that helps your site reliably deliver emails every time."
277
  msgstr ""
278
 
279
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:177
280
+ #: src/Admin/Pages/About.php:177
281
  msgid "Email deliverability has been a well-documented problem for all WordPress websites. However as WPForms grew, we became more aware of this painful issue that affects our users and the larger WordPress community. So we decided to solve this problem and make a solution that's beginner friendly."
282
  msgstr ""
283
 
284
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:180
285
+ #: src/Admin/Pages/About.php:180
286
  msgid "Our goal is to make reliable email deliverability easy for WordPress."
287
  msgstr ""
288
 
289
  #. translators: %1$s - WPForms URL, %2$s - WPBeginner URL, %3$s - OptinMonster URL, %4$s - MonsterInsights URL, %5$s - RafflePress URL
290
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:187
291
+ #: src/Admin/Pages/About.php:187
292
  msgid "WP Mail SMTP is brought to you by the same team that's behind the most user friendly WordPress forms, <a href=\"%1$s\" target=\"_blank\" rel=\"noopener noreferrer\">WPForms</a>, the largest WordPress resource site, <a href=\"%2$s\" target=\"_blank\" rel=\"noopener noreferrer\">WPBeginner</a>, the most popular lead-generation software, <a href=\"%3$s\" target=\"_blank\" rel=\"noopener noreferrer\">OptinMonster</a>, the best WordPress analytics plugin, <a href=\"%4$s\" target=\"_blank\" rel=\"noopener noreferrer\">MonsterInsights</a>, and the most powerful WordPress contest plugin, <a href=\"%5$s\" target=\"_blank\" rel=\"noopener noreferrer\">RafflePress</a>."
293
  msgstr ""
294
 
295
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:205
296
+ #: src/Admin/Pages/About.php:205
297
  msgid "Yup, we know a thing or two about building awesome products that customers love."
298
  msgstr ""
299
 
300
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:211
301
+ #: src/Admin/Pages/About.php:211
302
  msgid "The WPForms Team photo"
303
  msgstr ""
304
 
305
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:213
306
+ #: src/Admin/Pages/About.php:213
307
  msgid "The WPForms Team"
308
  msgstr ""
309
 
310
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:262
311
+ #: src/Admin/Pages/About.php:262
312
  msgid "Plugin icon"
313
  msgstr ""
314
 
315
  #. translators: %s - status HTML text.
316
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:276
317
+ #: src/Admin/Pages/About.php:276
318
  msgid "Status: %s"
319
  msgstr ""
320
 
321
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:342
322
+ #: src/Admin/Pages/About.php:342
323
  msgid "Not Installed"
324
  msgstr ""
325
 
326
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:345
327
+ #: src/Admin/Pages/About.php:345
328
  msgid "Install Plugin"
329
  msgstr ""
330
 
331
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:366
332
+ #: src/Admin/Pages/About.php:366
333
  msgid "MonsterInsights"
334
  msgstr ""
335
 
336
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:367
337
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:373
338
+ #: src/Admin/Pages/About.php:367
339
+ #: src/Admin/Pages/About.php:373
340
  msgid "MonsterInsights makes it “effortless” to properly connect your WordPress site with Google Analytics, so you can start making data-driven decisions to grow your business."
341
  msgstr ""
342
 
343
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:372
344
+ #: src/Admin/Pages/About.php:372
345
  msgid "MonsterInsights Pro"
346
  msgstr ""
347
 
348
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:380
349
+ #: src/Admin/Pages/About.php:380
350
  msgid "OptinMonster"
351
  msgstr ""
352
 
353
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:381
354
+ #: src/Admin/Pages/About.php:381
355
  msgid "Our high-converting optin forms like Exit-Intent® popups, Fullscreen Welcome Mats, and Scroll boxes help you dramatically boost conversions and get more email subscribers."
356
  msgstr ""
357
 
358
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:387
359
+ #: src/Admin/Pages/About.php:387
360
  msgid "Contact Forms by WPForms"
361
  msgstr ""
362
 
363
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:388
364
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:394
365
+ #: src/Admin/Pages/About.php:388
366
+ #: src/Admin/Pages/About.php:394
367
  msgid "The best WordPress contact form plugin. Drag & Drop online form builder that helps you create beautiful contact forms with just a few clicks."
368
  msgstr ""
369
 
370
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:393
371
+ #: src/Admin/Pages/About.php:393
372
  msgid "WPForms Pro"
373
  msgstr ""
374
 
375
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:401
376
+ #: src/Admin/Pages/About.php:401
377
  msgid "RafflePress"
378
  msgstr ""
379
 
380
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:402
381
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:408
382
+ #: src/Admin/Pages/About.php:402
383
+ #: src/Admin/Pages/About.php:408
384
  msgid "Turn your visitors into brand ambassadors! Easily grow your email list, website traffic, and social media followers with powerful viral giveaways & contests."
385
  msgstr ""
386
 
387
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:407
388
+ #: src/Admin/Pages/About.php:407
389
  msgid "RafflePress Pro"
390
  msgstr ""
391
 
392
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:427
393
+ #: src/Admin/Pages/About.php:427
394
  msgid "Could not activate the plugin. Please activate it from the Plugins page."
395
  msgstr ""
396
 
397
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:439
398
+ #: src/Admin/Pages/About.php:439
399
  msgid "Plugin activated."
400
  msgstr ""
401
 
402
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:456
403
+ #: src/Admin/Pages/About.php:456
404
  msgid "Could not install the plugin."
405
  msgstr ""
406
 
407
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:517
408
+ #: src/Admin/Pages/About.php:517
409
  msgid "Plugin installed & activated."
410
  msgstr ""
411
 
412
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:525
413
+ #: src/Admin/Pages/About.php:525
414
  msgid "Plugin installed."
415
  msgstr ""
416
 
417
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:560
418
+ #: src/Admin/Pages/About.php:560
419
  msgid "Get the most out of WP Mail SMTP by upgrading to Pro and unlocking all of the powerful features."
420
  msgstr ""
421
 
422
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:569
423
+ #: src/Admin/Pages/About.php:569
424
  msgid "Feature"
425
  msgstr ""
426
 
427
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:579
428
+ #: src/Admin/Pages/About.php:579
429
  msgid "Pro"
430
  msgstr ""
431
 
432
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:620
433
+ #: src/Admin/Pages/About.php:620
434
  msgid "Get WP Mail SMTP Pro Today and Unlock all of these Powerful Features"
435
  msgstr ""
436
 
437
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:627
438
+ #: src/Admin/Pages/About.php:627
439
  msgid "Bonus: WP Mail SMTP Lite users get <span class=\"price-off\">$50 off regular price</span>, automatically applied at checkout."
440
  msgstr ""
441
 
442
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:654
443
+ #: build/wp-mail-smtp/src/Admin/Pages/ControlTab.php:27
444
+ #: src/Admin/Pages/About.php:654
445
  #: src/Admin/Pages/ControlTab.php:27
446
  msgid "Email Controls"
447
  msgstr ""
448
 
449
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:655
450
+ #: src/Admin/Pages/About.php:655
451
  msgid "Additional Mailers"
452
  msgstr ""
453
 
454
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:656
455
+ #: src/Admin/Pages/About.php:656
456
  msgid "Customer Support"
457
  msgstr ""
458
 
459
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:677
460
+ #: src/Admin/Pages/About.php:677
461
  msgid "Emails are not logged"
462
  msgstr ""
463
 
464
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:683
465
+ #: src/Admin/Pages/About.php:683
466
  msgid "Complete Email Log management inside WordPress"
467
  msgstr ""
468
 
469
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:691
470
+ #: src/Admin/Pages/About.php:691
471
  msgid "No controls over whether default WordPress emails are sent"
472
  msgstr ""
473
 
474
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:697
475
+ #: src/Admin/Pages/About.php:697
476
  msgid "Complete Email Controls management for most default WordPress emails"
477
  msgstr ""
478
 
479
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:705
480
+ #: src/Admin/Pages/About.php:705
481
  msgid "Only default list of mailers"
482
  msgstr ""
483
 
484
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:711
485
+ #: src/Admin/Pages/About.php:711
486
  msgid "Additional mailers: Microsoft Outlook (with Office365 support) and Amazon SES"
487
  msgstr ""
488
 
489
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:719
490
+ #: src/Admin/Pages/About.php:719
491
  msgid "Limited Support"
492
  msgstr ""
493
 
494
+ #: build/wp-mail-smtp/src/Admin/Pages/About.php:725
495
+ #: src/Admin/Pages/About.php:725
496
  msgid "Priority Support"
497
  msgstr ""
498
 
499
+ #: build/wp-mail-smtp/src/Admin/Pages/ControlTab.php:48
500
  #: src/Admin/Pages/ControlTab.php:48
501
  msgid "Comment Notifications"
502
  msgstr ""
503
 
504
+ #: build/wp-mail-smtp/src/Admin/Pages/ControlTab.php:49
505
  #: src/Admin/Pages/ControlTab.php:49
506
  msgid "Manage emails sent when comments are published or awaiting moderation."
507
  msgstr ""
508
 
509
+ #: build/wp-mail-smtp/src/Admin/Pages/ControlTab.php:53
510
  #: src/Admin/Pages/ControlTab.php:53
511
  msgid "Site Admin Email Change Notifications"
512
  msgstr ""
513
 
514
+ #: build/wp-mail-smtp/src/Admin/Pages/ControlTab.php:54
515
  #: src/Admin/Pages/ControlTab.php:54
516
  msgid "Manage emails sent when site admin's account has been changed."
517
  msgstr ""
518
 
519
+ #: build/wp-mail-smtp/src/Admin/Pages/ControlTab.php:58
520
  #: src/Admin/Pages/ControlTab.php:58
521
  msgid "User Change Notifications"
522
  msgstr ""
523
 
524
+ #: build/wp-mail-smtp/src/Admin/Pages/ControlTab.php:59
525
  #: src/Admin/Pages/ControlTab.php:59
526
  msgid "Limit emails triggered by password changed/reset, email changed, and more."
527
  msgstr ""
528
 
529
+ #: build/wp-mail-smtp/src/Admin/Pages/ControlTab.php:63
530
  #: src/Admin/Pages/ControlTab.php:63
531
  msgid "Personal Data Requests Notifications"
532
  msgstr ""
533
 
534
+ #: build/wp-mail-smtp/src/Admin/Pages/ControlTab.php:64
535
  #: src/Admin/Pages/ControlTab.php:64
536
  msgid "Control emails for data requests and data removal actions."
537
  msgstr ""
538
 
539
+ #: build/wp-mail-smtp/src/Admin/Pages/ControlTab.php:68
540
  #: src/Admin/Pages/ControlTab.php:68
541
  msgid "Automatic Update Notifications"
542
  msgstr ""
543
 
544
+ #: build/wp-mail-smtp/src/Admin/Pages/ControlTab.php:69
545
  #: src/Admin/Pages/ControlTab.php:69
546
  msgid "Manage emails sent by the core automatic update process."
547
  msgstr ""
548
 
549
+ #: build/wp-mail-smtp/src/Admin/Pages/ControlTab.php:73
550
  #: src/Admin/Pages/ControlTab.php:73
551
  msgid "New User Notifications"
552
  msgstr ""
553
 
554
+ #: build/wp-mail-smtp/src/Admin/Pages/ControlTab.php:74
555
  #: src/Admin/Pages/ControlTab.php:74
556
  msgid "Toggle emails sent to both user and site administrator about new user accounts."
557
  msgstr ""
558
 
559
+ #: build/wp-mail-smtp/src/Admin/Pages/ControlTab.php:92
560
  #: src/Admin/Pages/ControlTab.php:92
561
  msgid "Unlock Email Controls"
562
  msgstr ""
563
 
564
+ #: build/wp-mail-smtp/src/Admin/Pages/ControlTab.php:95
565
  #: src/Admin/Pages/ControlTab.php:95
566
  msgid "Email Controls allows you to granularly manage emails sent by WordPress.
"
567
  msgstr ""
568
 
569
+ #: build/wp-mail-smtp/src/Admin/Pages/ControlTab.php:119
570
+ #: build/wp-mail-smtp/src/Admin/Pages/LogsTab.php:68
571
  #: src/Admin/Pages/ControlTab.php:119
572
+ #: src/Admin/Pages/LogsTab.php:68
573
  msgid "Upgrade to WP Mail SMTP Pro"
574
  msgstr ""
575
 
576
+ #: build/wp-mail-smtp/src/Admin/Pages/LogsTab.php:53
577
  #: src/Admin/Pages/LogsTab.php:53
578
  msgid "Unlock Email Logging"
579
  msgstr ""
580
 
581
+ #: build/wp-mail-smtp/src/Admin/Pages/LogsTab.php:56
582
  #: src/Admin/Pages/LogsTab.php:56
583
  msgid "Keep track of every email sent from your WordPress site with email logging.
"
584
  msgstr ""
585
 
586
+ #: build/wp-mail-smtp/src/Admin/Pages/LogsTab.php:57
587
  #: src/Admin/Pages/LogsTab.php:57
588
  msgid "Troubleshoot sending issues, recover lost emails, and more!"
589
  msgstr ""
590
 
591
+ #: build/wp-mail-smtp/src/Admin/Pages/LogsTab.php:61
592
  #: src/Admin/Pages/LogsTab.php:61
593
  msgid "Logs Archive Page Screenshot"
594
  msgstr ""
595
 
596
+ #: build/wp-mail-smtp/src/Admin/Pages/LogsTab.php:62
597
  #: src/Admin/Pages/LogsTab.php:62
598
  msgid "Logs Single Page Screenshot"
599
  msgstr ""
600
 
601
+ #: build/wp-mail-smtp/src/Admin/Pages/MiscTab.php:25
602
+ #: src/Admin/Pages/MiscTab.php:25
603
  msgid "Misc"
604
  msgstr ""
605
 
606
+ #: build/wp-mail-smtp/src/Admin/Pages/MiscTab.php:57
607
+ #: src/Admin/Pages/MiscTab.php:57
608
  msgid "Do Not Send"
609
  msgstr ""
610
 
611
+ #: build/wp-mail-smtp/src/Admin/Pages/MiscTab.php:66
612
+ #: src/Admin/Pages/MiscTab.php:66
613
  msgid "Check this if you would like to stop sending all emails."
614
  msgstr ""
615
 
616
+ #: build/wp-mail-smtp/src/Admin/Pages/MiscTab.php:72
617
+ #: src/Admin/Pages/MiscTab.php:72
618
  msgid "Some plugins, like BuddyPress and Events Manager, are using their own email delivery solutions. By default, this option does not block their emails, as those plugins do not use default <code>wp_mail()</code> function to send emails."
619
  msgstr ""
620
 
621
+ #: build/wp-mail-smtp/src/Admin/Pages/MiscTab.php:80
622
+ #: src/Admin/Pages/MiscTab.php:80
623
  msgid "You will need to consult with their documentation to switch them to use default WordPress email delivery."
624
  msgstr ""
625
 
626
+ #: build/wp-mail-smtp/src/Admin/Pages/MiscTab.php:82
627
+ #: src/Admin/Pages/MiscTab.php:82
628
  msgid "Test emails are allowed to be sent, regardless of this option."
629
  msgstr ""
630
 
631
  #. translators: %1$s - constant that was used; %2$s - file where it was used.
632
+ #: build/wp-mail-smtp/src/Admin/Pages/MiscTab.php:87
633
+ #: build/wp-mail-smtp/src/Providers/OptionsAbstract.php:480
634
+ #: src/Admin/Pages/MiscTab.php:87
635
+ #: src/Providers/OptionsAbstract.php:480
636
  msgid "The value of this field was set using a constant %1$s most likely inside %2$s of your WordPress installation."
637
  msgstr ""
638
 
639
  #. translators: %s - The URL to the constants support article.
640
+ #: build/wp-mail-smtp/src/Admin/Pages/MiscTab.php:94
641
+ #: src/Admin/Pages/MiscTab.php:94
642
  msgid "Please read this <a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\">support article</a> if you want to enable this option using constants."
643
  msgstr ""
644
 
645
+ #: build/wp-mail-smtp/src/Admin/Pages/MiscTab.php:115
646
+ #: src/Admin/Pages/MiscTab.php:115
647
  msgid "Hide Announcements"
648
  msgstr ""
649
 
650
+ #: build/wp-mail-smtp/src/Admin/Pages/MiscTab.php:124
651
+ #: src/Admin/Pages/MiscTab.php:124
652
  msgid "Check this if you would like to hide plugin announcements and update details."
653
  msgstr ""
654
 
655
+ #: build/wp-mail-smtp/src/Admin/Pages/MiscTab.php:134
656
+ #: src/Admin/Pages/MiscTab.php:134
657
  msgid "Hide Email Delivery Errors"
658
  msgstr ""
659
 
660
+ #: build/wp-mail-smtp/src/Admin/Pages/MiscTab.php:150
661
+ #: src/Admin/Pages/MiscTab.php:150
662
  msgid "Check this if you would like to hide warnings alerting of email delivery errors."
663
  msgstr ""
664
 
665
  #. translators: %s - filter that was used to disabled.
666
+ #: build/wp-mail-smtp/src/Admin/Pages/MiscTab.php:157
667
+ #: src/Admin/Pages/MiscTab.php:157
668
  msgid "Email Delivery Errors were disabled using a %s filter."
669
  msgstr ""
670
 
671
+ #: build/wp-mail-smtp/src/Admin/Pages/MiscTab.php:166
672
+ #: src/Admin/Pages/MiscTab.php:166
673
  msgid "<strong>This is not recommended</strong> and should only be done for staging or development sites."
674
  msgstr ""
675
 
676
+ #: build/wp-mail-smtp/src/Admin/Pages/MiscTab.php:181
677
+ #: src/Admin/Pages/MiscTab.php:181
678
  msgid "Uninstall WP Mail SMTP"
679
  msgstr ""
680
 
681
+ #: build/wp-mail-smtp/src/Admin/Pages/MiscTab.php:189
682
+ #: src/Admin/Pages/MiscTab.php:189
683
  msgid "Check this if you would like to remove ALL WP Mail SMTP data upon plugin deletion. All settings will be unrecoverable."
684
  msgstr ""
685
 
686
+ #: build/wp-mail-smtp/src/Admin/Pages/MiscTab.php:199
687
+ #: src/Admin/Pages/MiscTab.php:199
688
+ msgid "Allow Usage Tracking"
689
+ msgstr ""
690
+
691
+ #: build/wp-mail-smtp/src/Admin/Pages/MiscTab.php:207
692
+ #: src/Admin/Pages/MiscTab.php:207
693
+ msgid "By allowing us to track usage data we can better help you because we know with which WordPress configurations, themes and plugins we should test."
694
+ msgstr ""
695
+
696
+ #: build/wp-mail-smtp/src/Admin/Pages/MiscTab.php:257
697
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:597
698
+ #: src/Admin/Pages/MiscTab.php:257
699
+ #: src/Admin/Pages/SettingsTab.php:597
700
  msgid "Settings were successfully saved."
701
  msgstr ""
702
 
703
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:37
704
  #: src/Admin/Pages/SettingsTab.php:37
705
  msgid "General"
706
  msgstr ""
707
 
708
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:73
709
+ #: src/Admin/Pages/SettingsTab.php:73
710
  msgid "License"
711
  msgstr ""
712
 
713
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:76
714
+ #: src/Admin/Pages/SettingsTab.php:76
715
  msgid "Your license key provides access to updates and support."
716
  msgstr ""
717
 
718
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:84
719
+ #: src/Admin/Pages/SettingsTab.php:84
720
  msgid "License Key"
721
  msgstr ""
722
 
723
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:94
724
+ #: src/Admin/Pages/SettingsTab.php:94
725
  msgid "Mail"
726
  msgstr ""
727
 
728
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:101
729
+ #: src/Admin/Pages/SettingsTab.php:101
730
  msgid "From Email"
731
  msgstr ""
732
 
733
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:120
734
+ #: src/Admin/Pages/SettingsTab.php:120
735
  msgid "Please first authorize the Gmail mailer below"
736
  msgstr ""
737
 
738
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:134
739
+ #: src/Admin/Pages/SettingsTab.php:134
740
  msgid "The email address which emails are sent from."
741
  msgstr ""
742
 
743
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:135
744
+ #: src/Admin/Pages/SettingsTab.php:135
745
  msgid "If you're using an email provider (Yahoo, Outlook.com, etc) this should be your email address for that account."
746
  msgstr ""
747
 
748
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:138
749
+ #: src/Admin/Pages/SettingsTab.php:138
750
  msgid "Please note that other plugins can change this, to prevent this use the setting below."
751
  msgstr ""
752
 
753
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:158
754
+ #: src/Admin/Pages/SettingsTab.php:158
755
  msgid "Force From Email"
756
  msgstr ""
757
 
758
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:165
759
+ #: src/Admin/Pages/SettingsTab.php:165
760
  msgid "Current provider will automatically force From Email to be the email address that you use to set up the connection below."
761
  msgstr ""
762
 
763
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:167
764
+ #: src/Admin/Pages/SettingsTab.php:167
765
  msgid "Gmail mailer will automatically force From Email to be the email address that you selected above."
766
  msgstr ""
767
 
768
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:173
769
+ #: src/Admin/Pages/SettingsTab.php:173
770
  msgid "If checked, the From Email setting above will be used for all emails, ignoring values set by other plugins."
771
  msgstr ""
772
 
773
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:183
774
+ #: src/Admin/Pages/SettingsTab.php:183
775
  msgid "From Name"
776
  msgstr ""
777
 
778
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:195
779
+ #: src/Admin/Pages/SettingsTab.php:195
780
  msgid "The name which emails are sent from."
781
  msgstr ""
782
 
783
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:209
784
+ #: src/Admin/Pages/SettingsTab.php:209
785
  msgid "Force From Name"
786
  msgstr ""
787
 
788
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:214
789
+ #: src/Admin/Pages/SettingsTab.php:214
790
  msgid "Current provider doesn't support setting and forcing From Name. Emails will be sent on behalf of the account name used to setup the connection below."
791
  msgstr ""
792
 
793
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:218
794
+ #: src/Admin/Pages/SettingsTab.php:218
795
  msgid "If checked, the From Name setting above will be used for all emails, ignoring values set by other plugins."
796
  msgstr ""
797
 
798
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:228
799
+ #: src/Admin/Pages/SettingsTab.php:228
800
  msgid "Return Path"
801
  msgstr ""
802
 
803
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:237
804
+ #: src/Admin/Pages/SettingsTab.php:237
805
  msgid "Set the return-path to match the From Email"
806
  msgstr ""
807
 
808
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:241
809
+ #: src/Admin/Pages/SettingsTab.php:241
810
  msgid "Return Path indicates where non-delivery receipts - or bounce messages - are to be sent."
811
  msgstr ""
812
 
813
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:242
814
+ #: src/Admin/Pages/SettingsTab.php:242
815
  msgid "If unchecked, bounce messages may be lost. Some providers may ignore this option."
816
  msgstr ""
817
 
818
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:250
819
+ #: src/Admin/Pages/SettingsTab.php:250
820
  msgid "Mailer"
821
  msgstr ""
822
 
823
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:292
824
+ #: src/Admin/Pages/SettingsTab.php:292
825
  msgid "Don't see what you're looking for?"
826
  msgstr ""
827
 
828
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:294
829
+ #: src/Admin/Pages/SettingsTab.php:294
830
  msgid "Suggest a Mailer"
831
  msgstr ""
832
 
833
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:322
834
+ #: src/Admin/Pages/SettingsTab.php:322
835
  msgid "Dismiss this notice"
836
  msgstr ""
837
 
838
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:369
839
+ #: src/Admin/Pages/SettingsTab.php:369
840
  msgid "You're using WP Mail SMTP Lite - no license needed. Enjoy!"
841
  msgstr ""
842
 
843
  #. translators: %s - WPMailSMTP.com upgrade URL.
844
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:375
845
+ #: src/Admin/Pages/SettingsTab.php:375
846
  msgid "To unlock more features consider <strong><a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"wp-mail-smtp-upgrade-modal\">upgrading to PRO</a></strong>."
847
  msgstr ""
848
 
849
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:394
850
+ #: src/Admin/Pages/SettingsTab.php:394
851
  msgid "As a valued WP Mail SMTP Lite user you receive <strong>$50 off</strong>, automatically applied at checkout!"
852
  msgstr ""
853
 
854
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:455
855
+ #: src/Admin/Pages/SettingsTab.php:455
856
  msgid "Get WP Mail SMTP Pro and Unlock all the Powerful Features"
857
  msgstr ""
858
 
859
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:459
860
+ #: src/Admin/Pages/SettingsTab.php:459
861
  msgid "Thanks for being a loyal WP Mail SMTP user. Upgrade to WP Mail SMTP Pro to unlock more awesome features and experience why WP Mail SMTP is the most popular SMTP plugin."
862
  msgstr ""
863
 
864
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:463
865
+ #: src/Admin/Pages/SettingsTab.php:463
866
  msgid "We know that you will truly love WP Mail SMTP. It's used by over 1,000,000 websites."
867
  msgstr ""
868
 
869
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:466
870
+ #: src/Admin/Pages/SettingsTab.php:466
871
  msgid "Pro Features:"
872
  msgstr ""
873
 
874
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:470
875
+ #: src/Admin/Pages/SettingsTab.php:470
876
  msgid "Manage Notifications - control which emails your site sends"
877
  msgstr ""
878
 
879
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:471
880
+ #: src/Admin/Pages/SettingsTab.php:471
881
  msgid "Email Logging - keep track of every email sent from your site"
882
  msgstr ""
883
 
884
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:472
885
+ #: src/Admin/Pages/SettingsTab.php:472
886
  msgid "Office 365 - send emails using your Office 365 account"
887
  msgstr ""
888
 
889
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:473
890
+ #: src/Admin/Pages/SettingsTab.php:473
891
  msgid "Amazon SES - harness the power of AWS"
892
  msgstr ""
893
 
894
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:474
895
+ #: src/Admin/Pages/SettingsTab.php:474
896
  msgid "Outlook.com - send emails using your Outlook.com account"
897
  msgstr ""
898
 
899
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:475
900
+ #: src/Admin/Pages/SettingsTab.php:475
901
  msgid "Access to our world class support team"
902
  msgstr ""
903
 
904
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:478
905
+ #: src/Admin/Pages/SettingsTab.php:478
906
  msgid "White Glove Setup - sit back and relax while we handle everything for you"
907
  msgstr ""
908
 
909
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:479
910
+ #: src/Admin/Pages/SettingsTab.php:479
911
  msgid "Install WP Mail SMTP Pro plugin"
912
  msgstr ""
913
 
914
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:480
915
+ #: src/Admin/Pages/SettingsTab.php:480
916
  msgid "Set up domain name verification (DNS)"
917
  msgstr ""
918
 
919
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:481
920
+ #: src/Admin/Pages/SettingsTab.php:481
921
  msgid "Configure Mailgun service"
922
  msgstr ""
923
 
924
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:482
925
+ #: src/Admin/Pages/SettingsTab.php:482
926
  msgid "Set up WP Mail SMTP Pro plugin"
927
  msgstr ""
928
 
929
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:483
930
+ #: src/Admin/Pages/SettingsTab.php:483
931
  msgid "Test and verify email delivery"
932
  msgstr ""
933
 
934
  #. translators: %s - WPMailSMTP.com URL.
935
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:491
936
+ #: src/Admin/Pages/SettingsTab.php:491
937
  msgid "<a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\">Get WP Mail SMTP Pro Today and Unlock all the Powerful Features &raquo;</a>"
938
  msgstr ""
939
 
940
+ #: build/wp-mail-smtp/src/Admin/Pages/SettingsTab.php:509
941
+ #: src/Admin/Pages/SettingsTab.php:509
942
  msgid "<strong>Bonus:</strong> WP Mail SMTP users get <span class=\"price-off\">$50 off regular price</span>, automatically applied at checkout."
943
  msgstr ""
944
 
945
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:37
946
  #: src/Admin/Pages/TestTab.php:37
947
  msgid "Email Test"
948
  msgstr ""
949
 
950
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:59
951
  #: src/Admin/Pages/TestTab.php:59
952
  msgid "Send a Test Email"
953
  msgstr ""
954
 
955
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:66
956
  #: src/Admin/Pages/TestTab.php:66
957
  msgid "Send To"
958
  msgstr ""
959
 
960
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:72
961
  #: src/Admin/Pages/TestTab.php:72
962
  msgid "Enter email address where test email will be sent."
963
  msgstr ""
964
 
965
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:80
966
  #: src/Admin/Pages/TestTab.php:80
967
  msgid "HTML"
968
  msgstr ""
969
 
970
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:86
971
+ #: build/wp-mail-smtp/src/Providers/OptionsAbstract.php:276
972
+ #: build/wp-mail-smtp/src/Providers/OptionsAbstract.php:298
973
  #: src/Admin/Pages/TestTab.php:86
974
+ #: src/Providers/OptionsAbstract.php:276
975
+ #: src/Providers/OptionsAbstract.php:298
976
  msgid "On"
977
  msgstr ""
978
 
979
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:87
980
+ #: build/wp-mail-smtp/src/Providers/OptionsAbstract.php:277
981
+ #: build/wp-mail-smtp/src/Providers/OptionsAbstract.php:299
982
  #: src/Admin/Pages/TestTab.php:87
983
+ #: src/Providers/OptionsAbstract.php:277
984
+ #: src/Providers/OptionsAbstract.php:299
985
  msgid "Off"
986
  msgstr ""
987
 
988
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:90
989
  #: src/Admin/Pages/TestTab.php:90
990
  msgid "Send this email in HTML or in plain text format."
991
  msgstr ""
992
 
993
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:110
994
  #: src/Admin/Pages/TestTab.php:110
995
  msgid "You cannot send an email. Mailer is not properly configured. Please check your settings."
996
  msgstr ""
997
 
998
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:114
999
  #: src/Admin/Pages/TestTab.php:114
1000
  msgid "Send Email"
1001
  msgstr ""
1002
 
1003
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:142
1004
  #: src/Admin/Pages/TestTab.php:142
1005
  msgid "Test failed. Please use a valid email address and try to resend the test email."
1006
  msgstr ""
1007
 
1008
  #. translators: %s - email address a test email will be sent to.
1009
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:154
1010
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:160
1011
  #: src/Admin/Pages/TestTab.php:154
1012
  #: src/Admin/Pages/TestTab.php:160
1013
  msgid "Test email to %s"
1014
  msgstr ""
1015
 
1016
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:186
1017
  #: src/Admin/Pages/TestTab.php:186
1018
  msgid "Test plain text email was sent successfully!"
1019
  msgstr ""
1020
 
1021
  #. translators: %s - "HTML" in bold.
1022
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:190
1023
  #: src/Admin/Pages/TestTab.php:190
1024
  msgid "Test %s email was sent successfully! Please check your inbox to make sure it is delivered."
1025
  msgstr ""
1026
 
1027
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:510
1028
  #: src/Admin/Pages/TestTab.php:510
1029
  msgid "SSL certificate issue."
1030
  msgstr ""
1031
 
1032
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:511
1033
  #: src/Admin/Pages/TestTab.php:511
1034
  msgid "This means your web server cannot reliably make secure connections (make requests to HTTPS sites)."
1035
  msgstr ""
1036
 
1037
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:512
1038
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:560
1039
  #: src/Admin/Pages/TestTab.php:512
1040
  #: src/Admin/Pages/TestTab.php:560
1041
  msgid "Typically this error is returned when web server is not configured properly."
1042
  msgstr ""
1043
 
1044
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:515
1045
  #: src/Admin/Pages/TestTab.php:515
1046
  msgid "Contact your web hosting provider and inform them your site has an issue with SSL certificates."
1047
  msgstr ""
1048
 
1049
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:516
1050
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:564
1051
  #: src/Admin/Pages/TestTab.php:516
1052
  #: src/Admin/Pages/TestTab.php:564
1053
  msgid "The exact error you can provide them is in the Error log, available at the bottom of this page."
1054
  msgstr ""
1055
 
1056
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:517
1057
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:565
1058
  #: src/Admin/Pages/TestTab.php:517
1059
  #: src/Admin/Pages/TestTab.php:565
1060
  msgid "Ask them to resolve the issue then try again."
1061
  msgstr ""
1062
 
1063
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:528
1064
  #: src/Admin/Pages/TestTab.php:528
1065
  msgid "Could not connect to host."
1066
  msgstr ""
1067
 
1068
  #. translators: %s - SMTP host address.
1069
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:531
1070
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:556
1071
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:658
1072
  #: src/Admin/Pages/TestTab.php:531
1073
  #: src/Admin/Pages/TestTab.php:556
1074
  #: src/Admin/Pages/TestTab.php:658
1075
  msgid "This means your web server was unable to connect to %s."
1076
  msgstr ""
1077
 
1078
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:534
1079
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:559
1080
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:661
1081
  #: src/Admin/Pages/TestTab.php:534
1082
  #: src/Admin/Pages/TestTab.php:559
1083
  #: src/Admin/Pages/TestTab.php:661
1084
  msgid "This means your web server was unable to connect to the host server."
1085
  msgstr ""
1086
 
1087
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:535
1088
  #: src/Admin/Pages/TestTab.php:535
1089
  msgid "Typically this error is returned your web server is blocking the connections or the SMTP host denying the request."
1090
  msgstr ""
1091
 
1092
  #. translators: %s - SMTP host address.
1093
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:539
1094
  #: src/Admin/Pages/TestTab.php:539
1095
  msgid "Contact your web hosting provider and ask them to verify your server can connect to %s. Additionally, ask them if a firewall or security policy may be preventing the connection."
1096
  msgstr ""
1097
 
1098
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:542
1099
  #: src/Admin/Pages/TestTab.php:542
1100
  msgid "If using \"Other SMTP\" Mailer, triple check your SMTP settings including host address, email, and password."
1101
  msgstr ""
1102
 
1103
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:543
1104
  #: src/Admin/Pages/TestTab.php:543
1105
  msgid "If using \"Other SMTP\" Mailer, contact your SMTP host to confirm they are accepting outside connections with the settings you have configured (address, username, port, security, etc)."
1106
  msgstr ""
1107
 
1108
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:553
1109
  #: src/Admin/Pages/TestTab.php:553
1110
  msgid "Could not connect to your host."
1111
  msgstr ""
1112
 
1113
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:563
1114
  #: src/Admin/Pages/TestTab.php:563
1115
  msgid "Contact your web hosting provider and inform them you are having issues making outbound connections."
1116
  msgstr ""
1117
 
1118
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:575
1119
  #: src/Admin/Pages/TestTab.php:575
1120
  msgid "Could not authenticate your SMTP account."
1121
  msgstr ""
1122
 
1123
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:576
1124
  #: src/Admin/Pages/TestTab.php:576
1125
  msgid "This means we were able to connect to your SMTP host, but were not able to proceed using the email/password in the settings."
1126
  msgstr ""
1127
 
1128
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:577
1129
  #: src/Admin/Pages/TestTab.php:577
1130
  msgid "Typically this error is returned when the email or password is not correct or is not what the SMTP host is expecting."
1131
  msgstr ""
1132
 
1133
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:580
1134
  #: src/Admin/Pages/TestTab.php:580
1135
  msgid "Triple check your SMTP settings including host address, email, and password. If you have recently reset your password you will need to update the settings."
1136
  msgstr ""
1137
 
1138
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:581
1139
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:686
1140
  #: src/Admin/Pages/TestTab.php:581
1141
  #: src/Admin/Pages/TestTab.php:686
1142
  msgid "Contact your SMTP host to confirm you are using the correct username and password."
1143
  msgstr ""
1144
 
1145
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:582
1146
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:687
1147
  #: src/Admin/Pages/TestTab.php:582
1148
  #: src/Admin/Pages/TestTab.php:687
1149
  msgid "Verify with your SMTP host that your account has permissions to send emails using outside connections."
1150
  msgstr ""
1151
 
1152
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:592
1153
  #: src/Admin/Pages/TestTab.php:592
1154
  msgid "Error due to unsolicited and/or bulk e-mail."
1155
  msgstr ""
1156
 
1157
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:593
1158
  #: src/Admin/Pages/TestTab.php:593
1159
  msgid "This means the connection to your SMTP host was made successfully, but the host rejected the email."
1160
  msgstr ""
1161
 
1162
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:594
1163
  #: src/Admin/Pages/TestTab.php:594
1164
  msgid "Typically this error is returned when you are sending too many e-mails or e-mails that have been identified as spam."
1165
  msgstr ""
1166
 
1167
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:597
1168
  #: src/Admin/Pages/TestTab.php:597
1169
  msgid "Check the emails that are sending are sending individually. Example: email is not sending to 30 recipients. You can install any WordPress e-mail logging plugin to do that."
1170
  msgstr ""
1171
 
1172
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:598
1173
  #: src/Admin/Pages/TestTab.php:598
1174
  msgid "Contact your SMTP host to ask about sending/rate limits."
1175
  msgstr ""
1176
 
1177
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:599
1178
  #: src/Admin/Pages/TestTab.php:599
1179
  msgid "Verify with them your SMTP account is in good standing and your account has not been flagged."
1180
  msgstr ""
1181
 
1182
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:609
1183
  #: src/Admin/Pages/TestTab.php:609
1184
  msgid "Unauthenticated senders are not allowed."
1185
  msgstr ""
1186
 
1187
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:610
1188
  #: src/Admin/Pages/TestTab.php:610
1189
  msgid "This means the connection to your SMTP host was made successfully, but you should enable Authentication and provide correct Username and Password."
1190
  msgstr ""
1191
 
1192
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:613
1193
  #: src/Admin/Pages/TestTab.php:613
1194
  msgid "Go to WP Mail SMTP plugin Settings page."
1195
  msgstr ""
1196
 
1197
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:614
1198
  #: src/Admin/Pages/TestTab.php:614
1199
  msgid "Enable Authentication"
1200
  msgstr ""
1201
 
1202
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:615
1203
  #: src/Admin/Pages/TestTab.php:615
1204
  msgid "Enter correct SMTP Username (usually this is an email address) and Password in the appropriate fields."
1205
  msgstr ""
1206
 
1207
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:627
1208
  #: src/Admin/Pages/TestTab.php:627
1209
  msgid "Misconfigured server certificate."
1210
  msgstr ""
1211
 
1212
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:628
1213
  #: src/Admin/Pages/TestTab.php:628
1214
  msgid "This means OpenSSL on your server isn't able to verify the host certificate."
1215
  msgstr ""
1216
 
1217
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:629
1218
  #: src/Admin/Pages/TestTab.php:629
1219
  msgid "There are a few reasons why this is happening. It could be that the host certificate is misconfigured, or this server's OpenSSL is using an outdated CA bundle."
1220
  msgstr ""
1221
 
1222
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:632
1223
  #: src/Admin/Pages/TestTab.php:632
1224
  msgid "Verify that the host's SSL certificate is valid."
1225
  msgstr ""
1226
 
1227
  #. translators: %s - URL to the PHP openssl manual
1228
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:635
1229
  #: src/Admin/Pages/TestTab.php:635
1230
  msgid "Contact your hosting support, show them the \"full Error Log for debugging\" below and share this <a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\">link</a> with them."
1231
  msgstr ""
1232
 
1233
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:655
1234
  #: src/Admin/Pages/TestTab.php:655
1235
  msgid "Could not connect to the SMTP host."
1236
  msgstr ""
1237
 
1238
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:662
1239
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:1048
1240
  #: src/Admin/Pages/TestTab.php:662
1241
  #: src/Admin/Pages/TestTab.php:1048
1242
  msgid "Typically this error is returned for one of the following reasons:"
1243
  msgstr ""
1244
 
1245
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:663
1246
  #: src/Admin/Pages/TestTab.php:663
1247
  msgid "SMTP settings are incorrect (wrong port, security setting, incorrect host)."
1248
  msgstr ""
1249
 
1250
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:664
1251
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:1050
1252
  #: src/Admin/Pages/TestTab.php:664
1253
  #: src/Admin/Pages/TestTab.php:1050
1254
  msgid "Your web server is blocking the connection."
1255
  msgstr ""
1256
 
1257
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:665
1258
  #: src/Admin/Pages/TestTab.php:665
1259
  msgid "Your SMTP host is rejecting the connection."
1260
  msgstr ""
1261
 
1262
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:668
1263
  #: src/Admin/Pages/TestTab.php:668
1264
  msgid "Triple check your SMTP settings including host address, email, and password, port, and security."
1265
  msgstr ""
1266
 
1267
  #. translators: %1$s - SMTP host address, %2$s - SMTP port, %3$s - SMTP encryption.
1268
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:671
1269
  #: src/Admin/Pages/TestTab.php:671
1270
  msgid "Contact your web hosting provider and ask them to verify your server can connect to %1$s on port %2$s using %3$s encryption. Additionally, ask them if a firewall or security policy may be preventing the connection - many shared hosts block certain ports.<br><strong>Note: this is the most common cause of this issue.</strong>"
1271
  msgstr ""
1272
 
1273
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:684
1274
  #: src/Admin/Pages/TestTab.php:684
1275
  msgid "no"
1276
  msgstr ""
1277
 
1278
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:697
1279
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:712
1280
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:728
1281
  #: src/Admin/Pages/TestTab.php:697
1282
  #: src/Admin/Pages/TestTab.php:712
1283
  #: src/Admin/Pages/TestTab.php:728
1284
  msgid "Mailgun failed."
1285
  msgstr ""
1286
 
1287
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:698
1288
  #: src/Admin/Pages/TestTab.php:698
1289
  msgid "It seems that you forgot to activate your Mailgun account."
1290
  msgstr ""
1291
 
1292
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:701
1293
  #: src/Admin/Pages/TestTab.php:701
1294
  msgid "Check your inbox you used to create a Mailgun account. Click the activation link in an email from Mailgun."
1295
  msgstr ""
1296
 
1297
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:702
1298
  #: src/Admin/Pages/TestTab.php:702
1299
  msgid "If you do not see activation email, go to your Mailgun control panel and resend the activation email."
1300
  msgstr ""
1301
 
1302
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:713
1303
  #: src/Admin/Pages/TestTab.php:713
1304
  msgid "Typically this error is because there is an issue with your Mailgun settings, in many cases the API key."
1305
  msgstr ""
1306
 
1307
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:716
1308
  #: src/Admin/Pages/TestTab.php:716
1309
  msgid "Verify your API key is correct."
1310
  msgstr ""
1311
 
1312
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:717
1313
  #: src/Admin/Pages/TestTab.php:717
1314
  msgid "Go to your Mailgun account and view your API key."
1315
  msgstr ""
1316
 
1317
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:718
1318
  #: src/Admin/Pages/TestTab.php:718
1319
  msgid "Note that the API key includes the \"key\" prefix, so make sure that it is in the WP Mail SMTP Mailgun API setting."
1320
  msgstr ""
1321
 
1322
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:729
1323
  #: src/Admin/Pages/TestTab.php:729
1324
  msgid "Your Mailgun account does not have access to send emails."
1325
  msgstr ""
1326
 
1327
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:730
1328
  #: src/Admin/Pages/TestTab.php:730
1329
  msgid "Typically this error is because you have not set up and/or complete domain name verification for your Mailgun account."
1330
  msgstr ""
1331
 
1332
  #. translators: %s - Mailgun documentation URL.
1333
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:735
1334
  #: src/Admin/Pages/TestTab.php:735
1335
  msgid "Go to our how-to guide for setting up <a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\">Mailgun with WP Mail SMTP</a>."
1336
  msgstr ""
1337
 
1338
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:746
1339
  #: src/Admin/Pages/TestTab.php:746
1340
  msgid "Complete the steps in section \"2. Verify Your Domain\"."
1341
  msgstr ""
1342
 
1343
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:756
1344
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:805
1345
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:825
1346
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:851
1347
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:867
1348
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:919
1349
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:945
1350
  #: src/Admin/Pages/TestTab.php:756
1351
  #: src/Admin/Pages/TestTab.php:805
1352
  #: src/Admin/Pages/TestTab.php:825
1357
  msgid "Google API Error."
1358
  msgstr ""
1359
 
1360
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:757
1361
  #: src/Admin/Pages/TestTab.php:757
1362
  msgid "You have not properly configured Gmail mailer."
1363
  msgstr ""
1364
 
1365
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:758
1366
  #: src/Admin/Pages/TestTab.php:758
1367
  msgid "Make sure that you have clicked the \"Allow plugin to send emails using your Google account\" button under Gmail settings."
1368
  msgstr ""
1369
 
1370
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:761
1371
  #: src/Admin/Pages/TestTab.php:761
1372
  msgid "Go to plugin Settings page and click the \"Allow plugin to send emails using your Google account\" button."
1373
  msgstr ""
1374
 
1375
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:762
1376
  #: src/Admin/Pages/TestTab.php:762
1377
  msgid "After the click you should be redirected to a Gmail authorization screen, where you will be asked a permission to send emails on your behalf."
1378
  msgstr ""
1379
 
1380
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:763
1381
  #: src/Admin/Pages/TestTab.php:763
1382
  msgid "Please click \"Agree\", if you see that button. If not - you will need to enable less secure apps first:"
1383
  msgstr ""
1384
 
1385
  #. translators: %s - Google support article URL.
1386
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:768
1387
  #: src/Admin/Pages/TestTab.php:768
1388
  msgid "if you are using regular Gmail account, please <a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\">read this article</a> to proceed."
1389
  msgstr ""
1390
 
1391
  #. translators: %s - Google support article URL.
1392
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:783
1393
  #: src/Admin/Pages/TestTab.php:783
1394
  msgid "if you are using G Suite, please <a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\">read this article</a> to proceed."
1395
  msgstr ""
1396
 
1397
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:806
1398
  #: src/Admin/Pages/TestTab.php:806
1399
  msgid "Typically this error is because address the email was sent to is invalid or was empty."
1400
  msgstr ""
1401
 
1402
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:809
1403
  #: src/Admin/Pages/TestTab.php:809
1404
  msgid "Check the \"Send To\" email address used and confirm it is a valid email and was not empty."
1405
  msgstr ""
1406
 
1407
  #. translators: 1 - correct email address example. 2 - incorrect email address example.
1408
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:811
1409
  #: src/Admin/Pages/TestTab.php:811
1410
  msgid "It should be something like this: %1$s. These are incorrect values: %2$s."
1411
  msgstr ""
1412
 
1413
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:815
1414
  #: src/Admin/Pages/TestTab.php:815
1415
  msgid "Make sure that the generated email has a TO header, useful when you are responsible for email creation."
1416
  msgstr ""
1417
 
1418
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:826
1419
  #: src/Admin/Pages/TestTab.php:826
1420
  msgid "Unfortunately, this error can be due to many different reasons."
1421
  msgstr ""
1422
 
1423
  #. translators: %s - Blog article URL.
1424
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:831
1425
  #: src/Admin/Pages/TestTab.php:831
1426
  msgid "Please <a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\">read this article</a> to learn more about what can cause this error and how it can be resolved."
1427
  msgstr ""
1428
 
1429
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:852
1430
  #: src/Admin/Pages/TestTab.php:852
1431
  msgid "Authentication code that Google returned to you has already been used on your previous auth attempt."
1432
  msgstr ""
1433
 
1434
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:855
1435
  #: src/Admin/Pages/TestTab.php:855
1436
  msgid "Make sure that you are not trying to manually clean up the plugin options to retry the \"Allow...\" step."
1437
  msgstr ""
1438
 
1439
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:856
1440
  #: src/Admin/Pages/TestTab.php:856
1441
  msgid "Reinstall the plugin with clean plugin data turned on on Misc page. This will remove all the plugin options and you will be safe to retry."
1442
  msgstr ""
1443
 
1444
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:857
1445
  #: src/Admin/Pages/TestTab.php:857
1446
  msgid "Make sure there is no aggressive caching on site admin area pages or try to clean cache between attempts."
1447
  msgstr ""
1448
 
1449
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:868
1450
  #: src/Admin/Pages/TestTab.php:868
1451
  msgid "There are various reasons for that, please review the steps below."
1452
  msgstr ""
1453
 
1454
  #. translators: %s - Google G Suite Admin area URL.
1455
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:873
1456
  #: src/Admin/Pages/TestTab.php:873
1457
  msgid "Make sure that your G Suite trial period has not expired. You can check the status <a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\">here</a>."
1458
  msgstr ""
1459
 
1460
  #. translators: %s - Google G Suite Admin area URL.
1461
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:886
1462
  #: src/Admin/Pages/TestTab.php:886
1463
  msgid "Make sure that Gmail app in your G Suite is actually enabled. You can check that in Apps list in <a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\">G Suite Admin</a> area."
1464
  msgstr ""
1465
 
1466
  #. translators: %s - Google Developers Console URL.
1467
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:899
1468
  #: src/Admin/Pages/TestTab.php:899
1469
  msgid "Make sure that you have Gmail API enabled, and you can do that <a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\">here</a>."
1470
  msgstr ""
1471
 
1472
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:922
1473
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:949
1474
  #: src/Admin/Pages/TestTab.php:922
1475
  #: src/Admin/Pages/TestTab.php:949
1476
  msgid "Make sure that the used Client ID/Secret correspond to a proper project that has Gmail API enabled."
1477
  msgstr ""
1478
 
1479
  #. translators: %s - Gmail documentation URL.
1480
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:925
1481
  #: src/Admin/Pages/TestTab.php:925
1482
  msgid "Please follow our <a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\">Gmail tutorial</a> to be sure that all the correct project and data is applied."
1483
  msgstr ""
1484
 
1485
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:946
1486
  #: src/Admin/Pages/TestTab.php:946
1487
  msgid "You may have added a new API to a project"
1488
  msgstr ""
1489
 
1490
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:950
1491
  #: src/Admin/Pages/TestTab.php:950
1492
  msgid "Try to use a separate project for your emails, so the project has only 1 Gmail API in it enabled. You will need to remove the old project and create a new one from scratch."
1493
  msgstr ""
1494
 
1495
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:960
1496
  #: src/Admin/Pages/TestTab.php:960
1497
  msgid "SMTP.com API Error."
1498
  msgstr ""
1499
 
1500
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:961
1501
  #: src/Admin/Pages/TestTab.php:961
1502
  msgid "Your Sender Name option is incorrect."
1503
  msgstr ""
1504
 
1505
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:964
1506
  #: src/Admin/Pages/TestTab.php:964
1507
  msgid "Please make sure you entered an accurate Sender Name in WP Mail SMTP plugin settings."
1508
  msgstr ""
1509
 
1510
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:974
1511
  #: src/Admin/Pages/TestTab.php:974
1512
  msgid "GuzzleHttp requirements."
1513
  msgstr ""
1514
 
1515
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:975
1516
  #: src/Admin/Pages/TestTab.php:975
1517
  msgid "GuzzleHttp requires cURL, the allow_url_fopen ini setting, or a custom HTTP handler."
1518
  msgstr ""
1519
 
1520
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:978
1521
  #: src/Admin/Pages/TestTab.php:978
1522
  msgid "Edit your php.ini file on your hosting server."
1523
  msgstr ""
1524
 
1525
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:979
1526
  #: src/Admin/Pages/TestTab.php:979
1527
  msgid "(Recommended) Enable PHP extension: cURL, by adding \"extension=curl\" to the php.ini file (without the quotation marks) OR"
1528
  msgstr ""
1529
 
1530
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:980
1531
  #: src/Admin/Pages/TestTab.php:980
1532
  msgid "(If cURL can't be enabled on your hosting server) Enable PHP setting: allow_url_fopen, by adding \"allow_url_fopen = On\" to the php.ini file (without the quotation marks)"
1533
  msgstr ""
1534
 
1535
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:981
1536
  #: src/Admin/Pages/TestTab.php:981
1537
  msgid "If you don't know how to do the above we strongly suggest contacting your hosting support and provide them the \"full Error Log for debugging\" below and these steps. They should be able to fix this issue for you."
1538
  msgstr ""
1539
 
1540
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:1003
1541
  #: src/Admin/Pages/TestTab.php:1003
1542
  msgid "PCRE library issue"
1543
  msgstr ""
1544
 
1545
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:1004
1546
  #: src/Admin/Pages/TestTab.php:1004
1547
  msgid "It looks like your server is running PHP version 7.4.x with an outdated PCRE library (libpcre2) that has a known issue with email address validation."
1548
  msgstr ""
1549
 
1550
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:1005
1551
  #: src/Admin/Pages/TestTab.php:1005
1552
  msgid "There is a known issue with PHP version 7.4.x, when using libpcre2 library version lower than 10.33."
1553
  msgstr ""
1554
 
1555
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:1008
1556
  #: src/Admin/Pages/TestTab.php:1008
1557
  msgid "Contact your web hosting provider and inform them you are having issues with libpcre2 library on PHP 7.4."
1558
  msgstr ""
1559
 
1560
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:1009
1561
  #: src/Admin/Pages/TestTab.php:1009
1562
  msgid "They should be able to resolve this issue for you."
1563
  msgstr ""
1564
 
1565
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:1010
1566
  #: src/Admin/Pages/TestTab.php:1010
1567
  msgid "For a quick fix, until your web hosting resolves this, you can downgrade to PHP version 7.3 on your server."
1568
  msgstr ""
1569
 
1570
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:1046
1571
  #: src/Admin/Pages/TestTab.php:1046
1572
  msgid "An issue was detected."
1573
  msgstr ""
1574
 
1575
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:1047
1576
  #: src/Admin/Pages/TestTab.php:1047
1577
  msgid "This means your test email was unable to be sent."
1578
  msgstr ""
1579
 
1580
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:1049
1581
  #: src/Admin/Pages/TestTab.php:1049
1582
  msgid "Plugin settings are incorrect (wrong SMTP settings, invalid Mailer configuration, etc)."
1583
  msgstr ""
1584
 
1585
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:1051
1586
  #: src/Admin/Pages/TestTab.php:1051
1587
  msgid "Your host is rejecting the connection."
1588
  msgstr ""
1589
 
1590
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:1054
1591
  #: src/Admin/Pages/TestTab.php:1054
1592
  msgid "Triple check the plugin settings, consider reconfiguring to make sure everything is correct (eg bad copy and paste)."
1593
  msgstr ""
1594
 
1595
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:1056
1596
  #: src/Admin/Pages/TestTab.php:1056
1597
  msgid "Contact your web hosting provider and ask them to verify your server can make outside connections. Additionally, ask them if a firewall or security policy may be preventing the connection - many shared hosts block certain ports.<br><strong>Note: this is the most common cause of this issue.</strong>"
1598
  msgstr ""
1599
 
1600
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:1062
1601
  #: src/Admin/Pages/TestTab.php:1062
1602
  msgid "Try using a different mailer."
1603
  msgstr ""
1604
 
1605
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:1081
1606
  #: src/Admin/Pages/TestTab.php:1081
1607
  msgid "There was a problem while sending the test email."
1608
  msgstr ""
1609
 
1610
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:1091
1611
  #: src/Admin/Pages/TestTab.php:1091
1612
  msgid "Recommended next steps:"
1613
  msgstr ""
1614
 
1615
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:1101
1616
  #: src/Admin/Pages/TestTab.php:1101
1617
  msgid "Need support?"
1618
  msgstr ""
1619
 
1620
  #. translators: %s - WPMailSMTP.com account area link.
1621
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:1109
1622
  #: src/Admin/Pages/TestTab.php:1109
1623
  msgid "As a WP Mail SMTP Pro user you have access to WP Mail SMTP priority support. Please log in to your WPMailSMTP.com account and <a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\">submit a support ticket</a>."
1624
  msgstr ""
1625
 
1626
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:1126
1627
  #: src/Admin/Pages/TestTab.php:1126
1628
  msgid "WP Mail SMTP is a free plugin, and the team behind WPForms maintains it to give back to the WordPress community."
1629
  msgstr ""
1630
 
1631
  #. translators: %s - WPMailSMTP.com URL.
1632
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:1133
1633
  #: src/Admin/Pages/TestTab.php:1133
1634
  msgid "To access our world class support, please <a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\">upgrade to WP Mail SMTP Pro</a>. Along with getting expert support, you will also get Notification controls, Email Logging, and integrations for Amazon SES, Office 365, and Outlook.com."
1635
  msgstr ""
1636
 
1637
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:1148
1638
  #: src/Admin/Pages/TestTab.php:1148
1639
  msgid "Additionally, you can take advantage of our White Glove Setup. Sit back and relax while we handle everything for you! If you simply don't have time or maybe you feel a bit in over your head - we got you covered."
1640
  msgstr ""
1641
 
1642
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:1154
1643
  #: src/Admin/Pages/TestTab.php:1154
1644
  msgid "As a valued WP Mail SMTP user, you will get <span class=\"price-off\">$50 off regular pricing</span>, automatically applied at checkout!"
1645
  msgstr ""
1646
 
1647
  #. translators: %1$s - WP Mail SMTP support policy URL, %2$s - WP Mail SMTP support forum URL, %3$s - WPMailSMTP.com URL.
1648
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:1168
1649
  #: src/Admin/Pages/TestTab.php:1168
1650
  msgid "Alternatively, we also offer <a href=\"%1$s\" target=\"_blank\" rel=\"noopener noreferrer\">limited support</a> on the WordPress.org support forums. You can <a href=\"%2$s\" target=\"_blank\" rel=\"noopener noreferrer\">create a support thread</a> there, but please understand that free support is not guaranteed and is limited to simple issues. If you have an urgent or complex issue, then please consider <a href=\"%3$s\" target=\"_blank\" rel=\"noopener noreferrer\">upgrading to WP Mail SMTP Pro</a> to access our priority support ticket system."
1651
  msgstr ""
1652
 
1653
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:1189
1654
  #: src/Admin/Pages/TestTab.php:1189
1655
  msgid "Click here to view the full Error Log for debugging"
1656
  msgstr ""
1657
 
1658
+ #: build/wp-mail-smtp/src/Admin/Pages/TestTab.php:1198
1659
  #: src/Admin/Pages/TestTab.php:1198
1660
  msgid "Please copy only the content of the error debug message above, identified with an orange left border, into the support forum topic if you experience any issues."
1661
  msgstr ""
1662
 
1663
+ #: build/wp-mail-smtp/src/Admin/Review.php:119
1664
  #: src/Admin/Review.php:119
1665
  msgid "Are you enjoying WP Mail SMTP?"
1666
  msgstr ""
1667
 
1668
+ #: build/wp-mail-smtp/src/Admin/Review.php:121
1669
  #: src/Admin/Review.php:121
1670
  msgid "Yes"
1671
  msgstr ""
1672
 
1673
+ #: build/wp-mail-smtp/src/Admin/Review.php:122
1674
  #: src/Admin/Review.php:122
1675
  msgid "Not Really"
1676
  msgstr ""
1677
 
1678
+ #: build/wp-mail-smtp/src/Admin/Review.php:126
1679
  #: src/Admin/Review.php:126
1680
  msgid "We're sorry to hear you aren't enjoying WP Mail SMTP. We would love a chance to improve. Could you take a minute and let us know what we can do better?"
1681
  msgstr ""
1682
 
1683
+ #: build/wp-mail-smtp/src/Admin/Review.php:129
1684
  #: src/Admin/Review.php:129
1685
  msgid "Give Feedback"
1686
  msgstr ""
1687
 
1688
+ #: build/wp-mail-smtp/src/Admin/Review.php:132
1689
  #: src/Admin/Review.php:132
1690
  msgid "No thanks"
1691
  msgstr ""
1692
 
1693
+ #: build/wp-mail-smtp/src/Admin/Review.php:137
1694
  #: src/Admin/Review.php:137
1695
  msgid "That’s awesome! Could you please do me a BIG favor and give it a 5-star rating on WordPress to help us spread the word and boost our motivation?"
1696
  msgstr ""
1697
 
1698
+ #: build/wp-mail-smtp/src/Admin/Review.php:138
1699
  #: src/Admin/Review.php:138
1700
  msgid "~ Jared Atchison<br>Lead Developer, WP Mail SMTP"
1701
  msgstr ""
1702
 
1703
+ #: build/wp-mail-smtp/src/Admin/Review.php:141
1704
  #: src/Admin/Review.php:141
1705
  msgid "Ok, you deserve it"
1706
  msgstr ""
1707
 
1708
+ #: build/wp-mail-smtp/src/Admin/Review.php:143
1709
  #: src/Admin/Review.php:143
1710
  msgid "Nope, maybe later"
1711
  msgstr ""
1712
 
1713
+ #: build/wp-mail-smtp/src/Admin/Review.php:144
1714
  #: src/Admin/Review.php:144
1715
  msgid "I already did"
1716
  msgstr ""
1717
 
1718
  #. translators: %1$s - Plugin name causing conflict; %2$s - Plugin name causing conflict.
1719
+ #: build/wp-mail-smtp/src/Conflicts.php:159
1720
  #: src/Conflicts.php:159
1721
  msgid "Heads up! WP Mail SMTP has detected %1$s is activated. Please deactivate %2$s to prevent conflicts."
1722
  msgstr ""
1723
 
1724
  #. translators: %1$s - WP Mail SMTP plugin name; %2$s - WPMailSMTP.com URL to a related doc.
1725
+ #: build/wp-mail-smtp/src/Core.php:392
1726
+ #: src/Core.php:392
1727
  msgid "Your site is running an outdated version of PHP that is no longer supported and may cause issues with %1$s. <a href=\"%2$s\" target=\"_blank\" rel=\"noopener noreferrer\">Read more</a> for additional information."
1728
  msgstr ""
1729
 
1730
+ #: build/wp-mail-smtp/src/Core.php:406
1731
+ #: src/Core.php:406
1732
  msgid "<strong>Please Note:</strong> Support for PHP 5.5 will be discontinued in 2020. After this, if no further action is taken, WP Mail SMTP functionality will be disabled."
1733
  msgstr ""
1734
 
1735
  #. translators: %s - plugin name and its version.
1736
+ #: build/wp-mail-smtp/src/Core.php:440
1737
+ #: src/Core.php:440
1738
  msgid "<strong>EMAILING DISABLED:</strong> The %s is currently blocking all emails from being sent."
1739
  msgstr ""
1740
 
1741
  #. translators: %1$s - constant name; %2$s - constant value.
1742
+ #: build/wp-mail-smtp/src/Core.php:451
1743
+ #: src/Core.php:451
1744
  msgid "To send emails, change the value of the %1$s constant to %2$s."
1745
  msgstr ""
1746
 
1747
  #. translators: %s - plugin Misc settings page URL.
1748
+ #: build/wp-mail-smtp/src/Core.php:462
1749
+ #: src/Core.php:462
1750
  msgid "To send emails, go to plugin <a href=\"%s\">Misc settings</a> and disable the \"Do Not Send\" option."
1751
  msgstr ""
1752
 
1753
  #. translators: %s - plugin name and its version.
1754
+ #: build/wp-mail-smtp/src/Core.php:506
1755
+ #: src/Core.php:506
1756
  msgid "<strong>EMAIL DELIVERY ERROR:</strong> the plugin %s logged this error during the last time it tried to send an email:"
1757
  msgstr ""
1758
 
1759
+ #: build/wp-mail-smtp/src/Core.php:536
1760
+ #: src/Core.php:536
1761
  msgid "Consider running an email test after fixing it."
1762
  msgstr ""
1763
 
1764
  #. translators: %1$s - WP Mail SMTP, %2$s - error message.
1765
+ #: build/wp-mail-smtp/src/Migration.php:137
1766
  #: src/Migration.php:137
1767
  msgid "There was an error while upgrading the database. Please contact %1$s support with this information: %2$s."
1768
  msgstr ""
1769
 
1770
+ #: build/wp-mail-smtp/src/Providers/AmazonSES/Options.php:25
 
 
 
 
 
 
 
1771
  #: src/Providers/AmazonSES/Options.php:25
1772
  msgid "Amazon SES"
1773
  msgstr ""
1774
 
1775
+ #: build/wp-mail-smtp/src/Providers/AmazonSES/Options.php:39
1776
  #: src/Providers/AmazonSES/Options.php:39
1777
  msgid "We're sorry, the Amazon SES mailer is not available on your plan. Please upgrade to the PRO plan to unlock all these awesome features."
1778
  msgstr ""
1779
 
1780
+ #: build/wp-mail-smtp/src/Providers/Gmail/Auth.php:182
1781
  #: src/Providers/Gmail/Auth.php:182
1782
  msgid "There was an error while processing the Google authentication request. Please make sure that you have Client ID and Client Secret both valid and saved."
1783
  msgstr ""
1784
 
1785
+ #: build/wp-mail-smtp/src/Providers/Gmail/Mailer.php:255
1786
  #: src/Providers/Gmail/Mailer.php:255
1787
  msgid "Please re-grant Google app permissions!"
1788
  msgstr ""
1789
 
1790
+ #: build/wp-mail-smtp/src/Providers/Gmail/Mailer.php:256
1791
  #: src/Providers/Gmail/Mailer.php:256
1792
  msgid "Go to WP Mail SMTP plugin settings page. Click the “Remove Connection” button."
1793
  msgstr ""
1794
 
1795
+ #: build/wp-mail-smtp/src/Providers/Gmail/Mailer.php:257
1796
  #: src/Providers/Gmail/Mailer.php:257
1797
  msgid "Then click the “Allow plugin to send emails using your Google account” button and re-enable access."
1798
  msgstr ""
1799
 
1800
+ #: build/wp-mail-smtp/src/Providers/Gmail/Options.php:33
1801
+ #: src/Providers/Gmail/Options.php:33
1802
  msgid "Gmail"
1803
  msgstr ""
1804
 
1805
  #. translators: %s - URL to our Gmail doc.
1806
+ #: build/wp-mail-smtp/src/Providers/Gmail/Options.php:36
1807
+ #: src/Providers/Gmail/Options.php:36
1808
  msgid "Send emails using your Gmail or G Suite (formerly Google Apps) account, all while keeping your login credentials safe. Other Google SMTP methods require enabling less secure apps in your account and entering your password. However, this integration uses the Google API to improve email delivery issues while keeping your site secure.<br><br>Read our <a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\">Gmail documentation</a> to learn how to configure Gmail or G Suite."
1809
  msgstr ""
1810
 
1811
+ #: build/wp-mail-smtp/src/Providers/Gmail/Options.php:49
1812
+ #: src/Providers/Gmail/Options.php:49
1813
  msgid "The Gmail mailer works well for sites that send low numbers of emails. However, Gmail's API has rate limitations and a number of additional restrictions that can lead to challenges during setup. If you expect to send a high volume of emails, or if you find that your web host is not compatible with the Gmail API restrictions, then we recommend considering a different mailer option."
1814
  msgstr ""
1815
 
1816
+ #: build/wp-mail-smtp/src/Providers/Gmail/Options.php:80
1817
+ #: src/Providers/Gmail/Options.php:80
1818
  msgid "Client ID"
1819
  msgstr ""
1820
 
1821
+ #: build/wp-mail-smtp/src/Providers/Gmail/Options.php:95
1822
+ #: src/Providers/Gmail/Options.php:95
1823
  msgid "Client Secret"
1824
  msgstr ""
1825
 
1826
+ #: build/wp-mail-smtp/src/Providers/Gmail/Options.php:117
1827
+ #: src/Providers/Gmail/Options.php:117
1828
  msgid "Authorized redirect URI"
1829
  msgstr ""
1830
 
1831
+ #: build/wp-mail-smtp/src/Providers/Gmail/Options.php:125
1832
+ #: src/Providers/Gmail/Options.php:125
1833
  msgid "Copy URL to clipboard"
1834
  msgstr ""
1835
 
1836
+ #: build/wp-mail-smtp/src/Providers/Gmail/Options.php:130
1837
+ #: src/Providers/Gmail/Options.php:130
1838
  msgid "Please copy this URL into the \"Authorized redirect URIs\" field of your Google web application."
1839
  msgstr ""
1840
 
1841
+ #: build/wp-mail-smtp/src/Providers/Gmail/Options.php:139
1842
+ #: src/Providers/Gmail/Options.php:139
1843
  msgid "Authorization"
1844
  msgstr ""
1845
 
1846
+ #: build/wp-mail-smtp/src/Providers/Gmail/Options.php:167
1847
+ #: src/Providers/Gmail/Options.php:167
1848
  msgid "Allow plugin to send emails using your Google account"
1849
  msgstr ""
1850
 
1851
+ #: build/wp-mail-smtp/src/Providers/Gmail/Options.php:170
1852
+ #: src/Providers/Gmail/Options.php:170
1853
  msgid "Click the button above to confirm authorization."
1854
  msgstr ""
1855
 
1856
+ #: build/wp-mail-smtp/src/Providers/Gmail/Options.php:176
1857
+ #: src/Providers/Gmail/Options.php:176
1858
  msgid "Remove Connection"
1859
  msgstr ""
1860
 
1861
  #. translators: %s - email address, as received from Google API.
1862
+ #: build/wp-mail-smtp/src/Providers/Gmail/Options.php:185
1863
+ #: src/Providers/Gmail/Options.php:185
1864
  msgid "Connected as %s"
1865
  msgstr ""
1866
 
1867
  #. translators: %s - URL to Google Gmail alias documentation page.
1868
+ #: build/wp-mail-smtp/src/Providers/Gmail/Options.php:195
1869
+ #: src/Providers/Gmail/Options.php:195
1870
  msgid "If you want to use a different From Email address you can set-up a Google email alias. <a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\">Follow these instructions</a> and then select the From Email at the top of this page."
1871
  msgstr ""
1872
 
1873
+ #: build/wp-mail-smtp/src/Providers/Gmail/Options.php:209
1874
+ #: src/Providers/Gmail/Options.php:209
1875
  msgid "Removing the connection will give you an ability to redo the connection or link to another Google account."
1876
  msgstr ""
1877
 
1878
+ #: build/wp-mail-smtp/src/Providers/Gmail/Options.php:217
1879
+ #: src/Providers/Gmail/Options.php:217
1880
  msgid "You need to save settings with Client ID and Client Secret before you can proceed."
1881
  msgstr ""
1882
 
1883
+ #: build/wp-mail-smtp/src/Providers/Mail/Options.php:25
1884
  #: src/Providers/Mail/Options.php:25
1885
  msgid "Default (none)"
1886
  msgstr ""
1887
 
1888
+ #: build/wp-mail-smtp/src/Providers/Mail/Options.php:37
1889
  #: src/Providers/Mail/Options.php:37
1890
  msgid "You currently have the native WordPress option selected. Please select any other Mailer option above to continue the setup."
1891
  msgstr ""
1892
 
1893
+ #: build/wp-mail-smtp/src/Providers/Mailgun/Mailer.php:392
1894
  #: src/Providers/Mailgun/Mailer.php:392
1895
  msgid "Mailgun API request was successful, but it could not queue the email for delivery."
1896
  msgstr ""
1897
 
1898
+ #: build/wp-mail-smtp/src/Providers/Mailgun/Mailer.php:393
1899
  #: src/Providers/Mailgun/Mailer.php:393
1900
  msgid "This could point to an incorrect Domain Name in the plugin settings."
1901
  msgstr ""
1902
 
1903
+ #: build/wp-mail-smtp/src/Providers/Mailgun/Mailer.php:394
1904
  #: src/Providers/Mailgun/Mailer.php:394
1905
  msgid "Please check the WP Mail SMTP plugin settings and make sure the Mailgun Domain Name setting is correct."
1906
  msgstr ""
1907
 
1908
+ #: build/wp-mail-smtp/src/Providers/Mailgun/Options.php:25
1909
  #: src/Providers/Mailgun/Options.php:25
1910
  msgid "Mailgun"
1911
  msgstr ""
1912
 
1913
  #. translators: %1$s - opening link tag; %2$s - closing link tag; %3$s - opening link tag; %4$s - closing link tag.
1914
+ #: build/wp-mail-smtp/src/Providers/Mailgun/Options.php:29
1915
  #: src/Providers/Mailgun/Options.php:29
1916
  msgid "%1$sMailgun%2$s is one of the leading transactional email services trusted by over 150,000+ businesses. They provide 5,000 free emails per month for 3 months.<br><br>Read our %3$sMailgun documentation%4$s to learn how to configure Mailgun and improve your email deliverability."
1917
  msgstr ""
1918
 
1919
+ #: build/wp-mail-smtp/src/Providers/Mailgun/Options.php:57
1920
  #: src/Providers/Mailgun/Options.php:57
1921
  msgid "Private API Key"
1922
  msgstr ""
1923
 
1924
  #. translators: %s - API key link.
1925
+ #: build/wp-mail-smtp/src/Providers/Mailgun/Options.php:76
1926
  #: src/Providers/Mailgun/Options.php:76
1927
  msgid "Follow this link to get an API Key from Mailgun: %s."
1928
  msgstr ""
1929
 
1930
+ #: build/wp-mail-smtp/src/Providers/Mailgun/Options.php:78
1931
  #: src/Providers/Mailgun/Options.php:78
1932
  msgid "Get a Private API Key"
1933
  msgstr ""
1934
 
1935
+ #: build/wp-mail-smtp/src/Providers/Mailgun/Options.php:89
1936
  #: src/Providers/Mailgun/Options.php:89
1937
  msgid "Domain Name"
1938
  msgstr ""
1939
 
1940
  #. translators: %s - Domain Name link.
1941
+ #: build/wp-mail-smtp/src/Providers/Mailgun/Options.php:101
1942
  #: src/Providers/Mailgun/Options.php:101
1943
  msgid "Follow this link to get a Domain Name from Mailgun: %s."
1944
  msgstr ""
1945
 
1946
+ #: build/wp-mail-smtp/src/Providers/Mailgun/Options.php:103
1947
  #: src/Providers/Mailgun/Options.php:103
1948
  msgid "Get a Domain Name"
1949
  msgstr ""
1950
 
1951
+ #: build/wp-mail-smtp/src/Providers/Mailgun/Options.php:114
1952
  #: src/Providers/Mailgun/Options.php:114
1953
  msgid "Region"
1954
  msgstr ""
1955
 
1956
+ #: build/wp-mail-smtp/src/Providers/Mailgun/Options.php:124
1957
  #: src/Providers/Mailgun/Options.php:124
1958
  msgid "US"
1959
  msgstr ""
1960
 
1961
+ #: build/wp-mail-smtp/src/Providers/Mailgun/Options.php:133
1962
  #: src/Providers/Mailgun/Options.php:133
1963
  msgid "EU"
1964
  msgstr ""
1965
 
1966
+ #: build/wp-mail-smtp/src/Providers/Mailgun/Options.php:137
1967
  #: src/Providers/Mailgun/Options.php:137
1968
  msgid "Define which endpoint you want to use for sending messages."
1969
  msgstr ""
1970
 
1971
+ #: build/wp-mail-smtp/src/Providers/Mailgun/Options.php:138
1972
  #: src/Providers/Mailgun/Options.php:138
1973
  msgid "If you are operating under EU laws, you may be required to use EU region."
1974
  msgstr ""
1975
 
1976
  #. translators: %s - URL to Mailgun.com page.
1977
+ #: build/wp-mail-smtp/src/Providers/Mailgun/Options.php:143
1978
  #: src/Providers/Mailgun/Options.php:143
1979
  msgid "<a href=\"%s\" rel=\"\" target=\"_blank\">More information</a> on Mailgun.com."
1980
  msgstr ""
1981
 
1982
+ #: build/wp-mail-smtp/src/Providers/OptionsAbstract.php:198
1983
+ #: src/Providers/OptionsAbstract.php:198
1984
  msgid "SMTP Host"
1985
  msgstr ""
1986
 
1987
+ #: build/wp-mail-smtp/src/Providers/OptionsAbstract.php:212
1988
+ #: src/Providers/OptionsAbstract.php:212
1989
  msgid "Encryption"
1990
  msgstr ""
1991
 
1992
+ #: build/wp-mail-smtp/src/Providers/OptionsAbstract.php:222
1993
+ #: src/Providers/OptionsAbstract.php:222
1994
  msgid "None"
1995
  msgstr ""
1996
 
1997
+ #: build/wp-mail-smtp/src/Providers/OptionsAbstract.php:231
1998
+ #: src/Providers/OptionsAbstract.php:231
1999
  msgid "SSL"
2000
  msgstr ""
2001
 
2002
+ #: build/wp-mail-smtp/src/Providers/OptionsAbstract.php:240
2003
+ #: src/Providers/OptionsAbstract.php:240
2004
  msgid "TLS"
2005
  msgstr ""
2006
 
2007
+ #: build/wp-mail-smtp/src/Providers/OptionsAbstract.php:244
2008
+ #: src/Providers/OptionsAbstract.php:244
2009
  msgid "For most servers TLS is the recommended option. If your SMTP provider offers both SSL and TLS options, we recommend using TLS."
2010
  msgstr ""
2011
 
2012
+ #: build/wp-mail-smtp/src/Providers/OptionsAbstract.php:252
2013
+ #: src/Providers/OptionsAbstract.php:252
2014
  msgid "SMTP Port"
2015
  msgstr ""
2016
 
2017
+ #: build/wp-mail-smtp/src/Providers/OptionsAbstract.php:266
2018
+ #: src/Providers/OptionsAbstract.php:266
2019
  msgid "Auto TLS"
2020
  msgstr ""
2021
 
2022
+ #: build/wp-mail-smtp/src/Providers/OptionsAbstract.php:280
2023
+ #: src/Providers/OptionsAbstract.php:280
2024
  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."
2025
  msgstr ""
2026
 
2027
+ #: build/wp-mail-smtp/src/Providers/OptionsAbstract.php:288
2028
+ #: src/Providers/OptionsAbstract.php:288
2029
  msgid "Authentication"
2030
  msgstr ""
2031
 
2032
+ #: build/wp-mail-smtp/src/Providers/OptionsAbstract.php:307
2033
+ #: src/Providers/OptionsAbstract.php:307
2034
  msgid "SMTP Username"
2035
  msgstr ""
2036
 
2037
+ #: build/wp-mail-smtp/src/Providers/OptionsAbstract.php:321
2038
+ #: src/Providers/OptionsAbstract.php:321
2039
  msgid "SMTP Password"
2040
  msgstr ""
2041
 
2042
  #. translators: %s - constant name: WPMS_SMTP_PASS.
2043
+ #: build/wp-mail-smtp/src/Providers/OptionsAbstract.php:333
2044
+ #: src/Providers/OptionsAbstract.php:333
2045
  msgid "To change the password you need to change the value of the constant there: %s"
2046
  msgstr ""
2047
 
2048
  #. translators: %1$s - wp-config.php file, %2$s - WPMS_ON constant name.
2049
+ #: build/wp-mail-smtp/src/Providers/OptionsAbstract.php:341
2050
+ #: src/Providers/OptionsAbstract.php:341
2051
  msgid "If you want to disable the use of constants, find in %1$s file the constant %2$s and turn if off:"
2052
  msgstr ""
2053
 
2054
+ #: build/wp-mail-smtp/src/Providers/OptionsAbstract.php:351
2055
+ #: src/Providers/OptionsAbstract.php:351
2056
  msgid "All the defined constants will stop working and you will be able to change all the values on this page."
2057
  msgstr ""
2058
 
2059
+ #: build/wp-mail-smtp/src/Providers/OptionsAbstract.php:359
2060
+ #: src/Providers/OptionsAbstract.php:359
2061
  msgid "The password will be stored in plain text. For improved security, we highly recommend using your site's WordPress configuration file to set your password."
2062
  msgstr ""
2063
 
2064
+ #: build/wp-mail-smtp/src/Providers/OptionsAbstract.php:362
2065
+ #: src/Providers/OptionsAbstract.php:362
2066
  msgid "Learn More"
2067
  msgstr ""
2068
 
2069
  #. translators: %1$s - Provider name; %2$s - PHP version required by Provider; %3$s - current PHP version.
2070
+ #: build/wp-mail-smtp/src/Providers/OptionsAbstract.php:422
2071
+ #: src/Providers/OptionsAbstract.php:422
2072
  msgid "%1$s requires PHP %2$s to work and does not support your current PHP version %3$s. Please contact your host and request a PHP upgrade to the latest one."
2073
  msgstr ""
2074
 
2075
+ #: build/wp-mail-smtp/src/Providers/OptionsAbstract.php:429
2076
+ #: src/Providers/OptionsAbstract.php:429
2077
  msgid "Meanwhile you can switch to some other mailers."
2078
  msgstr ""
2079
 
2080
  #. translators: %s - Provider name
2081
+ #: build/wp-mail-smtp/src/Providers/OptionsAbstract.php:448
2082
+ #: src/Providers/OptionsAbstract.php:448
2083
  msgid "%s requires an SSL certificate, and so is not currently compatible with your site. Please contact your host to request a SSL certificate, or check out <a href=\"https://www.wpbeginner.com/wp-tutorials/how-to-add-ssl-and-https-in-wordpress/\" target=\"_blank\">WPBeginner's tutorial on how to set up SSL</a>."
2084
  msgstr ""
2085
 
2086
+ #: build/wp-mail-smtp/src/Providers/OptionsAbstract.php:461
2087
+ #: src/Providers/OptionsAbstract.php:461
2088
  msgid "If you'd prefer not to set up SSL, or need an SMTP solution in the meantime, please select a different mailer option."
2089
  msgstr ""
2090
 
2091
+ #: build/wp-mail-smtp/src/Providers/Outlook/Options.php:25
2092
  #: src/Providers/Outlook/Options.php:25
2093
  msgid "Outlook"
2094
  msgstr ""
2095
 
2096
+ #: build/wp-mail-smtp/src/Providers/Outlook/Options.php:39
2097
  #: src/Providers/Outlook/Options.php:39
2098
  msgid "We're sorry, the Microsoft Outlook mailer is not available on your plan. Please upgrade to the PRO plan to unlock all these awesome features."
2099
  msgstr ""
2100
 
2101
+ #: build/wp-mail-smtp/src/Providers/Pepipost/Options.php:25
2102
  #: src/Providers/Pepipost/Options.php:25
2103
  msgid "Pepipost SMTP"
2104
  msgstr ""
2105
 
2106
+ #: build/wp-mail-smtp/src/Providers/PepipostAPI/Mailer.php:339
2107
  #: src/Providers/PepipostAPI/Mailer.php:339
2108
  msgid "General error"
2109
  msgstr ""
2110
 
2111
+ #: build/wp-mail-smtp/src/Providers/PepipostAPI/Mailer.php:340
2112
  #: src/Providers/PepipostAPI/Mailer.php:340
2113
  msgid "Error"
2114
  msgstr ""
2115
 
2116
  #. translators: %1$s - URL to pepipost.com site.
2117
+ #: build/wp-mail-smtp/src/Providers/PepipostAPI/Options.php:32
2118
+ #: src/Providers/PepipostAPI/Options.php:32
2119
+ msgid "<a href=\"%1$s\" target=\"_blank\" rel=\"noopener noreferrer\">Pepipost</a> is a transactional email service. Every month Pepipost delivers over 8 billion emails from 20,000+ customers. Their mission is to reliably send emails in the most efficient way and at the most disruptive pricing ever. Pepipost provides users 30,000 free emails the first 30 days."
2120
  msgstr ""
2121
 
2122
  #. translators: %1$s - URL to wpmailsmtp.com doc.
2123
+ #: build/wp-mail-smtp/src/Providers/PepipostAPI/Options.php:35
2124
+ #: src/Providers/PepipostAPI/Options.php:35
2125
  msgid "Read our <a href=\"%2$s\" target=\"_blank\" rel=\"noopener noreferrer\">Pepipost documentation</a> to learn how to configure Pepipost and improve your email deliverability."
2126
  msgstr ""
2127
 
2128
+ #: build/wp-mail-smtp/src/Providers/PepipostAPI/Options.php:53
2129
  #: src/Providers/PepipostAPI/Options.php:53
2130
  msgid "Get Started with Pepipost"
2131
  msgstr ""
2132
 
2133
+ #: build/wp-mail-smtp/src/Providers/PepipostAPI/Options.php:61
2134
  #: src/Providers/PepipostAPI/Options.php:61
2135
  msgid "Pepipost"
2136
  msgstr ""
2137
 
2138
+ #: build/wp-mail-smtp/src/Providers/PepipostAPI/Options.php:94
2139
+ #: build/wp-mail-smtp/src/Providers/Sendgrid/Options.php:65
2140
+ #: build/wp-mail-smtp/src/Providers/Sendinblue/Options.php:84
2141
+ #: build/wp-mail-smtp/src/Providers/SMTPcom/Options.php:91
2142
+ #: src/Providers/PepipostAPI/Options.php:94
2143
+ #: src/Providers/Sendgrid/Options.php:65
2144
+ #: src/Providers/Sendinblue/Options.php:84
2145
+ #: src/Providers/SMTPcom/Options.php:91
2146
  msgid "API Key"
2147
  msgstr ""
2148
 
2149
  #. translators: %s - link to get an API Key.
2150
+ #: build/wp-mail-smtp/src/Providers/PepipostAPI/Options.php:113
2151
+ #: build/wp-mail-smtp/src/Providers/Sendinblue/Options.php:103
2152
+ #: src/Providers/PepipostAPI/Options.php:113
2153
+ #: src/Providers/Sendinblue/Options.php:103
2154
  msgid "Follow this link to get an API Key: %s."
2155
  msgstr ""
2156
 
2157
+ #: build/wp-mail-smtp/src/Providers/PepipostAPI/Options.php:115
2158
+ #: src/Providers/PepipostAPI/Options.php:115
2159
  msgid "Get the API Key"
2160
  msgstr ""
2161
 
2162
+ #: build/wp-mail-smtp/src/Providers/Sendgrid/Options.php:26
2163
+ #: src/Providers/Sendgrid/Options.php:26
2164
  msgid "SendGrid"
2165
  msgstr ""
2166
 
2167
  #. translators: %1$s - opening link tag; %2$s - closing link tag; %3$s - opening link tag; %4$s - closing link tag.
2168
+ #: build/wp-mail-smtp/src/Providers/Sendgrid/Options.php:30
2169
+ #: src/Providers/Sendgrid/Options.php:30
2170
  msgid "%1$sSendGrid%2$s is one of the leading transactional email services, sending over 35 billion emails every month. They provide users 100 free emails per day.<br><br>Read our %3$sSendGrid documentation%4$s to learn how to set up SendGrid and improve your email deliverability."
2171
  msgstr ""
2172
 
2173
  #. translators: %s - API key link.
2174
+ #: build/wp-mail-smtp/src/Providers/Sendgrid/Options.php:84
2175
+ #: src/Providers/Sendgrid/Options.php:84
2176
  msgid "Follow this link to get an API Key from SendGrid: %s."
2177
  msgstr ""
2178
 
2179
+ #: build/wp-mail-smtp/src/Providers/Sendgrid/Options.php:86
2180
+ #: src/Providers/Sendgrid/Options.php:86
2181
  msgid "Create API Key"
2182
  msgstr ""
2183
 
2184
  #. translators: %s - SendGrid access level.
2185
+ #: build/wp-mail-smtp/src/Providers/Sendgrid/Options.php:94
2186
+ #: src/Providers/Sendgrid/Options.php:94
2187
  msgid "To send emails you will need only a %s access level for this API key."
2188
  msgstr ""
2189
 
2190
+ #: build/wp-mail-smtp/src/Providers/Sendinblue/Options.php:34
2191
+ #: src/Providers/Sendinblue/Options.php:34
2192
  msgid "Sendinblue"
2193
  msgstr ""
2194
 
2195
  #. translators: %1$s - URL to sendinblue.com site.
2196
+ #: build/wp-mail-smtp/src/Providers/Sendinblue/Options.php:38
2197
+ #: src/Providers/Sendinblue/Options.php:38
2198
  msgid "<a href=\"%1$s\" target=\"_blank\" rel=\"noopener noreferrer\">Sendinblue</a> serves 80,000+ growing companies around the world and sends over 30 million emails each day. They provide users 300 free emails per day."
2199
  msgstr ""
2200
 
2201
  #. translators: %2$s - URL to wpmailsmtp.com doc.
2202
+ #: build/wp-mail-smtp/src/Providers/Sendinblue/Options.php:41
2203
+ #: src/Providers/Sendinblue/Options.php:41
2204
  msgid "Read our <a href=\"%2$s\" target=\"_blank\" rel=\"noopener noreferrer\">Sendinblue documentation</a> to learn how to configure Sendinblue and improve your email deliverability."
2205
  msgstr ""
2206
 
2207
+ #: build/wp-mail-smtp/src/Providers/Sendinblue/Options.php:105
2208
+ #: src/Providers/Sendinblue/Options.php:105
2209
  msgid "Get v3 API Key"
2210
  msgstr ""
2211
 
2212
+ #: build/wp-mail-smtp/src/Providers/SMTP/Options.php:25
2213
  #: src/Providers/SMTP/Options.php:25
2214
  msgid "Other SMTP"
2215
  msgstr ""
2216
 
2217
  #. translators: %s - URL to SMTP documentation.
2218
+ #: build/wp-mail-smtp/src/Providers/SMTP/Options.php:29
2219
  #: src/Providers/SMTP/Options.php:29
2220
  msgid "Use the SMTP details provided by your hosting provider or email service.<br><br>To see recommended settings for the popular services as well as troubleshooting tips, check out our <a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\">SMTP documentation</a>."
2221
  msgstr ""
2222
 
2223
+ #: build/wp-mail-smtp/src/Providers/SMTPcom/Mailer.php:434
2224
  #: src/Providers/SMTPcom/Mailer.php:434
2225
  msgid "Api Key:"
2226
  msgstr ""
2227
 
2228
+ #: build/wp-mail-smtp/src/Providers/SMTPcom/Mailer.php:436
2229
  #: src/Providers/SMTPcom/Mailer.php:436
2230
  msgid "Channel:"
2231
  msgstr ""
2232
 
2233
  #. translators: %s - URL to smtp.com site.
2234
+ #: build/wp-mail-smtp/src/Providers/SMTPcom/Options.php:42
2235
+ #: src/Providers/SMTPcom/Options.php:42
2236
  msgid "<strong><a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\">SMTP.com</a> is a recommended transactional email service.</strong> With a 22 years of track record of reliable email delivery, SMTP.com is a premiere solution for WordPress developers and website owners. SMTP.com has been around for almost as long as email itself. Their super simple integration interface makes it easy to get started while a powerful API and robust documentation make it a preferred choice among developers. Start a 30-day free trial with 50,000 emails."
2237
  msgstr ""
2238
 
2239
  #. translators: %s - URL to wpmailsmtp.com doc page for stmp.com.
2240
+ #: build/wp-mail-smtp/src/Providers/SMTPcom/Options.php:50
2241
+ #: src/Providers/SMTPcom/Options.php:50
2242
  msgid "Read our <a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\">SMTP.com documentation</a> to learn how to configure SMTP.com and improve your email deliverability."
2243
  msgstr ""
2244
 
2245
+ #: build/wp-mail-smtp/src/Providers/SMTPcom/Options.php:60
2246
+ #: src/Providers/SMTPcom/Options.php:60
2247
  msgid "Get Started with SMTP.com"
2248
  msgstr ""
2249
 
2250
+ #: build/wp-mail-smtp/src/Providers/SMTPcom/Options.php:68
2251
+ #: src/Providers/SMTPcom/Options.php:68
2252
  msgid "SMTP.com"
2253
  msgstr ""
2254
 
2255
  #. translators: %s - API key link.
2256
+ #: build/wp-mail-smtp/src/Providers/SMTPcom/Options.php:109
2257
+ #: src/Providers/SMTPcom/Options.php:109
2258
  msgid "Follow this link to get an API Key from SMTP.com: %s."
2259
  msgstr ""
2260
 
2261
+ #: build/wp-mail-smtp/src/Providers/SMTPcom/Options.php:111
2262
+ #: src/Providers/SMTPcom/Options.php:111
2263
  msgid "Get API Key"
2264
  msgstr ""
2265
 
2266
+ #: build/wp-mail-smtp/src/Providers/SMTPcom/Options.php:122
2267
+ #: src/Providers/SMTPcom/Options.php:122
2268
  msgid "Sender Name"
2269
  msgstr ""
2270
 
2271
  #. translators: %s - Channel/Sender Name link for smtp.com documentation.
2272
+ #: build/wp-mail-smtp/src/Providers/SMTPcom/Options.php:138
2273
+ #: src/Providers/SMTPcom/Options.php:138
2274
  msgid "Follow this link to get a Sender Name from SMTP.com: %s."
2275
  msgstr ""
2276
 
2277
+ #: build/wp-mail-smtp/src/Providers/SMTPcom/Options.php:140
2278
+ #: src/Providers/SMTPcom/Options.php:140
2279
  msgid "Get Sender Name"
2280
  msgstr ""
2281
 
2282
+ #: build/wp-mail-smtp/src/Providers/Zoho/Options.php:25
2283
+ #: src/Providers/Zoho/Options.php:25
2284
+ msgid "Zoho Mail"
2285
+ msgstr ""
2286
+
2287
+ #: build/wp-mail-smtp/src/Providers/Zoho/Options.php:41
2288
+ #: src/Providers/Zoho/Options.php:41
2289
+ msgid "We're sorry, the Zoho Mail mailer is not available on your plan. Please upgrade to the PRO plan to unlock all these awesome features."
2290
+ msgstr ""
2291
+
2292
+ #: build/wp-mail-smtp/src/SiteHealth.php:67
2293
  #: src/SiteHealth.php:67
2294
  msgid "Is WP Mail SMTP mailer setup complete?"
2295
  msgstr ""
2296
 
2297
+ #: build/wp-mail-smtp/src/SiteHealth.php:72
2298
  #: src/SiteHealth.php:72
2299
  msgid "Do WP Mail SMTP DB tables exist?"
2300
  msgstr ""
2301
 
2302
+ #: build/wp-mail-smtp/src/SiteHealth.php:98
2303
  #: src/SiteHealth.php:98
2304
  msgid "Version"
2305
  msgstr ""
2306
 
2307
+ #: build/wp-mail-smtp/src/SiteHealth.php:102
2308
  #: src/SiteHealth.php:102
2309
  msgid "License key type"
2310
  msgstr ""
2311
 
2312
+ #: build/wp-mail-smtp/src/SiteHealth.php:106
2313
  #: src/SiteHealth.php:106
2314
  msgid "Debug"
2315
  msgstr ""
2316
 
2317
+ #: build/wp-mail-smtp/src/SiteHealth.php:107
2318
  #: src/SiteHealth.php:107
2319
  msgid "No debug notices found."
2320
  msgstr ""
2321
 
2322
+ #: build/wp-mail-smtp/src/SiteHealth.php:110
2323
  #: src/SiteHealth.php:110
2324
  msgid "DB tables"
2325
  msgstr ""
2326
 
2327
+ #: build/wp-mail-smtp/src/SiteHealth.php:112
2328
  #: src/SiteHealth.php:112
2329
  msgid "No DB tables found."
2330
  msgstr ""
2331
 
2332
+ #: build/wp-mail-smtp/src/SiteHealth.php:123
2333
+ #: src/SiteHealth.php:123
2334
+ msgid "Lite install date"
2335
+ msgstr ""
2336
+
2337
+ #: build/wp-mail-smtp/src/SiteHealth.php:140
2338
+ #: src/SiteHealth.php:140
2339
+ msgid "None selected"
2340
+ msgstr ""
2341
+
2342
+ #: build/wp-mail-smtp/src/SiteHealth.php:160
2343
+ #: src/SiteHealth.php:160
2344
  msgid "Current mailer"
2345
  msgstr ""
2346
 
2347
+ #: build/wp-mail-smtp/src/SiteHealth.php:165
2348
+ #: src/SiteHealth.php:165
2349
  msgid "WP Mail SMTP mailer setup is complete"
2350
  msgstr ""
2351
 
2352
+ #: build/wp-mail-smtp/src/SiteHealth.php:174
2353
+ #: src/SiteHealth.php:174
2354
  msgid "The WP Mail SMTP plugin mailer setup is complete. You can send a test email, to make sure it's working properly."
2355
  msgstr ""
2356
 
2357
+ #: build/wp-mail-smtp/src/SiteHealth.php:179
2358
+ #: src/SiteHealth.php:179
2359
  msgid "Test email sending"
2360
  msgstr ""
2361
 
2362
+ #: build/wp-mail-smtp/src/SiteHealth.php:187
2363
+ #: src/SiteHealth.php:187
2364
  msgid "You currently have the default mailer selected, which means that you haven’t set up SMTP yet."
2365
  msgstr ""
2366
 
2367
+ #: build/wp-mail-smtp/src/SiteHealth.php:192
2368
+ #: src/SiteHealth.php:192
2369
  msgid "WP Mail SMTP mailer setup is incomplete"
2370
  msgstr ""
2371
 
2372
+ #: build/wp-mail-smtp/src/SiteHealth.php:198
2373
+ #: src/SiteHealth.php:198
2374
  msgid "The WP Mail SMTP plugin mailer setup is incomplete. Please click on the link below to access plugin settings and configure the mailer."
2375
  msgstr ""
2376
 
2377
+ #: build/wp-mail-smtp/src/SiteHealth.php:203
2378
+ #: src/SiteHealth.php:203
2379
  msgid "Configure mailer"
2380
  msgstr ""
2381
 
2382
+ #: build/wp-mail-smtp/src/SiteHealth.php:220
2383
+ #: src/SiteHealth.php:220
2384
  msgid "WP Mail SMTP DB tables are created"
2385
  msgstr ""
2386
 
2387
+ #: build/wp-mail-smtp/src/SiteHealth.php:226
2388
+ #: src/SiteHealth.php:226
2389
  msgid "WP Mail SMTP is using custom database tables for some of its features. In order to work properly, the custom tables should be created, and it looks like they exist in your database."
2390
  msgstr ""
2391
 
2392
+ #: build/wp-mail-smtp/src/SiteHealth.php:234
2393
+ #: src/SiteHealth.php:234
2394
  msgid "WP Mail SMTP DB tables check has failed"
2395
  msgstr ""
2396
 
2397
  #. translators: %s - the list of missing tables separated by comma.
2398
+ #: build/wp-mail-smtp/src/SiteHealth.php:240
2399
+ #: src/SiteHealth.php:240
2400
  msgid "Missing table: %s"
2401
  msgid_plural "Missing tables: %s"
2402
  msgstr[0] ""
2403
  msgstr[1] ""
2404
 
2405
+ #: build/wp-mail-smtp/src/SiteHealth.php:243
2406
+ #: src/SiteHealth.php:243
2407
  msgid "WP Mail SMTP is using custom database tables for some of its features. In order to work properly, the custom tables should be created, and it seems they are missing. Please try to re-install the WP Mail SMTP plugin. If this issue persists, please contact our support."
2408
  msgstr ""
2409
 
2410
  #. translators: %1$s - date, \a\t - specially escaped "at", %2$s - time.
2411
+ #: build/wp-mail-smtp/src/WP.php:190
2412
  #: src/WP.php:190
2413
  msgid "%1$s \\a\\t %2$s"
2414
  msgstr ""
2415
 
2416
+ #: build/wp-mail-smtp/wp_mail_smtp.php:137
2417
+ #: wp_mail_smtp.php:137
2418
  msgid "Please deactivate the free version of the WP Mail SMTP plugin before activating WP Mail SMTP Pro."
2419
  msgstr ""
2420
 
2421
  #. translators: %1$s - WPBeginner URL for recommended WordPress hosting.
2422
+ #: build/wp-mail-smtp/wp_mail_smtp.php:165
2423
+ #: wp_mail_smtp.php:165
2424
  msgid "Your site is running an <strong>insecure version</strong> of PHP that is no longer supported. Please contact your web hosting provider to update your PHP version or switch to a <a href=\"%1$s\" target=\"_blank\" rel=\"noopener noreferrer\">recommended WordPress hosting company</a>."
2425
  msgstr ""
2426
 
2427
  #. translators: %s - WPMailSMTP.com docs URL with more details.
2428
+ #: build/wp-mail-smtp/wp_mail_smtp.php:182
2429
+ #: wp_mail_smtp.php:182
2430
  msgid "<strong>WP Mail SMTP plugin is disabled</strong> on your site until you fix the issue. <a href=\"%s\" target=\"_blank\" rel=\"noopener noreferrer\">Read more for additional information.</a>"
2431
  msgstr ""
2432
+
2433
+ #: src/Pro/Providers/Providers.php:157
2434
+ msgid "OK"
2435
+ msgstr ""
2436
+
2437
+ #: src/Pro/SiteHealth.php:58
2438
+ msgid "Is wpmailsmtp.com reachable?"
2439
+ msgstr ""
readme.txt CHANGED
@@ -1,9 +1,9 @@
1
  === WP Mail SMTP by WPForms ===
2
  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, pepipost, sendinblue, wp smtp
4
  Requires at least: 4.9
5
- Tested up to: 5.4
6
- Stable tag: 2.2.1
7
  Requires PHP: 5.5.0
8
 
9
  The most popular WordPress SMTP and PHP Mailer plugin. Trusted by over 1 million sites.
@@ -22,7 +22,7 @@ WP Mail SMTP fixes your email deliverability by reconfiguring WordPress to use a
22
 
23
  SMTP (Simple Mail Transfer Protocol) is an industry standard for sending emails. Proper SMTP configuration helps increase email deliverability by using authentication.
24
 
25
- Popular email clients like Gmail, Yahoo, and Office 365 are in a constant battle with email spammers. One of the things they look at is if an email is originating from the location it claims to be originating from.
26
 
27
  If the proper authentication isn't there, then emails either go in the SPAM folder or worst, don't get delivered at all.
28
 
@@ -43,16 +43,16 @@ This helps you fix all WordPress not sending email issues.
43
  WP Mail SMTP plugin includes many different SMTP setup options:
44
 
45
  1. SMTP.com <strong>(Recommended)</strong>
46
- 2. Pepipost SMTP <strong>(Recommended)</strong>
47
- 3. Sendinblue SMTP
48
- 4. Mailgun SMTP
49
- 5. SendGrid SMTP
50
- 6. Gmail SMTP
51
- 7. Microsoft SMTP (Outlook.com and Office 365) <a href="https://wpmailsmtp.com/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion&utm_content=readme" rel="friend">[Pro]</a>
52
- 8. Amazon SES SMTP <a href="https://wpmailsmtp.com/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion&utm_content=readme" rel="friend">[Pro]</a>
53
  9. All Other SMTP
54
 
55
- For all options, you can specify the "from name" and "email address" for outgoing emails.
56
 
57
  Instead of having users use different SMTP plugins and workflows for different SMTP providers, we decided to bring it all in one. This is what makes WP Mail SMTP, the best SMTP solution for WordPress.
58
 
@@ -66,17 +66,6 @@ Their easy integration process lets you start sending emails in minutes and bene
66
 
67
  Read our <a href="https://wpmailsmtp.com/docs/how-to-set-up-the-smtp-com-mailer-in-wp-mail-smtp" rel="friend">SMTP.com documentation</a> for more details.
68
 
69
- = Pepipost SMTP =
70
-
71
- Pepipost is a recommended transactional email service.
72
-
73
- Every month they delivers over 8 billion emails from 20,000+ customers.
74
-
75
- Their mission is to reliably send emails in the most efficient way and at the most disruptive pricing ever.
76
- Pepipost provides users 30,000 emails the first 30 days.
77
-
78
- Read our <a href="https://wpmailsmtp.com/docs/how-to-set-up-the-pepipost-mailer-in-wp-mail-smtp/" rel="friend">Pepipost documentation</a> for more details.
79
-
80
  = Sendinblue SMTP =
81
 
82
  They serve 80,000+ growing companies around the world and send over 30 million emails each day.
@@ -119,6 +108,12 @@ Advanced or technical users can harness the power of Amazon AWS (Amazon Web Serv
119
 
120
  Read our <a href="https://wpmailsmtp.com/docs/how-to-set-up-the-amazon-ses-mailer-in-wp-mail-smtp/" rel="friend">Amazon SES documentation</a> for more details.
121
 
 
 
 
 
 
 
122
  = Other SMTP =
123
 
124
  WP Mail SMTP plugin also works with all major email services such as Gmail, Yahoo, Outlook, Microsoft Live, and any other email sending service that offers SMTP.
@@ -163,7 +158,7 @@ You can sit back and relax while we set up everything for you. White glove setup
163
 
164
  The WP Mail SMTP team takes security very seriously. Not only does the plugin follow all security best practices, but we have several options available to ensure your site is safe and secure.
165
 
166
- - Direct SMTP mailer integrations (recommended), such as SMTP.com, Pepipost and Mailgun, use the official provider APIs. This means you never enter your username or password in the plugin settings and these credentials are not stored in the database. Instead, we use tokens or API keys which are much more secure.
167
 
168
  - When using Other SMTP mailer, we provide the option to insert your password in your `wp-config.php` file, so it's not visible in your WordPress settings or saved in the database.
169
 
@@ -229,6 +224,17 @@ By all means please contact us to discuss features or options you'd like to see
229
 
230
  == Changelog ==
231
 
 
 
 
 
 
 
 
 
 
 
 
232
  = 2.2.1 - 2020-07-09 =
233
  * Added: Gmail mailer now supports aliases.
234
  * Added: Support both old PHPMailer v5 (WordPress <=5.4) and PHPMailer v6 (WordPress >=5.5).
1
  === WP Mail SMTP by WPForms ===
2
  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, sendinblue, wp smtp
4
  Requires at least: 4.9
5
+ Tested up to: 5.5
6
+ Stable tag: 2.3.1
7
  Requires PHP: 5.5.0
8
 
9
  The most popular WordPress SMTP and PHP Mailer plugin. Trusted by over 1 million sites.
22
 
23
  SMTP (Simple Mail Transfer Protocol) is an industry standard for sending emails. Proper SMTP configuration helps increase email deliverability by using authentication.
24
 
25
+ Popular email clients like Gmail, Yahoo, Office 365, and Zoho are in a constant battle with email spammers. One of the things they look at is if an email is originating from the location it claims to be originating from.
26
 
27
  If the proper authentication isn't there, then emails either go in the SPAM folder or worst, don't get delivered at all.
28
 
43
  WP Mail SMTP plugin includes many different SMTP setup options:
44
 
45
  1. SMTP.com <strong>(Recommended)</strong>
46
+ 2. Sendinblue SMTP
47
+ 3. Mailgun SMTP
48
+ 4. SendGrid SMTP
49
+ 5. Gmail SMTP
50
+ 6. Microsoft SMTP (Outlook.com and Office 365) <a href="https://wpmailsmtp.com/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion&utm_content=readme" rel="friend">[Pro]</a>
51
+ 7. Amazon SES SMTP <a href="https://wpmailsmtp.com/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion&utm_content=readme" rel="friend">[Pro]</a>
52
+ 8. Zoho Mail SMTP <a href="https://wpmailsmtp.com/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion&utm_content=readme" rel="friend">[Pro]</a>
53
  9. All Other SMTP
54
 
55
+ For most options, you can specify the "from name" and "email address" for outgoing emails.
56
 
57
  Instead of having users use different SMTP plugins and workflows for different SMTP providers, we decided to bring it all in one. This is what makes WP Mail SMTP, the best SMTP solution for WordPress.
58
 
66
 
67
  Read our <a href="https://wpmailsmtp.com/docs/how-to-set-up-the-smtp-com-mailer-in-wp-mail-smtp" rel="friend">SMTP.com documentation</a> for more details.
68
 
 
 
 
 
 
 
 
 
 
 
 
69
  = Sendinblue SMTP =
70
 
71
  They serve 80,000+ growing companies around the world and send over 30 million emails each day.
108
 
109
  Read our <a href="https://wpmailsmtp.com/docs/how-to-set-up-the-amazon-ses-mailer-in-wp-mail-smtp/" rel="friend">Amazon SES documentation</a> for more details.
110
 
111
+ = Zoho Mail SMTP =
112
+
113
+ Send emails using your personal or business Zoho Mail account, all while keeping your login credentials safe.
114
+
115
+ Read our <a href="https://wpmailsmtp.com/docs/how-to-set-up-the-zoho-mailer-in-wp-mail-smtp/" rel="friend">Zoho Mail documentation</a> for more details.
116
+
117
  = Other SMTP =
118
 
119
  WP Mail SMTP plugin also works with all major email services such as Gmail, Yahoo, Outlook, Microsoft Live, and any other email sending service that offers SMTP.
158
 
159
  The WP Mail SMTP team takes security very seriously. Not only does the plugin follow all security best practices, but we have several options available to ensure your site is safe and secure.
160
 
161
+ - Direct SMTP mailer integrations (recommended), such as SMTP.com, SendGrid and Mailgun, use the official provider APIs. This means you never enter your username or password in the plugin settings and these credentials are not stored in the database. Instead, we use tokens or API keys which are much more secure.
162
 
163
  - When using Other SMTP mailer, we provide the option to insert your password in your `wp-config.php` file, so it's not visible in your WordPress settings or saved in the database.
164
 
224
 
225
  == Changelog ==
226
 
227
+ = 2.3.1 - 2020-08-20 =
228
+ * Added: A WP Mail SMTP admin bar menu if there is an email delivery error or notifications.
229
+ * Added: WordPress 5.5 compatibility.
230
+ * Changed: Improve copy button user experience for Gmail Authorized redirect URI option.
231
+ * Changed: Email delivery error admin notices are now displayed only on plugin pages.
232
+ * Changed: Improve plugin settings UI by hiding certain options if the mailer does not support them.
233
+ * Changed: Pepipost API mailer is no longer available for new installs.
234
+ * Fixed: WP Site Health check for missing DB tables.
235
+ * Fixed: PHP errors caused by Actions Scheduler library used inside the plugin.
236
+ * Fixed: PHP error on plugin settings and WP Site Health pages if the plugin mailer option is empty for some reason.
237
+
238
  = 2.2.1 - 2020-07-09 =
239
  * Added: Gmail mailer now supports aliases.
240
  * Added: Support both old PHPMailer v5 (WordPress <=5.4) and PHPMailer v6 (WordPress >=5.5).
src/Admin/AdminBarMenu.php ADDED
@@ -0,0 +1,153 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WPMailSMTP\Admin;
4
+
5
+ use WPMailSMTP\Debug;
6
+
7
+ /**
8
+ * WP Mail SMTP admin bar menu.
9
+ *
10
+ * @since 2.3.0
11
+ */
12
+ class AdminBarMenu {
13
+
14
+ /**
15
+ * Initialize class.
16
+ *
17
+ * @since 2.3.0
18
+ */
19
+ public function init() {
20
+
21
+ $this->hooks();
22
+ }
23
+
24
+ /**
25
+ * Register hooks.
26
+ *
27
+ * @since 2.3.0
28
+ */
29
+ public function hooks() {
30
+
31
+ add_action( 'wp_enqueue_scripts', [ $this, 'enqueues' ] );
32
+ add_action( 'admin_enqueue_scripts', [ $this, 'enqueues' ] );
33
+ add_action( 'admin_bar_menu', [ $this, 'register' ], 999 );
34
+ }
35
+
36
+ /**
37
+ * Check if current user has access to see admin bar menu.
38
+ *
39
+ * @since 2.3.0
40
+ *
41
+ * @return bool
42
+ */
43
+ public function has_access() {
44
+
45
+ $access = false;
46
+
47
+ if (
48
+ is_user_logged_in() &&
49
+ current_user_can( 'manage_options' )
50
+ ) {
51
+ $access = true;
52
+ }
53
+
54
+ return apply_filters( 'wp_mail_smtp_admin_adminbarmenu_has_access', $access );
55
+ }
56
+
57
+ /**
58
+ * Check if new notifications are available.
59
+ *
60
+ * @since 2.3.0
61
+ *
62
+ * @return bool
63
+ */
64
+ public function has_notifications() {
65
+
66
+ return wp_mail_smtp()->get_notifications()->get_count();
67
+ }
68
+
69
+ /**
70
+ * Enqueue styles.
71
+ *
72
+ * @since 2.3.0
73
+ */
74
+ public function enqueues() {
75
+
76
+ if ( ! $this->has_access() ) {
77
+ return;
78
+ }
79
+
80
+ wp_enqueue_style(
81
+ 'wp-mail-smtp-admin-bar',
82
+ wp_mail_smtp()->assets_url . '/css/admin-bar.min.css',
83
+ [],
84
+ WPMS_PLUGIN_VER
85
+ );
86
+ }
87
+
88
+ /**
89
+ * Register and render admin menu bar.
90
+ *
91
+ * @since 2.3.0
92
+ *
93
+ * @param \WP_Admin_Bar $wp_admin_bar WordPress Admin Bar object.
94
+ */
95
+ public function register( \WP_Admin_Bar $wp_admin_bar ) {
96
+
97
+ if (
98
+ ! $this->has_access() ||
99
+ (
100
+ empty( Debug::get_last() ) &&
101
+ empty( $this->has_notifications() )
102
+ )
103
+ ) {
104
+ return;
105
+ }
106
+
107
+ $items = apply_filters(
108
+ 'wp_mail_smtp_admin_adminbarmenu_register',
109
+ [
110
+ 'main_menu',
111
+ ],
112
+ $wp_admin_bar
113
+ );
114
+
115
+ foreach ( $items as $item ) {
116
+ $this->{ $item }( $wp_admin_bar );
117
+
118
+ do_action( "wp_mail_smtp_admin_adminbarmenu_register_{$item}_after", $wp_admin_bar );
119
+ }
120
+ }
121
+
122
+ /**
123
+ * Render primary top-level admin menu bar item.
124
+ *
125
+ * @since 2.3.0
126
+ *
127
+ * @param \WP_Admin_Bar $wp_admin_bar WordPress Admin Bar object.
128
+ */
129
+ public function main_menu( \WP_Admin_Bar $wp_admin_bar ) {
130
+
131
+ if ( ! empty( Debug::get_last() ) ) {
132
+ $indicator = ' <span class="wp-mail-smtp-admin-bar-menu-error">!</span>';
133
+ } elseif ( ! empty( $this->has_notifications() ) ) {
134
+ $count = $this->has_notifications() < 10 ? $this->has_notifications() : '!';
135
+ $indicator = ' <div class="wp-mail-smtp-admin-bar-menu-notification-counter"><span>' . $count . '</span></div>';
136
+ }
137
+
138
+ if ( ! isset( $indicator ) ) {
139
+ return;
140
+ }
141
+
142
+ $wp_admin_bar->add_menu(
143
+ [
144
+ 'id' => 'wp-mail-smtp-menu',
145
+ 'title' => 'WP Mail SMTP' . $indicator,
146
+ 'href' => apply_filters(
147
+ 'wp_mail_smtp_admin_adminbarmenu_main_menu_href',
148
+ wp_mail_smtp()->get_admin()->get_admin_page_url()
149
+ ),
150
+ ]
151
+ );
152
+ }
153
+ }
src/Admin/Area.php CHANGED
@@ -99,6 +99,7 @@ class Area {
99
  add_action( 'wp_ajax_wp_mail_smtp_ajax', [ $this, 'process_ajax' ] );
100
 
101
  ( new Review() )->hooks();
 
102
  }
103
 
104
  /**
@@ -128,7 +129,6 @@ class Area {
128
  break;
129
 
130
  case 'google_no_code_scope':
131
- case 'microsoft_no_code':
132
  WP::add_admin_notice(
133
  esc_html__( 'There was an error while processing the authentication request. Please try again.', 'wp-mail-smtp' ),
134
  WP::ADMIN_NOTICE_ERROR
@@ -150,12 +150,6 @@ class Area {
150
  WP::ADMIN_NOTICE_SUCCESS
151
  );
152
  break;
153
- case 'microsoft_site_linked':
154
- WP::add_admin_notice(
155
- esc_html__( 'You have successfully linked the current site with your Microsoft API project. Now you can start sending emails through Outlook.', 'wp-mail-smtp' ),
156
- WP::ADMIN_NOTICE_SUCCESS
157
- );
158
- break;
159
  }
160
  }
161
 
@@ -316,7 +310,7 @@ class Area {
316
  'upgrade_icon_lock' => '<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="lock" class="svg-inline--fa fa-lock fa-w-14" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M400 224h-24v-72C376 68.2 307.8 0 224 0S72 68.2 72 152v72H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zm-104 0H152v-72c0-39.7 32.3-72 72-72s72 32.3 72 72v72z"></path></svg>',
317
  'upgrade_title' => esc_html__( '%name% is a PRO Feature', 'wp-mail-smtp' ),
318
  'upgrade_button' => esc_html__( 'Upgrade to Pro', 'wp-mail-smtp' ),
319
- 'upgrade_url' => 'https://wpmailsmtp.com/lite-upgrade/?discount=SMTPLITEUPGRADE&utm_source=WordPress&utm_medium=plugin-settings&utm_campaign=liteplugin',
320
  'upgrade_bonus' => '<p>' .
321
  wp_kses(
322
  __( '<strong>Bonus:</strong> WP Mail SMTP users get <span>$50 off</span> regular price,<br>applied at checkout.', 'wp-mail-smtp' ),
@@ -331,6 +325,8 @@ class Area {
331
  ' . esc_html__( 'Already purchased?', 'wp-mail-smtp' ) . '
332
  </a>',
333
  ),
 
 
334
  )
335
  );
336
 
@@ -435,6 +431,8 @@ class Area {
435
  if ( ! $this->is_admin_page() ) {
436
  return;
437
  }
 
 
438
  ?>
439
 
440
  <div id="wp-mail-smtp-header-temp"></div>
@@ -590,6 +588,8 @@ class Area {
590
  <?php echo esc_html( $this->get_current_tab_title() ); ?>
591
  </h1>
592
 
 
 
593
  <?php $this->display_current_tab_content(); ?>
594
  </div>
595
 
99
  add_action( 'wp_ajax_wp_mail_smtp_ajax', [ $this, 'process_ajax' ] );
100
 
101
  ( new Review() )->hooks();
102
+ ( new Education() )->hooks();
103
  }
104
 
105
  /**
129
  break;
130
 
131
  case 'google_no_code_scope':
 
132
  WP::add_admin_notice(
133
  esc_html__( 'There was an error while processing the authentication request. Please try again.', 'wp-mail-smtp' ),
134
  WP::ADMIN_NOTICE_ERROR
150
  WP::ADMIN_NOTICE_SUCCESS
151
  );
152
  break;
 
 
 
 
 
 
153
  }
154
  }
155
 
310
  'upgrade_icon_lock' => '<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="lock" class="svg-inline--fa fa-lock fa-w-14" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M400 224h-24v-72C376 68.2 307.8 0 224 0S72 68.2 72 152v72H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zm-104 0H152v-72c0-39.7 32.3-72 72-72s72 32.3 72 72v72z"></path></svg>',
311
  'upgrade_title' => esc_html__( '%name% is a PRO Feature', 'wp-mail-smtp' ),
312
  'upgrade_button' => esc_html__( 'Upgrade to Pro', 'wp-mail-smtp' ),
313
+ 'upgrade_url' => add_query_arg( 'discount', 'SMTPLITEUPGRADE', wp_mail_smtp()->get_upgrade_link( '' ) ),
314
  'upgrade_bonus' => '<p>' .
315
  wp_kses(
316
  __( '<strong>Bonus:</strong> WP Mail SMTP users get <span>$50 off</span> regular price,<br>applied at checkout.', 'wp-mail-smtp' ),
325
  ' . esc_html__( 'Already purchased?', 'wp-mail-smtp' ) . '
326
  </a>',
327
  ),
328
+ 'all_mailers_supports' => wp_mail_smtp()->get_providers()->get_supports_all(),
329
+ 'nonce' => wp_create_nonce( 'wp-mail-smtp-admin' ),
330
  )
331
  );
332
 
431
  if ( ! $this->is_admin_page() ) {
432
  return;
433
  }
434
+
435
+ do_action( 'wp_mail_smtp_admin_header_before' );
436
  ?>
437
 
438
  <div id="wp-mail-smtp-header-temp"></div>
588
  <?php echo esc_html( $this->get_current_tab_title() ); ?>
589
  </h1>
590
 
591
+ <?php do_action( 'wp_mail_smtp_admin_pages_before_content' ); ?>
592
+
593
  <?php $this->display_current_tab_content(); ?>
594
  </div>
595
 
src/Admin/Education.php ADDED
@@ -0,0 +1,102 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WPMailSMTP\Admin;
4
+
5
+ /**
6
+ * WP Mail SMTP enhancements to admin pages to educate Lite users on what is available in WP Mail SMTP Pro.
7
+ *
8
+ * @since 2.3.0
9
+ */
10
+ class Education {
11
+
12
+ /**
13
+ * The dismissed notice bar user meta key.
14
+ *
15
+ * @since 2.3.0
16
+ */
17
+ const DISMISS_NOTICE_BAR_KEY = 'wp_mail_smtp_edu_notice_bar_dismissed';
18
+
19
+ /**
20
+ * Hooks.
21
+ *
22
+ * @since 2.3.0
23
+ */
24
+ public function hooks() {
25
+
26
+ if ( apply_filters( 'wp_mail_smtp_admin_education_notice_bar', true ) ) {
27
+ add_action( 'admin_init', [ $this, 'notice_bar_init' ] );
28
+ }
29
+ }
30
+
31
+ /**
32
+ * Notice bar init.
33
+ *
34
+ * @since 2.3.0
35
+ */
36
+ public function notice_bar_init() {
37
+
38
+ add_action( 'wp_mail_smtp_admin_header_before', [ $this, 'notice_bar_display' ] );
39
+ add_action( 'wp_ajax_wp_mail_smtp_notice_bar_dismiss', [ $this, 'notice_bar_ajax_dismiss' ] );
40
+ }
41
+
42
+ /**
43
+ * Notice bar display message.
44
+ *
45
+ * @since 2.3.0
46
+ */
47
+ public function notice_bar_display() {
48
+
49
+ // Bail if we're not on a plugin admin page.
50
+ if ( ! wp_mail_smtp()->get_admin()->is_admin_page() ) {
51
+ return;
52
+ }
53
+
54
+ $dismissed = get_user_meta( get_current_user_id(), self::DISMISS_NOTICE_BAR_KEY, true );
55
+
56
+ if ( ! empty( $dismissed ) ) {
57
+ return;
58
+ }
59
+
60
+ printf(
61
+ '<div id="wp-mail-smtp-notice-bar">
62
+ <div class="wp-amil-smtp-notice-bar-container">
63
+ <span class="wp-mail-smtp-notice-bar-message">%s</span>
64
+ <button type="button" class="dismiss" title="%s" />
65
+ </div>
66
+ </div>',
67
+ wp_kses(
68
+ sprintf( /* translators: %s - WPMailSMTP.com Upgrade page URL. */
69
+ __( 'You’re using WP Mail SMTP Lite. To unlock more features consider <a href="%s" target="_blank" rel="noopener noreferrer">upgrading to Pro</a>.', 'wp-mail-smtp' ),
70
+ wp_mail_smtp()->get_upgrade_link( [ 'medium' => 'notice-bar' ] )
71
+ ),
72
+ [
73
+ 'a' => [
74
+ 'href' => [],
75
+ 'rel' => [],
76
+ 'target' => [],
77
+ ],
78
+ ]
79
+ ),
80
+ esc_attr__( 'Dismiss this message.', 'wp-mail-smtp' )
81
+ );
82
+ }
83
+
84
+ /**
85
+ * Ajax handler for dismissing notices.
86
+ *
87
+ * @since 2.3.0
88
+ */
89
+ public function notice_bar_ajax_dismiss() {
90
+
91
+ // Run a security check.
92
+ check_ajax_referer( 'wp-mail-smtp-admin', 'nonce' );
93
+
94
+ // Check for permissions.
95
+ if ( ! current_user_can( 'manage_options' ) ) {
96
+ wp_send_json_error();
97
+ }
98
+
99
+ update_user_meta( get_current_user_id(), self::DISMISS_NOTICE_BAR_KEY, time() );
100
+ wp_send_json_success();
101
+ }
102
+ }
src/Admin/Notifications.php ADDED
@@ -0,0 +1,491 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WPMailSMTP\Admin;
4
+
5
+ use WPMailSMTP\Options;
6
+ use WPMailSMTP\WP;
7
+
8
+ /**
9
+ * Notifications.
10
+ *
11
+ * @since 2.3.0
12
+ */
13
+ class Notifications {
14
+
15
+ /**
16
+ * Source of notifications content.
17
+ *
18
+ * @since 2.3.0
19
+ *
20
+ * @var string
21
+ */
22
+ const SOURCE_URL = 'https://plugin-cdn.wpmailsmtp.com/wp-content/notifications.json';
23
+
24
+ /**
25
+ * The WP option key for storing the notification options.
26
+ *
27
+ * @since 2.3.0
28
+ *
29
+ * @var string
30
+ */
31
+ const OPTION_KEY = 'wp_mail_smtp_notifications';
32
+
33
+ /**
34
+ * Option value.
35
+ *
36
+ * @since 2.3.0
37
+ *
38
+ * @var bool|array
39
+ */
40
+ public $option = false;
41
+
42
+ /**
43
+ * Initialize class.
44
+ *
45
+ * @since 2.3.0
46
+ */
47
+ public function init() {
48
+
49
+ $this->hooks();
50
+ }
51
+
52
+ /**
53
+ * Register hooks.
54
+ *
55
+ * @since 2.3.0
56
+ */
57
+ public function hooks() {
58
+
59
+ add_action( 'admin_enqueue_scripts', [ $this, 'enqueue_assets' ] );
60
+ add_action( 'wp_mail_smtp_admin_pages_before_content', [ $this, 'output' ] );
61
+ add_action( 'wp_mail_smtp_admin_notifications_update', [ $this, 'update' ] );
62
+ add_action( 'wp_ajax_wp_mail_smtp_notification_dismiss', [ $this, 'dismiss' ] );
63
+ }
64
+
65
+ /**
66
+ * Check if user has access and is enabled.
67
+ *
68
+ * @since 2.3.0
69
+ *
70
+ * @return bool
71
+ */
72
+ public function has_access() {
73
+
74
+ $access = false;
75
+
76
+ if (
77
+ current_user_can( 'manage_options' ) &&
78
+ ! ( new Options() )->get( 'general', 'am_notifications_hidden' )
79
+ ) {
80
+ $access = true;
81
+ }
82
+
83
+ return apply_filters( 'wp_mail_smtp_admin_notifications_has_access', $access );
84
+ }
85
+
86
+ /**
87
+ * Get option value.
88
+ *
89
+ * @since 2.3.0
90
+ *
91
+ * @param bool $cache Reference property cache if available.
92
+ *
93
+ * @return array
94
+ */
95
+ public function get_option( $cache = true ) {
96
+
97
+ if ( $this->option && $cache ) {
98
+ return $this->option;
99
+ }
100
+
101
+ $option = get_option( self::OPTION_KEY, [] );
102
+
103
+ $this->option = [
104
+ 'update' => ! empty( $option['update'] ) ? $option['update'] : 0,
105
+ 'events' => ! empty( $option['events'] ) ? $option['events'] : [],
106
+ 'feed' => ! empty( $option['feed'] ) ? $option['feed'] : [],
107
+ 'dismissed' => ! empty( $option['dismissed'] ) ? $option['dismissed'] : [],
108
+ ];
109
+
110
+ return $this->option;
111
+ }
112
+
113
+ /**
114
+ * Fetch notifications from feed.
115
+ *
116
+ * @since 2.3.0
117
+ *
118
+ * @return array
119
+ */
120
+ protected function fetch_feed() {
121
+
122
+ $response = wp_remote_get( self::SOURCE_URL );
123
+
124
+ if ( is_wp_error( $response ) ) {
125
+ return [];
126
+ }
127
+
128
+ $body = wp_remote_retrieve_body( $response );
129
+
130
+ if ( empty( $body ) ) {
131
+ return [];
132
+ }
133
+
134
+ return $this->verify( json_decode( $body, true ) );
135
+ }
136
+
137
+ /**
138
+ * Verify notification data before it is saved.
139
+ *
140
+ * @since 2.3.0
141
+ *
142
+ * @param array $notifications Array of notification items to verify.
143
+ *
144
+ * @return array
145
+ */
146
+ protected function verify( $notifications ) { // phpcs:ignore Generic.Metrics.CyclomaticComplexity.TooHigh
147
+
148
+ $data = [];
149
+
150
+ if ( ! is_array( $notifications ) || empty( $notifications ) ) {
151
+ return $data;
152
+ }
153
+
154
+ $option = $this->get_option();
155
+
156
+ foreach ( $notifications as $notification ) {
157
+
158
+ // The message and license should never be empty, if they are, ignore.
159
+ if ( empty( $notification['content'] ) || empty( $notification['type'] ) ) {
160
+ continue;
161
+ }
162
+
163
+ // Ignore if license type does not match.
164
+ if ( ! in_array( wp_mail_smtp()->get_license_type(), $notification['type'], true ) ) {
165
+ continue;
166
+ }
167
+
168
+ // Ignore if expired.
169
+ if ( ! empty( $notification['end'] ) && time() > strtotime( $notification['end'] ) ) {
170
+ continue;
171
+ }
172
+
173
+ // Ignore if notification has already been dismissed.
174
+ if ( ! empty( $option['dismissed'] ) && in_array( $notification['id'], $option['dismissed'] ) ) { // phpcs:ignore WordPress.PHP.StrictInArray.MissingTrueStrict
175
+ continue;
176
+ }
177
+
178
+ // Ignore if notification existed before installing WPForms.
179
+ // Prevents bombarding the user with notifications after activation.
180
+ $activated = get_option( 'wp_mail_smtp_activated_time' );
181
+
182
+ if (
183
+ ! empty( $activated ) &&
184
+ ! empty( $notification['start'] ) &&
185
+ $activated > strtotime( $notification['start'] )
186
+ ) {
187
+ continue;
188
+ }
189
+
190
+ $data[] = $notification;
191
+ }
192
+
193
+ return $data;
194
+ }
195
+
196
+ /**
197
+ * Verify saved notification data for active notifications.
198
+ *
199
+ * @since 2.3.0
200
+ *
201
+ * @param array $notifications Array of notification items to verify.
202
+ *
203
+ * @return array
204
+ */
205
+ protected function verify_active( $notifications ) {
206
+
207
+ if ( ! is_array( $notifications ) || empty( $notifications ) ) {
208
+ return [];
209
+ }
210
+
211
+ // Remove notifications that are not active.
212
+ foreach ( $notifications as $key => $notification ) {
213
+ if (
214
+ ( ! empty( $notification['start'] ) && time() < strtotime( $notification['start'] ) ) ||
215
+ ( ! empty( $notification['end'] ) && time() > strtotime( $notification['end'] ) )
216
+ ) {
217
+ unset( $notifications[ $key ] );
218
+ }
219
+ }
220
+
221
+ return $notifications;
222
+ }
223
+
224
+ /**
225
+ * Get notification data.
226
+ *
227
+ * @since 2.3.0
228
+ *
229
+ * @return array
230
+ */
231
+ public function get() {
232
+
233
+ if ( ! $this->has_access() ) {
234
+ return [];
235
+ }
236
+
237
+ $option = $this->get_option();
238
+
239
+ // Update notifications using async task.
240
+ if ( empty( $option['update'] ) || time() > $option['update'] + DAY_IN_SECONDS ) {
241
+ if ( empty( wp_mail_smtp()->get_tasks()->is_scheduled( 'wp_mail_smtp_admin_notifications_update' ) ) ) {
242
+
243
+ wp_mail_smtp()->get_tasks()
244
+ ->create( 'wp_mail_smtp_admin_notifications_update' )
245
+ ->async()
246
+ ->params()
247
+ ->register();
248
+ }
249
+ }
250
+
251
+ $events = ! empty( $option['events'] ) ? $this->verify_active( $option['events'] ) : [];
252
+ $feed = ! empty( $option['feed'] ) ? $this->verify_active( $option['feed'] ) : [];
253
+
254
+ return array_merge( $events, $feed );
255
+ }
256
+
257
+ /**
258
+ * Get notification count.
259
+ *
260
+ * @since 2.3.0
261
+ *
262
+ * @return int
263
+ */
264
+ public function get_count() {
265
+
266
+ return count( $this->get() );
267
+ }
268
+
269
+ /**
270
+ * Add a manual notification event.
271
+ *
272
+ * @since 2.3.0
273
+ *
274
+ * @param array $notification Notification data.
275
+ */
276
+ public function add( $notification ) {
277
+
278
+ if ( empty( $notification['id'] ) ) {
279
+ return;
280
+ }
281
+
282
+ $option = $this->get_option();
283
+
284
+ if ( in_array( $notification['id'], $option['dismissed'] ) ) { // phpcs:ignore WordPress.PHP.StrictInArray.MissingTrueStrict
285
+ return;
286
+ }
287
+
288
+ foreach ( $option['events'] as $item ) {
289
+ if ( $item['id'] === $notification['id'] ) {
290
+ return;
291
+ }
292
+ }
293
+
294
+ $notification = $this->verify( [ $notification ] );
295
+
296
+ update_option(
297
+ self::OPTION_KEY,
298
+ [
299
+ 'update' => $option['update'],
300
+ 'feed' => $option['feed'],
301
+ 'events' => array_merge( $notification, $option['events'] ),
302
+ 'dismissed' => $option['dismissed'],
303
+ ]
304
+ );
305
+ }
306
+
307
+ /**
308
+ * Update notification data from feed.
309
+ *
310
+ * @since 2.3.0
311
+ */
312
+ public function update() {
313
+
314
+ $feed = $this->fetch_feed();
315
+ $option = $this->get_option();
316
+
317
+ update_option(
318
+ self::OPTION_KEY,
319
+ [
320
+ 'update' => time(),
321
+ 'feed' => $feed,
322
+ 'events' => $option['events'],
323
+ 'dismissed' => $option['dismissed'],
324
+ ]
325
+ );
326
+ }
327
+
328
+ /**
329
+ * Admin area assets.
330
+ *
331
+ * @since 2.3.0
332
+ *
333
+ * @param string $hook Hook suffix for the current admin page.
334
+ */
335
+ public function enqueue_assets( $hook ) {
336
+
337
+ if ( strpos( $hook, Area::SLUG ) === false ) {
338
+ return;
339
+ }
340
+
341
+ if ( ! $this->has_access() ) {
342
+ return;
343
+ }
344
+
345
+ $notifications = $this->get();
346
+
347
+ if ( empty( $notifications ) ) {
348
+ return;
349
+ }
350
+
351
+ wp_enqueue_style(
352
+ 'wp-mail-smtp-admin-notifications',
353
+ wp_mail_smtp()->assets_url . '/css/admin-notifications.min.css',
354
+ [],
355
+ WPMS_PLUGIN_VER
356
+ );
357
+
358
+ wp_enqueue_script(
359
+ 'wp-mail-smtp-admin-notifications',
360
+ wp_mail_smtp()->assets_url . '/js/smtp-notifications' . WP::asset_min() . '.js',
361
+ [ 'jquery' ],
362
+ WPMS_PLUGIN_VER,
363
+ true
364
+ );
365
+ }
366
+
367
+ /**
368
+ * Output notifications.
369
+ *
370
+ * @since 2.3.0
371
+ */
372
+ public function output() { // phpcs:ignore Generic.Metrics.NestingLevel.MaxExceeded
373
+
374
+ $notifications = $this->get();
375
+
376
+ if ( empty( $notifications ) ) {
377
+ return;
378
+ }
379
+
380
+ $notifications_html = '';
381
+ $current_class = ' current';
382
+ $content_allowed_tags = [
383
+ 'em' => [],
384
+ 'i' => [],
385
+ 'strong' => [],
386
+ 'span' => [
387
+ 'style' => [],
388
+ ],
389
+ 'a' => [
390
+ 'href' => [],
391
+ 'target' => [],
392
+ 'rel' => [],
393
+ ],
394
+ ];
395
+
396
+ foreach ( $notifications as $notification ) {
397
+
398
+ // Buttons HTML.
399
+ $buttons_html = '';
400
+ if ( ! empty( $notification['btns'] ) && is_array( $notification['btns'] ) ) {
401
+ foreach ( $notification['btns'] as $btn_type => $btn ) {
402
+ if ( empty( $btn['text'] ) ) {
403
+ continue;
404
+ }
405
+ $buttons_html .= sprintf(
406
+ '<a href="%1$s" class="button button-%2$s"%3$s>%4$s</a>',
407
+ ! empty( $btn['url'] ) ? esc_url( $btn['url'] ) : '',
408
+ $btn_type === 'main' ? 'primary' : 'secondary',
409
+ ! empty( $btn['target'] ) && $btn['target'] === '_blank' ? ' target="_blank" rel="noopener noreferrer"' : '',
410
+ sanitize_text_field( $btn['text'] )
411
+ );
412
+ }
413
+ $buttons_html = ! empty( $buttons_html ) ? '<div class="buttons">' . $buttons_html . '</div>' : '';
414
+ }
415
+
416
+ // Notification HTML.
417
+ $notifications_html .= sprintf(
418
+ '<div class="message%5$s" data-message-id="%4$s">
419
+ <h3 class="title">%1$s</h3>
420
+ <p class="content">%2$s</p>
421
+ %3$s
422
+ </div>',
423
+ ! empty( $notification['title'] ) ? sanitize_text_field( $notification['title'] ) : '',
424
+ ! empty( $notification['content'] ) ? wp_kses( $notification['content'], $content_allowed_tags ) : '',
425
+ $buttons_html,
426
+ ! empty( $notification['id'] ) ? esc_attr( sanitize_text_field( $notification['id'] ) ) : 0,
427
+ $current_class
428
+ );
429
+
430
+ // Only first notification is current.
431
+ $current_class = '';
432
+ }
433
+ ?>
434
+
435
+ <div id="wp-mail-smtp-notifications">
436
+
437
+ <div class="bell">
438
+ <svg xmlns="http://www.w3.org/2000/svg" width="42" height="48" viewBox="0 0 42 48"><defs><style>.a{fill:#777;}.b{fill:#ca4a1f;}</style></defs><path class="a" d="M23-79a6.005,6.005,0,0,1-6-6h10.06a12.066,12.066,0,0,0,1.791,1.308,6.021,6.021,0,0,1-2.077,3.352A6.008,6.008,0,0,1,23-79Zm1.605-9H5.009a2.955,2.955,0,0,1-2.173-.923A3.088,3.088,0,0,1,2-91a2.919,2.919,0,0,1,.807-2.036c.111-.12.229-.243.351-.371a14.936,14.936,0,0,0,3.126-4.409A23.283,23.283,0,0,0,8.007-107.5a14.846,14.846,0,0,1,.906-5.145,14.5,14.5,0,0,1,2.509-4.324A15.279,15.279,0,0,1,20-122.046V-124a3,3,0,0,1,3-3,3,3,0,0,1,3,3v1.954a15.28,15.28,0,0,1,8.58,5.078,14.5,14.5,0,0,1,2.509,4.324,14.846,14.846,0,0,1,.906,5.145c0,.645.016,1.281.047,1.888A12.036,12.036,0,0,0,35-106a11.921,11.921,0,0,0-8.485,3.515A11.923,11.923,0,0,0,23-94a12,12,0,0,0,1.6,6Z" transform="translate(-2 127)"/><circle class="b" cx="9" cy="9" r="9" transform="translate(24 24)"/></svg>
439
+ </div>
440
+
441
+ <a class="dismiss" title="<?php echo esc_attr__( 'Dismiss this message', 'wp-mail-smtp' ); ?>"><span class="dashicons dashicons-dismiss"></span></a>
442
+
443
+ <div class="navigation">
444
+ <a class="prev disabled" title="<?php echo esc_attr__( 'Previous message', 'wp-mail-smtp' ); ?>"><span class="dashicons dashicons-arrow-left-alt2"></span></a>
445
+ <a class="next disabled" title="<?php echo esc_attr__( 'Next message', 'wp-mail-smtp' ); ?>"><span class="dashicons dashicons-arrow-right-alt2"></span></a>
446
+ </div>
447
+
448
+ <div class="messages">
449
+ <?php echo $notifications_html; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
450
+ </div>
451
+ </div>
452
+ <?php
453
+ }
454
+
455
+ /**
456
+ * Dismiss notification via AJAX.
457
+ *
458
+ * @since 2.3.0
459
+ */
460
+ public function dismiss() {
461
+
462
+ // Run a security check.
463
+ check_ajax_referer( 'wp-mail-smtp-admin', 'nonce' );
464
+
465
+ // Check for access and required param.
466
+ if ( ! current_user_can( 'manage_options' ) || empty( $_POST['id'] ) ) {
467
+ wp_send_json_error();
468
+ }
469
+
470
+ $id = sanitize_text_field( wp_unslash( $_POST['id'] ) );
471
+ $option = $this->get_option();
472
+ $type = is_numeric( $id ) ? 'feed' : 'events';
473
+
474
+ $option['dismissed'][] = $id;
475
+ $option['dismissed'] = array_unique( $option['dismissed'] );
476
+
477
+ // Remove notification.
478
+ if ( is_array( $option[ $type ] ) && ! empty( $option[ $type ] ) ) {
479
+ foreach ( $option[ $type ] as $key => $notification ) {
480
+ if ( $notification['id'] == $id ) { // phpcs:ignore WordPress.PHP.StrictComparisons
481
+ unset( $option[ $type ][ $key ] );
482
+ break;
483
+ }
484
+ }
485
+ }
486
+
487
+ update_option( self::OPTION_KEY, $option );
488
+
489
+ wp_send_json_success();
490
+ }
491
+ }
src/Admin/Pages/About.php CHANGED
@@ -142,6 +142,8 @@ class About extends PageAbstract {
142
  <?php echo \esc_html( $this->get_label( $this->get_current_tab() ) ); ?>
143
  </h1>
144
 
 
 
145
  <?php
146
  $callback = 'display_' . $this->get_current_tab();
147
 
142
  <?php echo \esc_html( $this->get_label( $this->get_current_tab() ) ); ?>
143
  </h1>
144
 
145
+ <?php do_action( 'wp_mail_smtp_admin_pages_before_content' ); ?>
146
+
147
  <?php
148
  $callback = 'display_' . $this->get_current_tab();
149
 
src/Admin/Pages/ControlTab.php CHANGED
@@ -114,7 +114,7 @@ class ControlTab extends PageAbstract {
114
  </div>
115
 
116
  <div class="wp-mail-smtp-page-upsell-button">
117
- <a href="https://wpmailsmtp.com/lite-upgrade/?discount=LITEUPGRADE&amp;utm_source=WordPress&amp;utm_medium=logs&amp;utm_campaign=liteplugin"
118
  class="wp-mail-smtp-btn wp-mail-smtp-btn-lg wp-mail-smtp-btn-orange" target="_blank" rel="noopener noreferrer">
119
  <?php esc_html_e( 'Upgrade to WP Mail SMTP Pro', 'wp-mail-smtp' ); ?>
120
  </a>
114
  </div>
115
 
116
  <div class="wp-mail-smtp-page-upsell-button">
117
+ <a href="<?php echo esc_url( add_query_arg( 'discount', 'LITEUPGRADE', wp_mail_smtp()->get_upgrade_link( [ 'medium' => 'logs', 'content' => '' ] ) ) ); // phpcs:ignore ?>"
118
  class="wp-mail-smtp-btn wp-mail-smtp-btn-lg wp-mail-smtp-btn-orange" target="_blank" rel="noopener noreferrer">
119
  <?php esc_html_e( 'Upgrade to WP Mail SMTP Pro', 'wp-mail-smtp' ); ?>
120
  </a>
src/Admin/Pages/LogsTab.php CHANGED
@@ -63,7 +63,8 @@ class LogsTab extends PageAbstract {
63
  </div>
64
 
65
  <div class="wp-mail-smtp-page-upsell-button">
66
- <a href="https://wpmailsmtp.com/lite-upgrade/?discount=LITEUPGRADE&amp;utm_source=WordPress&amp;utm_medium=logs&amp;utm_campaign=liteplugin" class="wp-mail-smtp-btn wp-mail-smtp-btn-lg wp-mail-smtp-btn-orange wp-mail-smtp-upgrade-modal" target="_blank" rel="noopener noreferrer">
 
67
  <?php esc_html_e( 'Upgrade to WP Mail SMTP Pro', 'wp-mail-smtp' ); ?>
68
  </a>
69
  </div>
63
  </div>
64
 
65
  <div class="wp-mail-smtp-page-upsell-button">
66
+ <a href="<?php echo esc_url( add_query_arg( 'discount', 'LITEUPGRADE', wp_mail_smtp()->get_upgrade_link( [ 'medium' => 'logs', 'content' => '' ] ) ) ); // phpcs:ignore ?>"
67
+ class="wp-mail-smtp-btn wp-mail-smtp-btn-lg wp-mail-smtp-btn-orange wp-mail-smtp-upgrade-modal" target="_blank" rel="noopener noreferrer">
68
  <?php esc_html_e( 'Upgrade to WP Mail SMTP Pro', 'wp-mail-smtp' ); ?>
69
  </a>
70
  </div>
src/Admin/Pages/MiscTab.php CHANGED
@@ -4,6 +4,7 @@ namespace WPMailSMTP\Admin\Pages;
4
 
5
  use WPMailSMTP\Admin\PageAbstract;
6
  use WPMailSMTP\Options;
 
7
  use WPMailSMTP\WP;
8
 
9
  /**
@@ -190,6 +191,25 @@ class MiscTab extends PageAbstract {
190
  </div>
191
  </div>
192
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
193
  <?php $this->display_save_btn(); ?>
194
 
195
  </form>
@@ -224,6 +244,9 @@ class MiscTab extends PageAbstract {
224
  if ( empty( $data['general']['uninstall'] ) ) {
225
  $data['general']['uninstall'] = false;
226
  }
 
 
 
227
 
228
  $to_save = Options::array_merge_recursive( $options->get_all(), $data );
229
 
4
 
5
  use WPMailSMTP\Admin\PageAbstract;
6
  use WPMailSMTP\Options;
7
+ use WPMailSMTP\UsageTracking\UsageTracking;
8
  use WPMailSMTP\WP;
9
 
10
  /**
191
  </div>
192
  </div>
193
 
194
+ <?php if ( apply_filters( 'wp_mail_smtp_admin_pages_misc_tab_show_usage_tracking_setting', true ) ) : ?>
195
+ <!-- Usage Tracking -->
196
+ <div id="wp-mail-smtp-setting-row-usage-tracking" class="wp-mail-smtp-setting-row wp-mail-smtp-setting-row-checkbox wp-mail-smtp-clear">
197
+ <div class="wp-mail-smtp-setting-label">
198
+ <label for="wp-mail-smtp-setting-usage-tracking">
199
+ <?php esc_html_e( 'Allow Usage Tracking', 'wp-mail-smtp' ); ?>
200
+ </label>
201
+ </div>
202
+ <div class="wp-mail-smtp-setting-field">
203
+ <input name="wp-mail-smtp[general][<?php echo esc_attr( UsageTracking::SETTINGS_SLUG ); ?>]" type="checkbox"
204
+ value="true" <?php checked( true, $options->get( 'general', UsageTracking::SETTINGS_SLUG ) ); ?>
205
+ id="wp-mail-smtp-setting-usage-tracking">
206
+ <label for="wp-mail-smtp-setting-usage-tracking">
207
+ <?php esc_html_e( 'By allowing us to track usage data we can better help you because we know with which WordPress configurations, themes and plugins we should test.', 'wp-mail-smtp' ); ?>
208
+ </label>
209
+ </div>
210
+ </div>
211
+ <?php endif; ?>
212
+
213
  <?php $this->display_save_btn(); ?>
214
 
215
  </form>
244
  if ( empty( $data['general']['uninstall'] ) ) {
245
  $data['general']['uninstall'] = false;
246
  }
247
+ if ( empty( $data['general'][ UsageTracking::SETTINGS_SLUG ] ) ) {
248
+ $data['general'][ UsageTracking::SETTINGS_SLUG ] = false;
249
+ }
250
 
251
  $to_save = Options::array_merge_recursive( $options->get_all(), $data );
252
 
src/Admin/Pages/SettingsTab.php CHANGED
@@ -52,8 +52,14 @@ class SettingsTab extends PageAbstract {
52
  $options = new Options();
53
  $mailer = $options->get( 'mail', 'mailer' );
54
 
55
- $disabled_email = 'gmail' === $mailer || 'outlook' === $mailer ? 'disabled' : '';
56
  $disabled_name = 'outlook' === $mailer ? 'disabled' : '';
 
 
 
 
 
 
57
  ?>
58
 
59
  <form method="POST" action="" autocomplete="off">
@@ -95,76 +101,79 @@ class SettingsTab extends PageAbstract {
95
  <label for="wp-mail-smtp-setting-from_email"><?php esc_html_e( 'From Email', 'wp-mail-smtp' ); ?></label>
96
  </div>
97
  <div class="wp-mail-smtp-setting-field">
98
- <?php if ( 'gmail' !== $mailer ) : ?>
99
- <input name="wp-mail-smtp[mail][from_email]" type="email"
100
- value="<?php echo esc_attr( $options->get( 'mail', 'from_email' ) ); ?>"
101
- <?php echo $options->is_const_defined( 'mail', 'from_email' ) || ! empty( $disabled_email ) ? 'disabled' : ''; ?>
102
- id="wp-mail-smtp-setting-from_email" spellcheck="false"
103
- placeholder="<?php echo esc_attr( wp_mail_smtp()->get_processor()->get_default_email() ); ?>">
104
- <?php else : ?>
105
- <?php
106
- // Gmail mailer From Email selector.
107
- $gmail_auth = new Auth();
108
- $gmail_aliases = $gmail_auth->is_clients_saved() ? $gmail_auth->get_user_possible_send_from_addresses() : [];
109
- ?>
110
-
111
- <?php if ( empty( $gmail_aliases ) ) : ?>
112
- <select name="wp-mail-smtp[mail][from_email]" id="wp-mail-smtp-setting-from_email" disabled>
113
- <option value=""><?php esc_html_e( 'Please first authorize the Gmail mailer below', 'wp-mail-smtp' ); ?></option>
114
- </select>
115
  <?php else : ?>
116
- <select name="wp-mail-smtp[mail][from_email]" id="wp-mail-smtp-setting-from_email">
117
- <?php foreach ( $gmail_aliases as $gmail_email_address ) : ?>
118
- <option value="<?php echo esc_attr( $gmail_email_address ); ?>" <?php selected( $options->get( 'mail', 'from_email' ), $gmail_email_address ); ?>><?php echo esc_html( $gmail_email_address ); ?></option>
119
- <?php endforeach; ?>
120
- </select>
 
 
 
 
 
 
 
 
 
 
 
 
 
121
  <?php endif; ?>
122
 
123
- <?php endif; ?>
 
 
 
 
 
 
 
 
 
124
 
125
- <?php if ( empty( $disabled_email ) ) : ?>
126
- <p class="desc">
127
- <?php esc_html_e( 'The email address which emails are sent from.', 'wp-mail-smtp' ); ?><br/>
128
- <?php esc_html_e( 'If you\'re using an email provider (Yahoo, Outlook.com, etc) this should be your email address for that account.', 'wp-mail-smtp' ); ?>
129
- </p>
130
- <p class="desc">
131
- <?php esc_html_e( 'Please note that other plugins can change this, to prevent this use the setting below.', 'wp-mail-smtp' ); ?>
132
- </p>
133
- <?php endif; ?>
134
-
135
- <hr class="wp-mail-smtp-setting-mid-row-sep">
136
-
137
- <?php if ( 'gmail' !== $mailer ) : ?>
138
- <input name="wp-mail-smtp[mail][from_email_force]" type="checkbox"
139
- value="true" <?php checked( true, (bool) $options->get( 'mail', 'from_email_force' ) ); ?>
140
- <?php echo $options->is_const_defined( 'mail', 'from_email_force' ) || ! empty( $disabled_email ) ? 'disabled' : ''; ?>
141
- id="wp-mail-smtp-setting-from_email_force">
142
- <?php else : ?>
143
- <input name="wp-mail-smtp[mail][from_email_force]" type="checkbox"
144
- value="true" checked="checked" disabled
145
- id="wp-mail-smtp-setting-from_email_force">
146
- <?php endif; ?>
147
-
148
- <label for="wp-mail-smtp-setting-from_email_force">
149
- <?php esc_html_e( 'Force From Email', 'wp-mail-smtp' ); ?>
150
- </label>
151
 
152
- <?php if ( ! empty( $disabled_email ) ) : ?>
153
- <p class="desc">
154
- <?php
155
- if ( 'gmail' !== $mailer ) :
156
- esc_html_e( 'Current provider will automatically force From Email to be the email address that you use to set up the connection below.', 'wp-mail-smtp' );
157
- else :
158
- esc_html_e( 'Gmail mailer will automatically force From Email to be the email address that you selected above.', 'wp-mail-smtp' );
159
- endif;
160
- ?>
161
- </p>
162
- <?php else : ?>
163
- <p class="desc">
164
- <?php esc_html_e( 'If checked, the From Email setting above will be used for all emails, ignoring values set by other plugins.', 'wp-mail-smtp' ); ?>
165
- </p>
166
- <?php endif; ?>
167
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
168
  </div>
169
  </div>
170
 
@@ -174,43 +183,47 @@ class SettingsTab extends PageAbstract {
174
  <label for="wp-mail-smtp-setting-from_name"><?php esc_html_e( 'From Name', 'wp-mail-smtp' ); ?></label>
175
  </div>
176
  <div class="wp-mail-smtp-setting-field">
177
- <input name="wp-mail-smtp[mail][from_name]" type="text"
178
- value="<?php echo esc_attr( $options->get( 'mail', 'from_name' ) ); ?>"
179
- <?php echo $options->is_const_defined( 'mail', 'from_name' ) || ! empty( $disabled_name ) ? 'disabled' : ''; ?>
180
- id="wp-mail-smtp-setting-from_name" spellcheck="false"
181
- placeholder="<?php echo esc_attr( wp_mail_smtp()->get_processor()->get_default_name() ); ?>">
182
-
183
- <?php if ( empty( $disabled_name ) ) : ?>
184
- <p class="desc">
185
- <?php esc_html_e( 'The name which emails are sent from.', 'wp-mail-smtp' ); ?>
186
- </p>
187
- <?php endif; ?>
 
 
188
 
189
- <hr class="wp-mail-smtp-setting-mid-row-sep">
190
 
191
- <input name="wp-mail-smtp[mail][from_name_force]" type="checkbox"
192
- value="true" <?php checked( true, (bool) $options->get( 'mail', 'from_name_force' ) ); ?>
193
- <?php echo $options->is_const_defined( 'mail', 'from_name_force' ) || ! empty( $disabled_name ) ? 'disabled' : ''; ?>
194
- id="wp-mail-smtp-setting-from_name_force">
 
195
 
196
- <label for="wp-mail-smtp-setting-from_name_force">
197
- <?php esc_html_e( 'Force From Name', 'wp-mail-smtp' ); ?>
198
- </label>
199
 
200
- <?php if ( ! empty( $disabled_name ) ) : ?>
201
- <p class="desc">
202
- <?php esc_html_e( 'Current provider doesn\'t support setting and forcing From Name. Emails will be sent on behalf of the account name used to setup the connection below.', 'wp-mail-smtp' ); ?>
203
- </p>
204
- <?php else : ?>
205
- <p class="desc">
206
- <?php esc_html_e( 'If checked, the From Name setting above will be used for all emails, ignoring values set by other plugins.', 'wp-mail-smtp' ); ?>
207
- </p>
208
- <?php endif; ?>
 
209
  </div>
210
  </div>
211
 
212
  <!-- Return Path -->
213
- <div id="wp-mail-smtp-setting-row-return_path" class="wp-mail-smtp-setting-row wp-mail-smtp-setting-row-checkbox wp-mail-smtp-clear">
214
  <div class="wp-mail-smtp-setting-label">
215
  <label for="wp-mail-smtp-setting-return_path"><?php esc_html_e( 'Return Path', 'wp-mail-smtp' ); ?></label>
216
  </div>
@@ -250,7 +263,8 @@ class SettingsTab extends PageAbstract {
250
 
251
  <div class="wp-mail-smtp-mailer-text">
252
  <?php if ( $provider->is_disabled() ) : ?>
253
- <input type="radio" name="wp-mail-smtp[mail][mailer]" disabled class="educate"
 
254
  id="wp-mail-smtp-setting-mailer-<?php echo esc_attr( $provider->get_slug() ); ?>"
255
  value="<?php echo esc_attr( $provider->get_slug() ); ?>"
256
  />
@@ -258,9 +272,9 @@ class SettingsTab extends PageAbstract {
258
  <input id="wp-mail-smtp-setting-mailer-<?php echo esc_attr( $provider->get_slug() ); ?>"
259
  type="radio" name="wp-mail-smtp[mail][mailer]"
260
  value="<?php echo esc_attr( $provider->get_slug() ); ?>"
 
261
  <?php checked( $provider->get_slug(), $mailer ); ?>
262
  <?php echo $options->is_const_defined( 'mail', 'mailer' ) || $provider->is_disabled() ? 'disabled' : ''; ?>
263
- <?php echo $provider->is_disabled() ? 'class="educate"' : ''; ?>
264
  />
265
  <?php endif; ?>
266
  <label for="wp-mail-smtp-setting-mailer-<?php echo esc_attr( $provider->get_slug() ); ?>">
52
  $options = new Options();
53
  $mailer = $options->get( 'mail', 'mailer' );
54
 
55
+ $disabled_email = in_array( $mailer, [ 'gmail', 'outlook', 'zoho' ], true ) ? 'disabled' : '';
56
  $disabled_name = 'outlook' === $mailer ? 'disabled' : '';
57
+
58
+ if ( empty( $mailer ) ) {
59
+ $mailer = 'mail';
60
+ }
61
+
62
+ $mailer_supported_settings = wp_mail_smtp()->get_providers()->get_options( $mailer )->get_supports();
63
  ?>
64
 
65
  <form method="POST" action="" autocomplete="off">
101
  <label for="wp-mail-smtp-setting-from_email"><?php esc_html_e( 'From Email', 'wp-mail-smtp' ); ?></label>
102
  </div>
103
  <div class="wp-mail-smtp-setting-field">
104
+ <div class="js-wp-mail-smtp-setting-from_email" style="display: <?php echo empty( $mailer_supported_settings['from_email'] ) ? 'none' : 'block'; ?>;">
105
+ <?php if ( 'gmail' !== $mailer ) : ?>
106
+ <input name="wp-mail-smtp[mail][from_email]" type="email"
107
+ value="<?php echo esc_attr( $options->get( 'mail', 'from_email' ) ); ?>"
108
+ <?php echo $options->is_const_defined( 'mail', 'from_email' ) || ! empty( $disabled_email ) ? 'disabled' : ''; ?>
109
+ id="wp-mail-smtp-setting-from_email" spellcheck="false"
110
+ placeholder="<?php echo esc_attr( wp_mail_smtp()->get_processor()->get_default_email() ); ?>">
 
 
 
 
 
 
 
 
 
 
111
  <?php else : ?>
112
+ <?php
113
+ // Gmail mailer From Email selector.
114
+ $gmail_auth = new Auth();
115
+ $gmail_aliases = $gmail_auth->is_clients_saved() ? $gmail_auth->get_user_possible_send_from_addresses() : [];
116
+ ?>
117
+
118
+ <?php if ( empty( $gmail_aliases ) ) : ?>
119
+ <select name="wp-mail-smtp[mail][from_email]" id="wp-mail-smtp-setting-from_email" disabled>
120
+ <option value=""><?php esc_html_e( 'Please first authorize the Gmail mailer below', 'wp-mail-smtp' ); ?></option>
121
+ </select>
122
+ <?php else : ?>
123
+ <select name="wp-mail-smtp[mail][from_email]" id="wp-mail-smtp-setting-from_email">
124
+ <?php foreach ( $gmail_aliases as $gmail_email_address ) : ?>
125
+ <option value="<?php echo esc_attr( $gmail_email_address ); ?>" <?php selected( $options->get( 'mail', 'from_email' ), $gmail_email_address ); ?>><?php echo esc_html( $gmail_email_address ); ?></option>
126
+ <?php endforeach; ?>
127
+ </select>
128
+ <?php endif; ?>
129
+
130
  <?php endif; ?>
131
 
132
+ <?php if ( empty( $disabled_email ) ) : ?>
133
+ <p class="desc">
134
+ <?php esc_html_e( 'The email address which emails are sent from.', 'wp-mail-smtp' ); ?><br/>
135
+ <?php esc_html_e( 'If you\'re using an email provider (Yahoo, Outlook.com, etc) this should be your email address for that account.', 'wp-mail-smtp' ); ?>
136
+ </p>
137
+ <p class="desc">
138
+ <?php esc_html_e( 'Please note that other plugins can change this, to prevent this use the setting below.', 'wp-mail-smtp' ); ?>
139
+ </p>
140
+ <?php endif; ?>
141
+ </div>
142
 
143
+ <hr class="wp-mail-smtp-setting-mid-row-sep" style="display: <?php echo ( ! empty( $mailer_supported_settings['from_email'] ) && ! empty( $mailer_supported_settings['from_email_force'] ) ) ? 'block' : 'none'; ?>;">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
144
 
145
+ <div class="js-wp-mail-smtp-setting-from_email_force" style="display: <?php echo empty( $mailer_supported_settings['from_email_force'] ) ? 'none' : 'block'; ?>;">
146
+ <?php if ( 'gmail' !== $mailer ) : ?>
147
+ <input name="wp-mail-smtp[mail][from_email_force]" type="checkbox"
148
+ value="true" <?php checked( true, (bool) $options->get( 'mail', 'from_email_force' ) ); ?>
149
+ <?php echo $options->is_const_defined( 'mail', 'from_email_force' ) || ! empty( $disabled_email ) ? 'disabled' : ''; ?>
150
+ id="wp-mail-smtp-setting-from_email_force">
151
+ <?php else : ?>
152
+ <input name="wp-mail-smtp[mail][from_email_force]" type="checkbox"
153
+ value="true" checked="checked" disabled
154
+ id="wp-mail-smtp-setting-from_email_force">
155
+ <?php endif; ?>
 
 
 
 
156
 
157
+ <label for="wp-mail-smtp-setting-from_email_force">
158
+ <?php esc_html_e( 'Force From Email', 'wp-mail-smtp' ); ?>
159
+ </label>
160
+
161
+ <?php if ( ! empty( $disabled_email ) ) : ?>
162
+ <p class="desc">
163
+ <?php
164
+ if ( 'gmail' !== $mailer ) :
165
+ esc_html_e( 'Current provider will automatically force From Email to be the email address that you use to set up the connection below.', 'wp-mail-smtp' );
166
+ else :
167
+ esc_html_e( 'Gmail mailer will automatically force From Email to be the email address that you selected above.', 'wp-mail-smtp' );
168
+ endif;
169
+ ?>
170
+ </p>
171
+ <?php else : ?>
172
+ <p class="desc">
173
+ <?php esc_html_e( 'If checked, the From Email setting above will be used for all emails, ignoring values set by other plugins.', 'wp-mail-smtp' ); ?>
174
+ </p>
175
+ <?php endif; ?>
176
+ </div>
177
  </div>
178
  </div>
179
 
183
  <label for="wp-mail-smtp-setting-from_name"><?php esc_html_e( 'From Name', 'wp-mail-smtp' ); ?></label>
184
  </div>
185
  <div class="wp-mail-smtp-setting-field">
186
+ <div class="js-wp-mail-smtp-setting-from_name" style="display: <?php echo empty( $mailer_supported_settings['from_name'] ) ? 'none' : 'block'; ?>;">
187
+ <input name="wp-mail-smtp[mail][from_name]" type="text"
188
+ value="<?php echo esc_attr( $options->get( 'mail', 'from_name' ) ); ?>"
189
+ <?php echo $options->is_const_defined( 'mail', 'from_name' ) || ! empty( $disabled_name ) ? 'disabled' : ''; ?>
190
+ id="wp-mail-smtp-setting-from_name" spellcheck="false"
191
+ placeholder="<?php echo esc_attr( wp_mail_smtp()->get_processor()->get_default_name() ); ?>">
192
+
193
+ <?php if ( empty( $disabled_name ) ) : ?>
194
+ <p class="desc">
195
+ <?php esc_html_e( 'The name which emails are sent from.', 'wp-mail-smtp' ); ?>
196
+ </p>
197
+ <?php endif; ?>
198
+ </div>
199
 
200
+ <hr class="wp-mail-smtp-setting-mid-row-sep" style="display: <?php echo ( ! empty( $mailer_supported_settings['from_name'] ) && ! empty( $mailer_supported_settings['from_name_force'] ) ) ? 'block' : 'none'; ?>;">
201
 
202
+ <div class="js-wp-mail-smtp-setting-from_name_force" style="display: <?php echo empty( $mailer_supported_settings['from_name_force'] ) ? 'none' : 'block'; ?>;">
203
+ <input name="wp-mail-smtp[mail][from_name_force]" type="checkbox"
204
+ value="true" <?php checked( true, (bool) $options->get( 'mail', 'from_name_force' ) ); ?>
205
+ <?php echo $options->is_const_defined( 'mail', 'from_name_force' ) || ! empty( $disabled_name ) ? 'disabled' : ''; ?>
206
+ id="wp-mail-smtp-setting-from_name_force">
207
 
208
+ <label for="wp-mail-smtp-setting-from_name_force">
209
+ <?php esc_html_e( 'Force From Name', 'wp-mail-smtp' ); ?>
210
+ </label>
211
 
212
+ <?php if ( ! empty( $disabled_name ) ) : ?>
213
+ <p class="desc">
214
+ <?php esc_html_e( 'Current provider doesn\'t support setting and forcing From Name. Emails will be sent on behalf of the account name used to setup the connection below.', 'wp-mail-smtp' ); ?>
215
+ </p>
216
+ <?php else : ?>
217
+ <p class="desc">
218
+ <?php esc_html_e( 'If checked, the From Name setting above will be used for all emails, ignoring values set by other plugins.', 'wp-mail-smtp' ); ?>
219
+ </p>
220
+ <?php endif; ?>
221
+ </div>
222
  </div>
223
  </div>
224
 
225
  <!-- Return Path -->
226
+ <div id="wp-mail-smtp-setting-row-return_path" class="wp-mail-smtp-setting-row wp-mail-smtp-setting-row-checkbox wp-mail-smtp-clear js-wp-mail-smtp-setting-return_path" style="display: <?php echo empty( $mailer_supported_settings['return_path'] ) ? 'none' : 'block'; ?>;">
227
  <div class="wp-mail-smtp-setting-label">
228
  <label for="wp-mail-smtp-setting-return_path"><?php esc_html_e( 'Return Path', 'wp-mail-smtp' ); ?></label>
229
  </div>
263
 
264
  <div class="wp-mail-smtp-mailer-text">
265
  <?php if ( $provider->is_disabled() ) : ?>
266
+ <input type="radio" name="wp-mail-smtp[mail][mailer]" disabled
267
+ class="js-wp-mail-smtp-setting-mailer-radio-input educate"
268
  id="wp-mail-smtp-setting-mailer-<?php echo esc_attr( $provider->get_slug() ); ?>"
269
  value="<?php echo esc_attr( $provider->get_slug() ); ?>"
270
  />
272
  <input id="wp-mail-smtp-setting-mailer-<?php echo esc_attr( $provider->get_slug() ); ?>"
273
  type="radio" name="wp-mail-smtp[mail][mailer]"
274
  value="<?php echo esc_attr( $provider->get_slug() ); ?>"
275
+ class="js-wp-mail-smtp-setting-mailer-radio-input<?php echo $provider->is_disabled() ? ' educate' : ''; ?>"
276
  <?php checked( $provider->get_slug(), $mailer ); ?>
277
  <?php echo $options->is_const_defined( 'mail', 'mailer' ) || $provider->is_disabled() ? 'disabled' : ''; ?>
 
278
  />
279
  <?php endif; ?>
280
  <label for="wp-mail-smtp-setting-mailer-<?php echo esc_attr( $provider->get_slug() ); ?>">
src/Admin/PluginsInstallUpgrader.php CHANGED
@@ -270,25 +270,30 @@ class PluginsInstallUpgrader extends \Plugin_Upgrader {
270
  * Download a package.
271
  *
272
  * @since 2.8.0
 
273
  *
274
  * @param string $package The URI of the package. If this is the full path to an
275
  * existing local file, it will be returned untouched.
276
  * @param bool $check_signatures Whether to validate file signatures. Default false.
 
 
277
  * @return string|WP_Error The full path to the downloaded package file, or a WP_Error object.
278
  */
279
- public function download_package( $package, $check_signatures = false ) {
280
 
281
  /**
282
  * Filters whether to return the package.
283
  *
284
  * @since 3.7.0
 
285
  *
286
- * @param bool $reply Whether to bail without returning the package.
287
- * Default false.
288
- * @param string $package The package file name.
289
- * @param WP_Upgrader $this The WP_Upgrader instance.
 
290
  */
291
- $reply = apply_filters( 'upgrader_pre_download', false, $package, $this );
292
  if ( false !== $reply ) {
293
  return $reply;
294
  }
270
  * Download a package.
271
  *
272
  * @since 2.8.0
273
+ * @since 5.5.0 Added the `$hook_extra` parameter.
274
  *
275
  * @param string $package The URI of the package. If this is the full path to an
276
  * existing local file, it will be returned untouched.
277
  * @param bool $check_signatures Whether to validate file signatures. Default false.
278
+ * @param array $hook_extra Extra arguments to pass to the filter hooks. Default empty array.
279
+ *
280
  * @return string|WP_Error The full path to the downloaded package file, or a WP_Error object.
281
  */
282
+ public function download_package( $package, $check_signatures = false, $hook_extra = array() ) {
283
 
284
  /**
285
  * Filters whether to return the package.
286
  *
287
  * @since 3.7.0
288
+ * @since 5.5.0 Added the `$hook_extra` parameter.
289
  *
290
+ * @param bool $reply Whether to bail without returning the package.
291
+ * Default false.
292
+ * @param string $package The package file name.
293
+ * @param WP_Upgrader $this The WP_Upgrader instance.
294
+ * @param array $hook_extra Extra arguments passed to hooked filters.
295
  */
296
+ $reply = apply_filters( 'upgrader_pre_download', false, $package, $this, $hook_extra );
297
  if ( false !== $reply ) {
298
  return $reply;
299
  }
src/Admin/Review.php CHANGED
@@ -88,8 +88,8 @@ class Review {
88
  // Get the currently selected mailer.
89
  $mailer = Options::init()->get( 'mail', 'mailer' );
90
 
91
- // Skip if the default mailer is selected.
92
- if ( $mailer === 'mail' ) {
93
  return;
94
  }
95
 
88
  // Get the currently selected mailer.
89
  $mailer = Options::init()->get( 'mail', 'mailer' );
90
 
91
+ // Skip if no or the default mailer is selected.
92
+ if ( empty( $mailer ) || $mailer === 'mail' ) {
93
  return;
94
  }
95
 
src/Core.php CHANGED
@@ -2,6 +2,10 @@
2
 
3
  namespace WPMailSMTP;
4
 
 
 
 
 
5
  /**
6
  * Class Core to handle all plugin initialization.
7
  *
@@ -105,24 +109,27 @@ class Core {
105
  }
106
 
107
  // Action Scheduler requires a special early loading procedure.
108
- add_action( 'plugins_loaded', array( $this, 'load_action_scheduler' ), - 10 );
109
 
110
  // Activation hook.
111
- register_activation_hook( WPMS_PLUGIN_FILE, array( $this, 'activate' ) );
112
 
113
  // Redefine PHPMailer.
114
- add_action( 'plugins_loaded', array( $this, 'get_processor' ) );
115
- add_action( 'plugins_loaded', array( $this, 'replace_phpmailer' ) );
116
 
117
  // Various notifications.
118
- add_action( 'admin_init', array( $this, 'init_notifications' ) );
119
 
120
- add_action( 'init', array( $this, 'init' ) );
121
 
122
  // Initialize Action Scheduler tasks.
123
- add_action( 'init', array( $this, 'get_tasks' ), 5 );
124
 
125
- add_action( 'plugins_loaded', array( $this, 'get_pro' ) );
 
 
 
126
  }
127
 
128
  /**
@@ -264,6 +271,10 @@ class Core {
264
 
265
  if ( ! isset( $processor ) ) {
266
  $processor = apply_filters( 'wp_mail_smtp_core_get_processor', new Processor() );
 
 
 
 
267
  }
268
 
269
  return $processor;
@@ -469,7 +480,20 @@ class Core {
469
  }
470
 
471
  if ( wp_mail_smtp()->get_admin()->is_error_delivery_notice_enabled() ) {
472
- $notice = Debug::get_last();
 
 
 
 
 
 
 
 
 
 
 
 
 
473
 
474
  if ( ! empty( $notice ) ) {
475
  ?>
@@ -618,6 +642,19 @@ class Core {
618
  * @since 2.1.0
619
  */
620
  add_option( 'wp_mail_smtp_activated_time', time(), '', false );
 
 
 
 
 
 
 
 
 
 
 
 
 
621
  }
622
 
623
  /**
@@ -703,10 +740,13 @@ class Core {
703
  $content = $utm;
704
  }
705
 
706
- return apply_filters(
707
- 'wp_mail_smtp_core_get_upgrade_link',
708
- 'https://wpmailsmtp.com/lite-upgrade/?utm_source=' . esc_attr( $source ) . '&utm_medium=' . esc_attr( $medium ) . '&utm_campaign=' . esc_attr( $campaign ) . '&utm_content=' . esc_attr( $content )
709
- );
 
 
 
710
  }
711
 
712
  /**
@@ -841,4 +881,76 @@ class Core {
841
 
842
  return $value;
843
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
844
  }
2
 
3
  namespace WPMailSMTP;
4
 
5
+ use WPMailSMTP\Admin\AdminBarMenu;
6
+ use WPMailSMTP\Admin\Notifications;
7
+ use WPMailSMTP\UsageTracking\UsageTracking;
8
+
9
  /**
10
  * Class Core to handle all plugin initialization.
11
  *
109
  }
110
 
111
  // Action Scheduler requires a special early loading procedure.
112
+ add_action( 'plugins_loaded', [ $this, 'load_action_scheduler' ], - 10 );
113
 
114
  // Activation hook.
115
+ register_activation_hook( WPMS_PLUGIN_FILE, [ $this, 'activate' ] );
116
 
117
  // Redefine PHPMailer.
118
+ add_action( 'plugins_loaded', [ $this, 'get_processor' ] );
119
+ add_action( 'plugins_loaded', [ $this, 'replace_phpmailer' ] );
120
 
121
  // Various notifications.
122
+ add_action( 'admin_init', [ $this, 'init_notifications' ] );
123
 
124
+ add_action( 'init', [ $this, 'init' ] );
125
 
126
  // Initialize Action Scheduler tasks.
127
+ add_action( 'init', [ $this, 'get_tasks' ], 5 );
128
 
129
+ add_action( 'plugins_loaded', [ $this, 'get_pro' ] );
130
+ add_action( 'plugins_loaded', [ $this, 'get_usage_tracking' ] );
131
+ add_action( 'plugins_loaded', [ $this, 'get_admin_bar_menu' ] );
132
+ add_action( 'plugins_loaded', [ $this, 'get_notifications' ] );
133
  }
134
 
135
  /**
271
 
272
  if ( ! isset( $processor ) ) {
273
  $processor = apply_filters( 'wp_mail_smtp_core_get_processor', new Processor() );
274
+
275
+ if ( method_exists( $processor, 'hooks' ) ) {
276
+ $processor->hooks();
277
+ }
278
  }
279
 
280
  return $processor;
480
  }
481
 
482
  if ( wp_mail_smtp()->get_admin()->is_error_delivery_notice_enabled() ) {
483
+ $screen = get_current_screen();
484
+
485
+ // Skip the error notice if not on plugin page.
486
+ if (
487
+ is_object( $screen ) &&
488
+ strpos( $screen->id, 'page_wp-mail-smtp' ) === false
489
+ ) {
490
+ return;
491
+ }
492
+
493
+ $notice = apply_filters(
494
+ 'wp_mail_smtp_core_display_general_notices_email_delivery_error_notice',
495
+ Debug::get_last()
496
+ );
497
 
498
  if ( ! empty( $notice ) ) {
499
  ?>
642
  * @since 2.1.0
643
  */
644
  add_option( 'wp_mail_smtp_activated_time', time(), '', false );
645
+
646
+ /**
647
+ * Store the timestamp of the first plugin activation by license type.
648
+ *
649
+ * @since 2.3.0
650
+ */
651
+ $license_type = is_readable( $this->plugin_path . '/src/Pro/Pro.php' ) ? 'pro' : 'lite';
652
+ $activated = get_option( 'wp_mail_smtp_activated', [] );
653
+
654
+ if ( empty( $activated[ $license_type ] ) ) {
655
+ $activated[ $license_type ] = time();
656
+ update_option( 'wp_mail_smtp_activated', $activated );
657
+ }
658
  }
659
 
660
  /**
740
  $content = $utm;
741
  }
742
 
743
+ $url = 'https://wpmailsmtp.com/lite-upgrade/?utm_source=' . esc_attr( $source ) . '&utm_medium=' . esc_attr( $medium ) . '&utm_campaign=' . esc_attr( $campaign );
744
+
745
+ if ( ! empty( $content ) ) {
746
+ $url .= '&utm_content=' . esc_attr( $content );
747
+ }
748
+
749
+ return apply_filters( 'wp_mail_smtp_core_get_upgrade_link', $url );
750
  }
751
 
752
  /**
881
 
882
  return $value;
883
  }
884
+
885
+ /**
886
+ * Load the plugin admin bar menu and initialize it.
887
+ *
888
+ * @since 2.3.0
889
+ *
890
+ * @return AdminBarMenu
891
+ */
892
+ public function get_admin_bar_menu() {
893
+
894
+ static $admin_bar_menu;
895
+
896
+ if ( ! isset( $admin_bar_menu ) ) {
897
+ $admin_bar_menu = apply_filters(
898
+ 'wp_mail_smtp_core_get_admin_bar_menu',
899
+ new AdminBarMenu()
900
+ );
901
+
902
+ if ( method_exists( $admin_bar_menu, 'init' ) ) {
903
+ $admin_bar_menu->init();
904
+ }
905
+ }
906
+
907
+ return $admin_bar_menu;
908
+ }
909
+
910
+ /**
911
+ * Load the plugin usage tracking.
912
+ *
913
+ * @since 2.3.0
914
+ *
915
+ * @return UsageTracking
916
+ */
917
+ public function get_usage_tracking() {
918
+
919
+ static $usage_tracking;
920
+
921
+ if ( ! isset( $usage_tracking ) ) {
922
+ $usage_tracking = apply_filters( 'wp_mail_smtp_core_get_usage_tracking', new UsageTracking() );
923
+
924
+ if ( method_exists( $usage_tracking, 'load' ) ) {
925
+ $usage_tracking->load();
926
+ }
927
+ }
928
+
929
+ return $usage_tracking;
930
+ }
931
+
932
+ /**
933
+ * Load the plugin admin notifications functionality and initializes it.
934
+ *
935
+ * @since 2.3.0
936
+ *
937
+ * @return Notifications
938
+ */
939
+ public function get_notifications() {
940
+
941
+ static $notifications;
942
+
943
+ if ( ! isset( $notifications ) ) {
944
+ $notifications = apply_filters(
945
+ 'wp_mail_smtp_core_get_notifications',
946
+ new Notifications()
947
+ );
948
+
949
+ if ( method_exists( $notifications, 'init' ) ) {
950
+ $notifications->init();
951
+ }
952
+ }
953
+
954
+ return $notifications;
955
+ }
956
  }
src/Options.php CHANGED
@@ -2,6 +2,8 @@
2
 
3
  namespace WPMailSMTP;
4
 
 
 
5
  /**
6
  * Class Options to handle all options management.
7
  * WordPress does all the heavy work for caching get_option() data,
@@ -51,6 +53,11 @@ class Options {
51
  'client_id',
52
  'client_secret',
53
  ],
 
 
 
 
 
54
  'amazonses' => [
55
  'client_id',
56
  'client_secret',
@@ -463,6 +470,24 @@ class Options {
463
 
464
  break;
465
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
466
  case 'amazonses':
467
  switch ( $key ) {
468
  case 'client_id':
@@ -689,6 +714,21 @@ class Options {
689
 
690
  break;
691
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
692
  case 'amazonses':
693
  switch ( $key ) {
694
  case 'client_id':
@@ -828,6 +868,7 @@ class Options {
828
  case 'am_notifications_hidden':
829
  case 'email_delivery_errors_hidden':
830
  case 'uninstall':
 
831
  $options[ $group ][ $option_name ] = (bool) $option_value;
832
  break;
833
  }
@@ -841,7 +882,7 @@ class Options {
841
  if (
842
  ! empty( $options['mail']['mailer'] ) &&
843
  isset( $options[ $options['mail']['mailer'] ] ) &&
844
- in_array( $options['mail']['mailer'], array( 'pepipost', 'pepipostapi', 'smtp', 'sendgrid', 'smtpcom', 'sendinblue', 'mailgun', 'gmail', 'outlook' ), true )
845
  ) {
846
 
847
  $mailer = $options['mail']['mailer'];
@@ -870,16 +911,16 @@ class Options {
870
  break;
871
 
872
  case 'api_key': // mailgun/sendgrid/sendinblue/pepipostapi/smtpcom.
873
- case 'domain': // mailgun.
874
- case 'client_id': // gmail/outlook/amazonses.
875
- case 'client_secret': // gmail/outlook/amazonses.
876
  case 'auth_code': // gmail/outlook.
877
  case 'channel': // smtpcom.
878
  $options[ $mailer ][ $option_name ] = $this->is_const_defined( $mailer, $option_name ) ? '' : sanitize_text_field( $option_value );
879
  break;
880
 
881
- case 'access_token': // gmail/outlook, array().
882
- case 'user_details': // outlook, array().
883
  case 'emails_pending': // amazonses, array().
884
  // These options don't support constants.
885
  $options[ $mailer ][ $option_name ] = $option_value;
@@ -899,6 +940,8 @@ class Options {
899
 
900
  // Now we need to re-cache values.
901
  $this->populate_options();
 
 
902
  }
903
 
904
  /**
@@ -961,6 +1004,25 @@ class Options {
961
  return apply_filters( 'wp_mail_smtp_options_is_pepipost_active', $this->get( 'mail', 'mailer' ) === 'pepipost' );
962
  }
963
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
964
  /**
965
  * Check whether the site is using Pepipost/SMTP as a mailer or not.
966
  *
2
 
3
  namespace WPMailSMTP;
4
 
5
+ use WPMailSMTP\UsageTracking\UsageTracking;
6
+
7
  /**
8
  * Class Options to handle all options management.
9
  * WordPress does all the heavy work for caching get_option() data,
53
  'client_id',
54
  'client_secret',
55
  ],
56
+ 'zoho' => [
57
+ 'domain',
58
+ 'client_id',
59
+ 'client_secret',
60
+ ],
61
  'amazonses' => [
62
  'client_id',
63
  'client_secret',
470
 
471
  break;
472
 
473
+ case 'zoho':
474
+ switch ( $key ) {
475
+ case 'domain':
476
+ /** No inspection comment @noinspection PhpUndefinedConstantInspection */
477
+ $return = $this->is_const_defined( $group, $key ) ? WPMS_ZOHO_DOMAIN : $value;
478
+ break;
479
+ case 'client_id':
480
+ /** No inspection comment @noinspection PhpUndefinedConstantInspection */
481
+ $return = $this->is_const_defined( $group, $key ) ? WPMS_ZOHO_CLIENT_ID : $value;
482
+ break;
483
+ case 'client_secret':
484
+ /** No inspection comment @noinspection PhpUndefinedConstantInspection */
485
+ $return = $this->is_const_defined( $group, $key ) ? WPMS_ZOHO_CLIENT_SECRET : $value;
486
+ break;
487
+ }
488
+
489
+ break;
490
+
491
  case 'amazonses':
492
  switch ( $key ) {
493
  case 'client_id':
714
 
715
  break;
716
 
717
+ case 'zoho':
718
+ switch ( $key ) {
719
+ case 'domain':
720
+ $return = defined( 'WPMS_ZOHO_DOMAIN' ) && WPMS_ZOHO_DOMAIN;
721
+ break;
722
+ case 'client_id':
723
+ $return = defined( 'WPMS_ZOHO_CLIENT_ID' ) && WPMS_ZOHO_CLIENT_ID;
724
+ break;
725
+ case 'client_secret':
726
+ $return = defined( 'WPMS_ZOHO_CLIENT_SECRET' ) && WPMS_ZOHO_CLIENT_SECRET;
727
+ break;
728
+ }
729
+
730
+ break;
731
+
732
  case 'amazonses':
733
  switch ( $key ) {
734
  case 'client_id':
868
  case 'am_notifications_hidden':
869
  case 'email_delivery_errors_hidden':
870
  case 'uninstall':
871
+ case UsageTracking::SETTINGS_SLUG:
872
  $options[ $group ][ $option_name ] = (bool) $option_value;
873
  break;
874
  }
882
  if (
883
  ! empty( $options['mail']['mailer'] ) &&
884
  isset( $options[ $options['mail']['mailer'] ] ) &&
885
+ in_array( $options['mail']['mailer'], [ 'pepipost', 'pepipostapi', 'smtp', 'sendgrid', 'smtpcom', 'sendinblue', 'mailgun', 'gmail', 'outlook', 'zoho' ], true )
886
  ) {
887
 
888
  $mailer = $options['mail']['mailer'];
911
  break;
912
 
913
  case 'api_key': // mailgun/sendgrid/sendinblue/pepipostapi/smtpcom.
914
+ case 'domain': // mailgun/zoho.
915
+ case 'client_id': // gmail/outlook/amazonses/zoho.
916
+ case 'client_secret': // gmail/outlook/amazonses/zoho.
917
  case 'auth_code': // gmail/outlook.
918
  case 'channel': // smtpcom.
919
  $options[ $mailer ][ $option_name ] = $this->is_const_defined( $mailer, $option_name ) ? '' : sanitize_text_field( $option_value );
920
  break;
921
 
922
+ case 'access_token': // gmail/outlook/zoho, is an array.
923
+ case 'user_details': // outlook/zoho, is an array.
924
  case 'emails_pending': // amazonses, array().
925
  // These options don't support constants.
926
  $options[ $mailer ][ $option_name ] = $option_value;
940
 
941
  // Now we need to re-cache values.
942
  $this->populate_options();
943
+
944
+ do_action( 'wp_mail_smtp_options_set_after', $options );
945
  }
946
 
947
  /**
1004
  return apply_filters( 'wp_mail_smtp_options_is_pepipost_active', $this->get( 'mail', 'mailer' ) === 'pepipost' );
1005
  }
1006
 
1007
+ /**
1008
+ * Check whether the site is using provided mailer or not.
1009
+ *
1010
+ * @since 2.3.0
1011
+ *
1012
+ * @param string $mailer The mailer slug.
1013
+ *
1014
+ * @return bool
1015
+ */
1016
+ public function is_mailer_active( $mailer ) {
1017
+
1018
+ $mailer = sanitize_key( $mailer );
1019
+
1020
+ return apply_filters(
1021
+ "wp_mail_smtp_options_is_mailer_active_{$mailer}",
1022
+ $this->get( 'mail', 'mailer' ) === $mailer
1023
+ );
1024
+ }
1025
+
1026
  /**
1027
  * Check whether the site is using Pepipost/SMTP as a mailer or not.
1028
  *
src/Processor.php CHANGED
@@ -21,15 +21,6 @@ class Processor {
21
  */
22
  protected $wp_mail_from;
23
 
24
- /**
25
- * Processor constructor.
26
- *
27
- * @since 1.0.0
28
- */
29
- public function __construct() {
30
- $this->hooks();
31
- }
32
-
33
  /**
34
  * Assign all hooks to proper places.
35
  *
@@ -152,8 +143,8 @@ class Processor {
152
 
153
  if ( $mailer === 'gmail' ) {
154
  $forced = true;
155
- } elseif ( $mailer === 'outlook' ) {
156
- $sender = $options->get( 'outlook', 'user_details' );
157
  $from_email = ! empty( $sender['email'] ) ? $sender['email'] : '';
158
  $forced = true;
159
  }
21
  */
22
  protected $wp_mail_from;
23
 
 
 
 
 
 
 
 
 
 
24
  /**
25
  * Assign all hooks to proper places.
26
  *
143
 
144
  if ( $mailer === 'gmail' ) {
145
  $forced = true;
146
+ } elseif ( in_array( $mailer, [ 'outlook', 'zoho' ], true ) ) {
147
+ $sender = $options->get( $mailer, 'user_details' );
148
  $from_email = ! empty( $sender['email'] ) ? $sender['email'] : '';
149
  $forced = true;
150
  }
src/Providers/Gmail/Options.php CHANGED
@@ -22,33 +22,41 @@ class Options extends OptionsAbstract {
22
  * Gmail Options constructor.
23
  *
24
  * @since 1.0.0
 
25
  */
26
  public function __construct() {
27
 
28
  parent::__construct(
29
- array(
30
  'logo_url' => wp_mail_smtp()->assets_url . '/images/providers/google.svg',
31
  'slug' => self::SLUG,
32
  'title' => esc_html__( 'Gmail', 'wp-mail-smtp' ),
33
  'description' => sprintf(
34
  wp_kses( /* translators: %s - URL to our Gmail doc. */
35
  __( 'Send emails using your Gmail or G Suite (formerly Google Apps) account, all while keeping your login credentials safe. Other Google SMTP methods require enabling less secure apps in your account and entering your password. However, this integration uses the Google API to improve email delivery issues while keeping your site secure.<br><br>Read our <a href="%s" target="_blank" rel="noopener noreferrer">Gmail documentation</a> to learn how to configure Gmail or G Suite.', 'wp-mail-smtp' ),
36
- array(
37
- 'br' => array(),
38
- 'a' => array(
39
- 'href' => array(),
40
- 'rel' => array(),
41
- 'target' => array(),
42
- ),
43
- )
44
  ),
45
  'https://wpmailsmtp.com/docs/how-to-set-up-the-gmail-mailer-in-wp-mail-smtp/'
46
  ),
47
- 'notices' => array(
48
  'educational' => esc_html__( 'The Gmail mailer works well for sites that send low numbers of emails. However, Gmail\'s API has rate limitations and a number of additional restrictions that can lead to challenges during setup. If you expect to send a high volume of emails, or if you find that your web host is not compatible with the Gmail API restrictions, then we recommend considering a different mailer option.', 'wp-mail-smtp' ),
49
- ),
50
  'php' => '5.5',
51
- )
 
 
 
 
 
 
 
52
  );
53
  }
54
 
@@ -109,7 +117,7 @@ class Options extends OptionsAbstract {
109
  <label for="wp-mail-smtp-setting-<?php echo esc_attr( $this->get_slug() ); ?>-client_redirect"><?php esc_html_e( 'Authorized redirect URI', 'wp-mail-smtp' ); ?></label>
110
  </div>
111
  <div class="wp-mail-smtp-setting-field">
112
- <input type="text" readonly="readonly"
113
  value="<?php echo esc_attr( Auth::get_plugin_auth_url() ); ?>"
114
  id="wp-mail-smtp-setting-<?php echo esc_attr( $this->get_slug() ); ?>-client_redirect"
115
  />
22
  * Gmail Options constructor.
23
  *
24
  * @since 1.0.0
25
+ * @since 2.3.0 Added supports parameter.
26
  */
27
  public function __construct() {
28
 
29
  parent::__construct(
30
+ [
31
  'logo_url' => wp_mail_smtp()->assets_url . '/images/providers/google.svg',
32
  'slug' => self::SLUG,
33
  'title' => esc_html__( 'Gmail', 'wp-mail-smtp' ),
34
  'description' => sprintf(
35
  wp_kses( /* translators: %s - URL to our Gmail doc. */
36
  __( 'Send emails using your Gmail or G Suite (formerly Google Apps) account, all while keeping your login credentials safe. Other Google SMTP methods require enabling less secure apps in your account and entering your password. However, this integration uses the Google API to improve email delivery issues while keeping your site secure.<br><br>Read our <a href="%s" target="_blank" rel="noopener noreferrer">Gmail documentation</a> to learn how to configure Gmail or G Suite.', 'wp-mail-smtp' ),
37
+ [
38
+ 'br' => [],
39
+ 'a' => [
40
+ 'href' => [],
41
+ 'rel' => [],
42
+ 'target' => [],
43
+ ],
44
+ ]
45
  ),
46
  'https://wpmailsmtp.com/docs/how-to-set-up-the-gmail-mailer-in-wp-mail-smtp/'
47
  ),
48
+ 'notices' => [
49
  'educational' => esc_html__( 'The Gmail mailer works well for sites that send low numbers of emails. However, Gmail\'s API has rate limitations and a number of additional restrictions that can lead to challenges during setup. If you expect to send a high volume of emails, or if you find that your web host is not compatible with the Gmail API restrictions, then we recommend considering a different mailer option.', 'wp-mail-smtp' ),
50
+ ],
51
  'php' => '5.5',
52
+ 'supports' => [
53
+ 'from_email' => true,
54
+ 'from_name' => true,
55
+ 'return_path' => false,
56
+ 'from_email_force' => true,
57
+ 'from_name_force' => true,
58
+ ],
59
+ ]
60
  );
61
  }
62
 
117
  <label for="wp-mail-smtp-setting-<?php echo esc_attr( $this->get_slug() ); ?>-client_redirect"><?php esc_html_e( 'Authorized redirect URI', 'wp-mail-smtp' ); ?></label>
118
  </div>
119
  <div class="wp-mail-smtp-setting-field">
120
+ <input type="text" readonly="readonly" onfocus="this.select();"
121
  value="<?php echo esc_attr( Auth::get_plugin_auth_url() ); ?>"
122
  id="wp-mail-smtp-setting-<?php echo esc_attr( $this->get_slug() ); ?>-client_redirect"
123
  />
src/Providers/Loader.php CHANGED
@@ -32,6 +32,7 @@ class Loader {
32
  'amazonses' => 'WPMailSMTP\Providers\AmazonSES\\',
33
  'gmail' => 'WPMailSMTP\Providers\Gmail\\',
34
  'outlook' => 'WPMailSMTP\Providers\Outlook\\',
 
35
  'smtp' => 'WPMailSMTP\Providers\SMTP\\',
36
  'pepipost' => 'WPMailSMTP\Providers\Pepipost\\',
37
  );
@@ -56,6 +57,10 @@ class Loader {
56
  unset( $this->providers['pepipost'] );
57
  }
58
 
 
 
 
 
59
  return apply_filters( 'wp_mail_smtp_providers_loader_get_providers', $this->providers );
60
  }
61
 
@@ -200,4 +205,35 @@ class Loader {
200
 
201
  return apply_filters( 'wp_mail_smtp_providers_loader_get_entity', $entity, $provider, $request );
202
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
203
  }
32
  'amazonses' => 'WPMailSMTP\Providers\AmazonSES\\',
33
  'gmail' => 'WPMailSMTP\Providers\Gmail\\',
34
  'outlook' => 'WPMailSMTP\Providers\Outlook\\',
35
+ 'zoho' => 'WPMailSMTP\Providers\Zoho\\',
36
  'smtp' => 'WPMailSMTP\Providers\SMTP\\',
37
  'pepipost' => 'WPMailSMTP\Providers\Pepipost\\',
38
  );
57
  unset( $this->providers['pepipost'] );
58
  }
59
 
60
+ if ( ! Options::init()->is_mailer_active( 'pepipostapi' ) ) {
61
+ unset( $this->providers['pepipostapi'] );
62
+ }
63
+
64
  return apply_filters( 'wp_mail_smtp_providers_loader_get_providers', $this->providers );
65
  }
66
 
205
 
206
  return apply_filters( 'wp_mail_smtp_providers_loader_get_entity', $entity, $provider, $request );
207
  }
208
+
209
+ /**
210
+ * Get supports options for all mailers.
211
+ *
212
+ * @since 2.3.0
213
+ *
214
+ * @return array
215
+ */
216
+ public function get_supports_all() {
217
+
218
+ $supports = [];
219
+
220
+ foreach ( $this->get_providers() as $provider => $path ) {
221
+ $option = $this->get_options( $provider );
222
+
223
+ if ( ! $option instanceof OptionsAbstract ) {
224
+ continue;
225
+ }
226
+
227
+ $mailer_slug = $option->get_slug();
228
+ $mailer_supports = $option->get_supports();
229
+
230
+ if ( empty( $mailer_slug ) || empty( $mailer_supports ) ) {
231
+ continue;
232
+ }
233
+
234
+ $supports[ $mailer_slug ] = $mailer_supports;
235
+ }
236
+
237
+ return apply_filters( 'wp_mail_smtp_providers_loader_get_supports_all', $supports );
238
+ }
239
  }
src/Providers/OptionsAbstract.php CHANGED
@@ -54,12 +54,22 @@ abstract class OptionsAbstract implements OptionsInterface {
54
  */
55
  protected $options;
56
 
 
 
 
 
 
 
 
 
 
57
  /**
58
  * ProviderAbstract constructor.
59
  *
60
  * @since 1.0.0
 
61
  *
62
- * @param array $params
63
  */
64
  public function __construct( $params ) {
65
 
@@ -120,6 +130,8 @@ abstract class OptionsAbstract implements OptionsInterface {
120
  $this->logo_url = esc_url_raw( $params['logo_url'] );
121
  }
122
 
 
 
123
  $this->options = new Options();
124
  }
125
 
@@ -474,4 +486,33 @@ abstract class OptionsAbstract implements OptionsInterface {
474
 
475
  <?php
476
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
477
  }
54
  */
55
  protected $options;
56
 
57
+ /**
58
+ * An array with mailer supported setting fields.
59
+ *
60
+ * @since 2.3.0
61
+ *
62
+ * @var array
63
+ */
64
+ protected $supports;
65
+
66
  /**
67
  * ProviderAbstract constructor.
68
  *
69
  * @since 1.0.0
70
+ * @since 2.3.0 Added supports parameter.
71
  *
72
+ * @param array $params The mailer options parameters.
73
  */
74
  public function __construct( $params ) {
75
 
130
  $this->logo_url = esc_url_raw( $params['logo_url'] );
131
  }
132
 
133
+ $this->supports = ( ! empty( $params['supports'] ) ) ? $params['supports'] : $this->get_supports_defaults();
134
+
135
  $this->options = new Options();
136
  }
137
 
486
 
487
  <?php
488
  }
489
+
490
+ /**
491
+ * Return the defaults for the mailer supported settings.
492
+ *
493
+ * @since 2.3.0
494
+ *
495
+ * @return array
496
+ */
497
+ public function get_supports_defaults() {
498
+
499
+ return [
500
+ 'from_email' => true,
501
+ 'from_name' => true,
502
+ 'return_path' => true,
503
+ 'from_email_force' => true,
504
+ 'from_name_force' => true,
505
+ ];
506
+ }
507
+
508
+ /**
509
+ * Get the mailer supported settings.
510
+ *
511
+ * @since 2.3.0
512
+ *
513
+ * @return array
514
+ */
515
+ public function get_supports() {
516
+ return apply_filters( 'wp_mail_smtp_providers_provider_get_supports', $this->supports, $this );
517
+ }
518
  }
src/Providers/OptionsInterface.php CHANGED
@@ -1,64 +1,71 @@
1
- <?php
2
-
3
- namespace WPMailSMTP\Providers;
4
-
5
- /**
6
- * Interface ProviderInterface, shared between all current and future providers.
7
- * Defines required methods across all providers.
8
- *
9
- * @since 1.0.0
10
- */
11
- interface OptionsInterface {
12
-
13
- /**
14
- * Get the mailer provider slug.
15
- *
16
- * @since 1.0.0
17
- *
18
- * @return string
19
- */
20
- public function get_slug();
21
-
22
- /**
23
- * Get the mailer provider title (or name).
24
- *
25
- * @since 1.0.0
26
- *
27
- * @return string
28
- */
29
- public function get_title();
30
-
31
- /**
32
- * Get the mailer provider description.
33
- *
34
- * @since 1.0.0
35
- *
36
- * @return string
37
- */
38
- public function get_description();
39
-
40
- /**
41
- * Get the mailer provider minimum PHP version.
42
- *
43
- * @since 1.0.0
44
- *
45
- * @return string
46
- */
47
- public function get_php_version();
48
-
49
- /**
50
- * Get the mailer provider logo URL.
51
- *
52
- * @since 1.0.0
53
- *
54
- * @return string
55
- */
56
- public function get_logo_url();
57
-
58
- /**
59
- * Output the mailer provider options.
60
- *
61
- * @since 1.0.0
62
- */
63
- public function display_options();
64
- }
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WPMailSMTP\Providers;
4
+
5
+ /**
6
+ * Interface ProviderInterface, shared between all current and future providers.
7
+ * Defines required methods across all providers.
8
+ *
9
+ * @since 1.0.0
10
+ */
11
+ interface OptionsInterface {
12
+
13
+ /**
14
+ * Get the mailer provider slug.
15
+ *
16
+ * @since 1.0.0
17
+ *
18
+ * @return string
19
+ */
20
+ public function get_slug();
21
+
22
+ /**
23
+ * Get the mailer provider title (or name).
24
+ *
25
+ * @since 1.0.0
26
+ *
27
+ * @return string
28
+ */
29
+ public function get_title();
30
+
31
+ /**
32
+ * Get the mailer provider description.
33
+ *
34
+ * @since 1.0.0
35
+ *
36
+ * @return string
37
+ */
38
+ public function get_description();
39
+
40
+ /**
41
+ * Get the mailer provider minimum PHP version.
42
+ *
43
+ * @since 1.0.0
44
+ *
45
+ * @return string
46
+ */
47
+ public function get_php_version();
48
+
49
+ /**
50
+ * Get the mailer provider logo URL.
51
+ *
52
+ * @since 1.0.0
53
+ *
54
+ * @return string
55
+ */
56
+ public function get_logo_url();
57
+
58
+ /**
59
+ * Output the mailer provider options.
60
+ *
61
+ * @since 1.0.0
62
+ */
63
+ public function display_options();
64
+
65
+ /**
66
+ * Get the mailer supported settings.
67
+ *
68
+ * @since 2.3.0
69
+ */
70
+ public function get_supports();
71
+ }
src/Providers/PepipostAPI/Options.php CHANGED
@@ -23,19 +23,19 @@ class Options extends OptionsAbstract {
23
  * Options constructor.
24
  *
25
  * @since 1.8.0
 
26
  */
27
  public function __construct() {
28
 
29
  $description = sprintf(
30
  wp_kses( /* translators: %1$s - URL to pepipost.com site. */
31
- __( '<strong><a href="%1$s" target="_blank" rel="noopener noreferrer">Pepipost</a> is a recommended transactional email service.</strong> Every month Pepipost delivers over 8 billion emails from 20,000+ customers. Their mission is to reliably send emails in the most efficient way and at the most disruptive pricing ever. Pepipost provides users 30,000 free emails the first 30 days.', 'wp-mail-smtp' ) .
32
  '<br><br>' .
33
  /* translators: %1$s - URL to wpmailsmtp.com doc. */
34
  __( 'Read our <a href="%2$s" target="_blank" rel="noopener noreferrer">Pepipost documentation</a> to learn how to configure Pepipost and improve your email deliverability.', 'wp-mail-smtp' ),
35
  array(
36
- 'br' => true,
37
- 'strong' => true,
38
- 'a' => array(
39
  'href' => true,
40
  'rel' => true,
41
  'target' => true,
@@ -55,14 +55,20 @@ class Options extends OptionsAbstract {
55
  }
56
 
57
  parent::__construct(
58
- array(
59
  'logo_url' => wp_mail_smtp()->assets_url . '/images/providers/pepipost.png',
60
  'slug' => self::SLUG,
61
  'title' => esc_html__( 'Pepipost', 'wp-mail-smtp' ),
62
  'description' => $description,
63
- 'recommended' => true,
64
  'php' => '5.3',
65
- )
 
 
 
 
 
 
 
66
  );
67
  }
68
 
23
  * Options constructor.
24
  *
25
  * @since 1.8.0
26
+ * @since 2.3.0 Added 'supports' parameter.
27
  */
28
  public function __construct() {
29
 
30
  $description = sprintf(
31
  wp_kses( /* translators: %1$s - URL to pepipost.com site. */
32
+ __( '<a href="%1$s" target="_blank" rel="noopener noreferrer">Pepipost</a> is a transactional email service. Every month Pepipost delivers over 8 billion emails from 20,000+ customers. Their mission is to reliably send emails in the most efficient way and at the most disruptive pricing ever. Pepipost provides users 30,000 free emails the first 30 days.', 'wp-mail-smtp' ) .
33
  '<br><br>' .
34
  /* translators: %1$s - URL to wpmailsmtp.com doc. */
35
  __( 'Read our <a href="%2$s" target="_blank" rel="noopener noreferrer">Pepipost documentation</a> to learn how to configure Pepipost and improve your email deliverability.', 'wp-mail-smtp' ),
36
  array(
37
+ 'br' => true,
38
+ 'a' => array(
 
39
  'href' => true,
40
  'rel' => true,
41
  'target' => true,
55
  }
56
 
57
  parent::__construct(
58
+ [
59
  'logo_url' => wp_mail_smtp()->assets_url . '/images/providers/pepipost.png',
60
  'slug' => self::SLUG,
61
  'title' => esc_html__( 'Pepipost', 'wp-mail-smtp' ),
62
  'description' => $description,
 
63
  'php' => '5.3',
64
+ 'supports' => [
65
+ 'from_email' => true,
66
+ 'from_name' => true,
67
+ 'return_path' => false,
68
+ 'from_email_force' => true,
69
+ 'from_name_force' => true,
70
+ ],
71
+ ]
72
  );
73
  }
74
 
src/Providers/SMTPcom/Options.php CHANGED
@@ -23,6 +23,7 @@ class Options extends OptionsAbstract {
23
  * Options constructor.
24
  *
25
  * @since 2.0.0
 
26
  */
27
  public function __construct() {
28
 
@@ -61,13 +62,20 @@ class Options extends OptionsAbstract {
61
  }
62
 
63
  parent::__construct(
64
- array(
65
  'logo_url' => wp_mail_smtp()->assets_url . '/images/providers/smtp-com.svg',
66
  'slug' => self::SLUG,
67
  'title' => esc_html__( 'SMTP.com', 'wp-mail-smtp' ),
68
  'description' => $description,
69
  'recommended' => true,
70
- )
 
 
 
 
 
 
 
71
  );
72
  }
73
 
23
  * Options constructor.
24
  *
25
  * @since 2.0.0
26
+ * @since 2.3.0 Added supports parameter.
27
  */
28
  public function __construct() {
29
 
62
  }
63
 
64
  parent::__construct(
65
+ [
66
  'logo_url' => wp_mail_smtp()->assets_url . '/images/providers/smtp-com.svg',
67
  'slug' => self::SLUG,
68
  'title' => esc_html__( 'SMTP.com', 'wp-mail-smtp' ),
69
  'description' => $description,
70
  'recommended' => true,
71
+ 'supports' => [
72
+ 'from_email' => true,
73
+ 'from_name' => true,
74
+ 'return_path' => false,
75
+ 'from_email_force' => true,
76
+ 'from_name_force' => true,
77
+ ],
78
+ ]
79
  );
80
  }
81
 
src/Providers/Sendgrid/Options.php CHANGED
@@ -1,96 +1,104 @@
1
- <?php
2
-
3
- namespace WPMailSMTP\Providers\Sendgrid;
4
-
5
- use WPMailSMTP\Providers\OptionsAbstract;
6
-
7
- /**
8
- * Class Option.
9
- *
10
- * @since 1.0.0
11
- */
12
- class Options extends OptionsAbstract {
13
-
14
- /**
15
- * Options constructor.
16
- *
17
- * @since 1.0.0
18
- */
19
- public function __construct() {
20
-
21
- parent::__construct(
22
- array(
23
- 'logo_url' => wp_mail_smtp()->assets_url . '/images/providers/sendgrid.svg',
24
- 'slug' => 'sendgrid',
25
- 'title' => esc_html__( 'SendGrid', 'wp-mail-smtp' ),
26
- 'description' => sprintf(
27
- wp_kses(
28
- /* translators: %1$s - opening link tag; %2$s - closing link tag; %3$s - opening link tag; %4$s - closing link tag. */
29
- __( '%1$sSendGrid%2$s is one of the leading transactional email services, sending over 35 billion emails every month. They provide users 100 free emails per day.<br><br>Read our %3$sSendGrid documentation%4$s to learn how to set up SendGrid and improve your email deliverability.', 'wp-mail-smtp' ),
30
- array(
31
- 'br' => array(),
32
- 'a' => array(
33
- 'href' => array(),
34
- 'rel' => array(),
35
- 'target' => array(),
36
- ),
37
- )
38
- ),
39
- '<a href="https://sendgrid.com" target="_blank" rel="noopener noreferrer">',
40
- '</a>',
41
- '<a href="https://wpmailsmtp.com/docs/how-to-set-up-the-sendgrid-mailer-in-wp-mail-smtp/" target="_blank" rel="noopener noreferrer">',
42
- '</a>'
43
- ),
44
- )
45
- );
46
- }
47
-
48
- /**
49
- * @inheritdoc
50
- */
51
- public function display_options() {
52
- ?>
53
-
54
- <!-- API Key -->
55
- <div id="wp-mail-smtp-setting-row-<?php echo esc_attr( $this->get_slug() ); ?>-api_key" class="wp-mail-smtp-setting-row wp-mail-smtp-setting-row-text wp-mail-smtp-clear">
56
- <div class="wp-mail-smtp-setting-label">
57
- <label for="wp-mail-smtp-setting-<?php echo esc_attr( $this->get_slug() ); ?>-api_key"><?php esc_html_e( 'API Key', 'wp-mail-smtp' ); ?></label>
58
- </div>
59
- <div class="wp-mail-smtp-setting-field">
60
- <?php if ( $this->options->is_const_defined( $this->get_slug(), 'api_key' ) ) : ?>
61
- <input type="text" disabled value="****************************************"
62
- id="wp-mail-smtp-setting-<?php echo esc_attr( $this->get_slug() ); ?>-api_key"
63
- />
64
- <?php $this->display_const_set_message( 'WPMS_SENDGRID_API_KEY' ); ?>
65
- <?php else : ?>
66
- <input type="password" spellcheck="false"
67
- name="wp-mail-smtp[<?php echo esc_attr( $this->get_slug() ); ?>][api_key]"
68
- value="<?php echo esc_attr( $this->options->get( $this->get_slug(), 'api_key' ) ); ?>"
69
- id="wp-mail-smtp-setting-<?php echo esc_attr( $this->get_slug() ); ?>-api_key"
70
- />
71
- <?php endif; ?>
72
- <p class="desc">
73
- <?php
74
- printf(
75
- /* translators: %s - API key link. */
76
- esc_html__( 'Follow this link to get an API Key from SendGrid: %s.', 'wp-mail-smtp' ),
77
- '<a href="https://app.sendgrid.com/settings/api_keys" target="_blank" rel="noopener noreferrer">' .
78
- esc_html__( 'Create API Key', 'wp-mail-smtp' ) .
79
- '</a>'
80
- );
81
- ?>
82
- <br/>
83
- <?php
84
- printf(
85
- /* translators: %s - SendGrid access level. */
86
- esc_html__( 'To send emails you will need only a %s access level for this API key.', 'wp-mail-smtp' ),
87
- '<code>Mail Send</code>'
88
- );
89
- ?>
90
- </p>
91
- </div>
92
- </div>
93
-
94
- <?php
95
- }
96
- }
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WPMailSMTP\Providers\Sendgrid;
4
+
5
+ use WPMailSMTP\Providers\OptionsAbstract;
6
+
7
+ /**
8
+ * Class Option.
9
+ *
10
+ * @since 1.0.0
11
+ */
12
+ class Options extends OptionsAbstract {
13
+
14
+ /**
15
+ * Options constructor.
16
+ *
17
+ * @since 1.0.0
18
+ * @since 2.3.0 Added supports parameter.
19
+ */
20
+ public function __construct() {
21
+
22
+ parent::__construct(
23
+ [
24
+ 'logo_url' => wp_mail_smtp()->assets_url . '/images/providers/sendgrid.svg',
25
+ 'slug' => 'sendgrid',
26
+ 'title' => esc_html__( 'SendGrid', 'wp-mail-smtp' ),
27
+ 'description' => sprintf(
28
+ wp_kses(
29
+ /* translators: %1$s - opening link tag; %2$s - closing link tag; %3$s - opening link tag; %4$s - closing link tag. */
30
+ __( '%1$sSendGrid%2$s is one of the leading transactional email services, sending over 35 billion emails every month. They provide users 100 free emails per day.<br><br>Read our %3$sSendGrid documentation%4$s to learn how to set up SendGrid and improve your email deliverability.', 'wp-mail-smtp' ),
31
+ [
32
+ 'br' => [],
33
+ 'a' => [
34
+ 'href' => [],
35
+ 'rel' => [],
36
+ 'target' => [],
37
+ ],
38
+ ]
39
+ ),
40
+ '<a href="https://sendgrid.com" target="_blank" rel="noopener noreferrer">',
41
+ '</a>',
42
+ '<a href="https://wpmailsmtp.com/docs/how-to-set-up-the-sendgrid-mailer-in-wp-mail-smtp/" target="_blank" rel="noopener noreferrer">',
43
+ '</a>'
44
+ ),
45
+ 'supports' => [
46
+ 'from_email' => true,
47
+ 'from_name' => true,
48
+ 'return_path' => false,
49
+ 'from_email_force' => true,
50
+ 'from_name_force' => true,
51
+ ],
52
+ ]
53
+ );
54
+ }
55
+
56
+ /**
57
+ * @inheritdoc
58
+ */
59
+ public function display_options() {
60
+ ?>
61
+
62
+ <!-- API Key -->
63
+ <div id="wp-mail-smtp-setting-row-<?php echo esc_attr( $this->get_slug() ); ?>-api_key" class="wp-mail-smtp-setting-row wp-mail-smtp-setting-row-text wp-mail-smtp-clear">
64
+ <div class="wp-mail-smtp-setting-label">
65
+ <label for="wp-mail-smtp-setting-<?php echo esc_attr( $this->get_slug() ); ?>-api_key"><?php esc_html_e( 'API Key', 'wp-mail-smtp' ); ?></label>
66
+ </div>
67
+ <div class="wp-mail-smtp-setting-field">
68
+ <?php if ( $this->options->is_const_defined( $this->get_slug(), 'api_key' ) ) : ?>
69
+ <input type="text" disabled value="****************************************"
70
+ id="wp-mail-smtp-setting-<?php echo esc_attr( $this->get_slug() ); ?>-api_key"
71
+ />
72
+ <?php $this->display_const_set_message( 'WPMS_SENDGRID_API_KEY' ); ?>
73
+ <?php else : ?>
74
+ <input type="password" spellcheck="false"
75
+ name="wp-mail-smtp[<?php echo esc_attr( $this->get_slug() ); ?>][api_key]"
76
+ value="<?php echo esc_attr( $this->options->get( $this->get_slug(), 'api_key' ) ); ?>"
77
+ id="wp-mail-smtp-setting-<?php echo esc_attr( $this->get_slug() ); ?>-api_key"
78
+ />
79
+ <?php endif; ?>
80
+ <p class="desc">
81
+ <?php
82
+ printf(
83
+ /* translators: %s - API key link. */
84
+ esc_html__( 'Follow this link to get an API Key from SendGrid: %s.', 'wp-mail-smtp' ),
85
+ '<a href="https://app.sendgrid.com/settings/api_keys" target="_blank" rel="noopener noreferrer">' .
86
+ esc_html__( 'Create API Key', 'wp-mail-smtp' ) .
87
+ '</a>'
88
+ );
89
+ ?>
90
+ <br/>
91
+ <?php
92
+ printf(
93
+ /* translators: %s - SendGrid access level. */
94
+ esc_html__( 'To send emails you will need only a %s access level for this API key.', 'wp-mail-smtp' ),
95
+ '<code>Mail Send</code>'
96
+ );
97
+ ?>
98
+ </p>
99
+ </div>
100
+ </div>
101
+
102
+ <?php
103
+ }
104
+ }
src/Providers/Sendinblue/Options.php CHANGED
@@ -23,11 +23,12 @@ class Options extends OptionsAbstract {
23
  * Options constructor.
24
  *
25
  * @since 1.6.0
 
26
  */
27
  public function __construct() {
28
 
29
  parent::__construct(
30
- array(
31
  'logo_url' => wp_mail_smtp()->assets_url . '/images/providers/sendinblue.svg',
32
  'slug' => self::SLUG,
33
  'title' => esc_html__( 'Sendinblue', 'wp-mail-smtp' ),
@@ -38,19 +39,26 @@ class Options extends OptionsAbstract {
38
  '<br><br>' .
39
  /* translators: %2$s - URL to wpmailsmtp.com doc. */
40
  __( 'Read our <a href="%2$s" target="_blank" rel="noopener noreferrer">Sendinblue documentation</a> to learn how to configure Sendinblue and improve your email deliverability.', 'wp-mail-smtp' ),
41
- array(
42
  'br' => true,
43
- 'a' => array(
44
  'href' => true,
45
  'rel' => true,
46
  'target' => true,
47
- ),
48
- )
49
  ),
50
  'https://wpmailsmtp.com/go/sendinblue/',
51
  'https://wpmailsmtp.com/docs/how-to-set-up-the-sendinblue-mailer-in-wp-mail-smtp'
52
  ),
53
- )
 
 
 
 
 
 
 
54
  );
55
  }
56
 
23
  * Options constructor.
24
  *
25
  * @since 1.6.0
26
+ * @since 2.3.0 Added supports parameter.
27
  */
28
  public function __construct() {
29
 
30
  parent::__construct(
31
+ [
32
  'logo_url' => wp_mail_smtp()->assets_url . '/images/providers/sendinblue.svg',
33
  'slug' => self::SLUG,
34
  'title' => esc_html__( 'Sendinblue', 'wp-mail-smtp' ),
39
  '<br><br>' .
40
  /* translators: %2$s - URL to wpmailsmtp.com doc. */
41
  __( 'Read our <a href="%2$s" target="_blank" rel="noopener noreferrer">Sendinblue documentation</a> to learn how to configure Sendinblue and improve your email deliverability.', 'wp-mail-smtp' ),
42
+ [
43
  'br' => true,
44
+ 'a' => [
45
  'href' => true,
46
  'rel' => true,
47
  'target' => true,
48
+ ],
49
+ ]
50
  ),
51
  'https://wpmailsmtp.com/go/sendinblue/',
52
  'https://wpmailsmtp.com/docs/how-to-set-up-the-sendinblue-mailer-in-wp-mail-smtp'
53
  ),
54
+ 'supports' => [
55
+ 'from_email' => true,
56
+ 'from_name' => true,
57
+ 'return_path' => false,
58
+ 'from_email_force' => true,
59
+ 'from_name_force' => true,
60
+ ],
61
+ ]
62
  );
63
  }
64
 
src/Providers/Zoho/Options.php ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WPMailSMTP\Providers\Zoho;
4
+
5
+ use WPMailSMTP\Providers\OptionsAbstract;
6
+
7
+ /**
8
+ * Class Options.
9
+ *
10
+ * @since 2.3.0
11
+ */
12
+ class Options extends OptionsAbstract {
13
+
14
+ /**
15
+ * Zoho Options constructor.
16
+ *
17
+ * @since 2.3.0
18
+ */
19
+ public function __construct() {
20
+
21
+ parent::__construct(
22
+ array(
23
+ 'logo_url' => wp_mail_smtp()->assets_url . '/images/providers/zoho.svg',
24
+ 'slug' => 'zoho',
25
+ 'title' => esc_html__( 'Zoho Mail', 'wp-mail-smtp' ),
26
+ 'disabled' => true,
27
+ )
28
+ );
29
+ }
30
+
31
+ /**
32
+ * {@inheritdoc}
33
+ *
34
+ * @since 2.3.0
35
+ */
36
+ public function display_options() {
37
+
38
+ ?>
39
+
40
+ <p>
41
+ <?php esc_html_e( 'We\'re sorry, the Zoho Mail mailer is not available on your plan. Please upgrade to the PRO plan to unlock all these awesome features.', 'wp-mail-smtp' ); ?>
42
+ </p>
43
+
44
+ <?php
45
+ }
46
+ }
src/SiteHealth.php CHANGED
@@ -114,6 +114,17 @@ class SiteHealth {
114
  ],
115
  ];
116
 
 
 
 
 
 
 
 
 
 
 
 
117
  return $debug_info;
118
  }
119
 
@@ -125,12 +136,19 @@ class SiteHealth {
125
  public function mailer_setup_complete_test() {
126
 
127
  $mailer = Options::init()->get( 'mail', 'mailer' );
128
- $mailer_complete = wp_mail_smtp()
129
- ->get_providers()
130
- ->get_mailer(
131
- $mailer,
132
- wp_mail_smtp()->get_processor()->get_phpmailer()
133
- )->is_mailer_complete();
 
 
 
 
 
 
 
134
 
135
  // The default mailer should be considered as a non-complete mailer.
136
  if ( $mailer === 'mail' ) {
@@ -140,7 +158,7 @@ class SiteHealth {
140
  $mailer_text = sprintf(
141
  '%s: <strong>%s</strong>',
142
  esc_html__( 'Current mailer', 'wp-mail-smtp' ),
143
- esc_html( wp_mail_smtp()->get_providers()->get_options( $mailer )->get_title() )
144
  );
145
 
146
  $result = array(
@@ -250,7 +268,9 @@ class SiteHealth {
250
  $existing_tables = [];
251
 
252
  foreach ( $tables as $table ) {
253
- if ( $wpdb->get_var( $wpdb->prepare( 'SHOW TABLES LIKE %s', $table ) ) !== $table ) { // phpcs:ignore
 
 
254
  $missing_tables[] = $table;
255
  } else {
256
  $existing_tables[] = $table;
114
  ],
115
  ];
116
 
117
+ // Install date.
118
+ $activated = get_option( 'wp_mail_smtp_activated', [] );
119
+ if ( ! empty( $activated['lite'] ) ) {
120
+ $date = $activated['lite'] + ( get_option( 'gmt_offset' ) * 3600 );
121
+
122
+ $debug_info[ self::DEBUG_INFO_SLUG ]['fields']['lite_install_date'] = [
123
+ 'label' => esc_html__( 'Lite install date', 'wp-mail-smtp' ),
124
+ 'value' => date_i18n( esc_html__( 'M j, Y @ g:ia' ), $date ),
125
+ ];
126
+ }
127
+
128
  return $debug_info;
129
  }
130
 
136
  public function mailer_setup_complete_test() {
137
 
138
  $mailer = Options::init()->get( 'mail', 'mailer' );
139
+ $mailer_complete = false;
140
+ $mailer_title = esc_html__( 'None selected', 'wp-mail-smtp' );
141
+
142
+ if ( ! empty( $mailer ) ) {
143
+ $mailer_complete = wp_mail_smtp()
144
+ ->get_providers()
145
+ ->get_mailer(
146
+ $mailer,
147
+ wp_mail_smtp()->get_processor()->get_phpmailer()
148
+ )->is_mailer_complete();
149
+
150
+ $mailer_title = wp_mail_smtp()->get_providers()->get_options( $mailer )->get_title();
151
+ }
152
 
153
  // The default mailer should be considered as a non-complete mailer.
154
  if ( $mailer === 'mail' ) {
158
  $mailer_text = sprintf(
159
  '%s: <strong>%s</strong>',
160
  esc_html__( 'Current mailer', 'wp-mail-smtp' ),
161
+ esc_html( $mailer_title )
162
  );
163
 
164
  $result = array(
268
  $existing_tables = [];
269
 
270
  foreach ( $tables as $table ) {
271
+ $db_result = $wpdb->get_var( $wpdb->prepare( 'SHOW TABLES LIKE %s', $table ) ); // phpcs:ignore
272
+
273
+ if ( strtolower( $db_result ) !== strtolower( $table ) ) {
274
  $missing_tables[] = $table;
275
  } else {
276
  $existing_tables[] = $table;
src/Tasks/Meta.php CHANGED
@@ -385,7 +385,9 @@ class Meta {
385
  }
386
 
387
  // phpcs:ignore WordPress.DB.DirectDatabaseQuery.NoCaching
388
- return $wpdb->get_var( $wpdb->prepare( 'SHOW TABLES LIKE %s', $table ) ) === $table;
 
 
389
  }
390
 
391
  /**
385
  }
386
 
387
  // phpcs:ignore WordPress.DB.DirectDatabaseQuery.NoCaching
388
+ $db_result = $wpdb->get_var( $wpdb->prepare( 'SHOW TABLES LIKE %s', $table ) );
389
+
390
+ return strtolower( $db_result ) === strtolower( $table );
391
  }
392
 
393
  /**
src/Tasks/Task.php CHANGED
@@ -203,18 +203,23 @@ class Task {
203
  return $action_id;
204
  }
205
 
206
- switch ( $this->type ) {
207
- case self::TYPE_ASYNC:
208
- $action_id = $this->register_async();
209
- break;
210
-
211
- case self::TYPE_RECURRING:
212
- $action_id = $this->register_recurring();
213
- break;
214
-
215
- case self::TYPE_ONCE:
216
- $action_id = $this->register_once();
217
- break;
 
 
 
 
 
218
  }
219
 
220
  return $action_id;
203
  return $action_id;
204
  }
205
 
206
+ // Prevent 500 errors when Action Scheduler tables don't exist.
207
+ try {
208
+ switch ( $this->type ) {
209
+ case self::TYPE_ASYNC:
210
+ $action_id = $this->register_async();
211
+ break;
212
+
213
+ case self::TYPE_RECURRING:
214
+ $action_id = $this->register_recurring();
215
+ break;
216
+
217
+ case self::TYPE_ONCE:
218
+ $action_id = $this->register_once();
219
+ break;
220
+ }
221
+ } catch ( \RuntimeException $exception ) {
222
+ $action_id = null;
223
  }
224
 
225
  return $action_id;
src/Tasks/Tasks.php CHANGED
@@ -23,6 +23,14 @@ class Tasks {
23
  */
24
  public function init() {
25
 
 
 
 
 
 
 
 
 
26
  // Register tasks.
27
  foreach ( $this->get_tasks() as $task ) {
28
  if ( ! is_subclass_of( $task, '\WPMailSMTP\Tasks\Task' ) ) {
@@ -36,8 +44,6 @@ class Tasks {
36
  $new_task->init();
37
  }
38
  }
39
-
40
- add_action( 'admin_menu', array( $this, 'admin_hide_as_menu' ), PHP_INT_MAX );
41
  }
42
 
43
  /**
23
  */
24
  public function init() {
25
 
26
+ // Hide the Action Scheduler admin menu item.
27
+ add_action( 'admin_menu', array( $this, 'admin_hide_as_menu' ), PHP_INT_MAX );
28
+
29
+ // Skip tasks registration if Action Scheduler is not usable yet.
30
+ if ( ! $this->is_usable() ) {
31
+ return;
32
+ }
33
+
34
  // Register tasks.
35
  foreach ( $this->get_tasks() as $task ) {
36
  if ( ! is_subclass_of( $task, '\WPMailSMTP\Tasks\Task' ) ) {
44
  $new_task->init();
45
  }
46
  }
 
 
47
  }
48
 
49
  /**
src/UsageTracking/SendUsageTask.php ADDED
@@ -0,0 +1,105 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WPMailSMTP\UsageTracking;
4
+
5
+ use WPMailSMTP\Tasks\Task;
6
+
7
+ /**
8
+ * Class SendUsageTask.
9
+ *
10
+ * @since 2.3.0
11
+ */
12
+ class SendUsageTask extends Task {
13
+
14
+ /**
15
+ * Action name for this task.
16
+ *
17
+ * @since 2.3.0
18
+ */
19
+ const ACTION = 'wp_mail_smtp_send_usage_data';
20
+
21
+ /**
22
+ * Server URL to send requests to.
23
+ *
24
+ * @since 2.3.0
25
+ *
26
+ * @var string
27
+ */
28
+ const TRACK_URL = 'https://usage.wpmailsmtp.com/v1/smtptrack';
29
+
30
+ /**
31
+ * Class constructor.
32
+ *
33
+ * @since 2.3.0
34
+ */
35
+ public function __construct() {
36
+
37
+ parent::__construct( self::ACTION );
38
+ }
39
+
40
+ /**
41
+ * Initialize the task with all the proper checks.
42
+ *
43
+ * @since 2.3.0
44
+ */
45
+ public function init() {
46
+
47
+ // Register the action handler.
48
+ add_action( self::ACTION, [ $this, 'process' ] );
49
+
50
+ if ( ! function_exists( 'as_next_scheduled_action' ) ) {
51
+ return;
52
+ }
53
+
54
+ // Add new if none exists.
55
+ if ( as_next_scheduled_action( self::ACTION ) !== false ) {
56
+ return;
57
+ }
58
+
59
+ $this->recurring( $this->generate_start_date(), WEEK_IN_SECONDS )
60
+ ->register();
61
+ }
62
+
63
+ /**
64
+ * Randomly pick a timestamp
65
+ * which is not more than 1 week in the future
66
+ * starting from next sunday.
67
+ *
68
+ * @since 2.3.0
69
+ *
70
+ * @return int
71
+ */
72
+ private function generate_start_date() {
73
+
74
+ $tracking = [];
75
+ $tracking['days'] = wp_rand( 0, 6 ) * DAY_IN_SECONDS;
76
+ $tracking['hours'] = wp_rand( 0, 23 ) * HOUR_IN_SECONDS;
77
+ $tracking['minutes'] = wp_rand( 0, 59 ) * MINUTE_IN_SECONDS;
78
+ $tracking['seconds'] = wp_rand( 0, 59 );
79
+
80
+ return strtotime( 'next sunday' ) + array_sum( $tracking );
81
+ }
82
+
83
+ /**
84
+ * Send the actual data in a POST request.
85
+ * This will be executed in a separate process via Action Scheduler.
86
+ *
87
+ * @since 2.3.0
88
+ */
89
+ public function process() {
90
+
91
+ $ut = new UsageTracking();
92
+
93
+ wp_remote_post(
94
+ self::TRACK_URL,
95
+ [
96
+ 'timeout' => 5,
97
+ 'redirection' => 5,
98
+ 'httpversion' => '1.1',
99
+ 'blocking' => true,
100
+ 'body' => $ut->get_data(),
101
+ 'user-agent' => $ut->get_user_agent(),
102
+ ]
103
+ );
104
+ }
105
+ }
src/UsageTracking/UsageTracking.php ADDED
@@ -0,0 +1,250 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WPMailSMTP\UsageTracking;
4
+
5
+ use WPMailSMTP\Conflicts;
6
+ use WPMailSMTP\Options;
7
+ use WPMailSMTP\WP;
8
+
9
+ /**
10
+ * Usage Tracker functionality to understand what's going on on client's sites.
11
+ *
12
+ * @since 2.3.0
13
+ */
14
+ class UsageTracking {
15
+
16
+ /**
17
+ * The slug that will be used to save the option of Usage Tracker.
18
+ *
19
+ * @since 2.3.0
20
+ */
21
+ const SETTINGS_SLUG = 'usage-tracking-enabled';
22
+
23
+ /**
24
+ * Whether Usage Tracking is enabled.
25
+ * Needs to check with a fresh copy of options in order to provide accurate results.
26
+ *
27
+ * @since 2.3.0
28
+ *
29
+ * @return bool
30
+ */
31
+ public function is_enabled() {
32
+
33
+ return (bool) apply_filters(
34
+ 'wp_mail_smtp_usage_tracking_is_enabled',
35
+ ( new Options() )->get( 'general', self::SETTINGS_SLUG )
36
+ );
37
+ }
38
+
39
+ /**
40
+ * Load usage tracking functionality.
41
+ *
42
+ * @since 2.3.0
43
+ */
44
+ public function load() {
45
+
46
+ // Check if loading the usage tracking functionality is allowed.
47
+ if ( ! (bool) apply_filters( 'wp_mail_smtp_usage_tracking_load_allowed', true ) ) {
48
+ return;
49
+ }
50
+
51
+ // Deregister the action if option is disabled.
52
+ add_action(
53
+ 'wp_mail_smtp_options_set_after',
54
+ function () {
55
+
56
+ if ( ! $this->is_enabled() ) {
57
+ ( new SendUsageTask() )->cancel();
58
+ }
59
+ }
60
+ );
61
+
62
+ // Register the action handler only if enabled.
63
+ if ( $this->is_enabled() ) {
64
+ add_filter(
65
+ 'wp_mail_smtp_tasks_get_tasks',
66
+ static function ( $tasks ) {
67
+ $tasks[] = SendUsageTask::class;
68
+
69
+ return $tasks;
70
+ }
71
+ );
72
+ }
73
+ }
74
+
75
+ /**
76
+ * Get the User Agent string that will be sent to the API.
77
+ *
78
+ * @since 2.3.0
79
+ *
80
+ * @return string
81
+ */
82
+ public function get_user_agent() {
83
+
84
+ return 'WPMailSMTP/' . WPMS_PLUGIN_VER . '; ' . get_bloginfo( 'url' );
85
+ }
86
+
87
+ /**
88
+ * Get data for sending to the server.
89
+ *
90
+ * @since 2.3.0
91
+ *
92
+ * @return array
93
+ */
94
+ public function get_data() {
95
+
96
+ global $wpdb;
97
+
98
+ $theme_data = wp_get_theme();
99
+ $activated_dates = get_option( 'wp_mail_smtp_activated', [] );
100
+ $options = Options::init();
101
+ $mailer = wp_mail_smtp()->get_providers()->get_mailer(
102
+ $options->get( 'mail', 'mailer' ),
103
+ wp_mail_smtp()->get_processor()->get_phpmailer()
104
+ );
105
+
106
+ $data = [
107
+ // Generic data (environment).
108
+ 'url' => home_url(),
109
+ 'php_version' => PHP_MAJOR_VERSION . '.' . PHP_MINOR_VERSION,
110
+ 'wp_version' => get_bloginfo( 'version' ),
111
+ 'mysql_version' => $wpdb->db_version(),
112
+ 'server_version' => isset( $_SERVER['SERVER_SOFTWARE'] ) ? sanitize_text_field( wp_unslash( $_SERVER['SERVER_SOFTWARE'] ) ) : '',
113
+ 'is_ssl' => is_ssl(),
114
+ 'is_multisite' => is_multisite(),
115
+ 'sites_count' => $this->get_sites_total(),
116
+ 'active_plugins' => $this->get_active_plugins(),
117
+ 'theme_name' => $theme_data->name,
118
+ 'theme_version' => $theme_data->version,
119
+ 'locale' => get_locale(),
120
+ 'timezone_offset' => $this->get_timezone_offset(),
121
+ // WP Mail SMTP - specific data.
122
+ 'wp_mail_smtp_version' => WPMS_PLUGIN_VER,
123
+ 'wp_mail_smtp_license_key' => wp_mail_smtp()->get_license_key(),
124
+ 'wp_mail_smtp_license_type' => wp_mail_smtp()->get_license_type(),
125
+ 'wp_mail_smtp_is_pro' => wp_mail_smtp()->is_pro(),
126
+ 'wp_mail_smtp_activated' => get_option( 'wp_mail_smtp_activated_time', 0 ),
127
+ 'wp_mail_smtp_lite_installed_date' => $this->get_installed( $activated_dates, 'lite' ),
128
+ 'wp_mail_smtp_pro_installed_date' => $this->get_installed( $activated_dates, 'pro' ),
129
+ 'wp_mail_smtp_mailer' => $options->get( 'mail', 'mailer' ),
130
+ 'wp_mail_smtp_from_email_force' => (bool) $options->get( 'mail', 'from_email_force' ),
131
+ 'wp_mail_smtp_from_name_force' => (bool) $options->get( 'mail', 'from_name_force' ),
132
+ 'wp_mail_smtp_return_path' => (bool) $options->get( 'mail', 'return_path' ),
133
+ 'wp_mail_smtp_do_not_send' => (bool) $options->get( 'general', 'do_not_send' ),
134
+ 'wp_mail_smtp_is_white_labeled' => wp_mail_smtp()->is_white_labeled(),
135
+ 'wp_mail_smtp_is_const_enabled' => (bool) $options->is_const_enabled(),
136
+ 'wp_mail_smtp_conflicts_is_detected' => ( new Conflicts() )->is_detected(),
137
+ 'wp_mail_smtp_is_mailer_complete' => empty( $mailer ) ? false : $mailer->is_mailer_complete(),
138
+ ];
139
+
140
+ if ( 'smtp' === $options->get( 'mail', 'mailer' ) ) {
141
+ $data['wp_mail_smtp_other_smtp_host'] = $options->get( 'smtp', 'host' );
142
+ $data['wp_mail_smtp_other_smtp_encryption'] = $options->get( 'smtp', 'encryption' );
143
+ $data['wp_mail_smtp_other_smtp_port'] = $options->get( 'smtp', 'port' );
144
+ $data['wp_mail_smtp_other_smtp_auth'] = (bool) $options->get( 'smtp', 'auth' );
145
+ $data['wp_mail_smtp_other_smtp_autotls'] = (bool) $options->get( 'smtp', 'autotls' );
146
+ }
147
+
148
+ if ( is_multisite() ) {
149
+ $data['wp_mail_smtp_multisite_network_wide'] = WP::use_global_plugin_settings();
150
+ }
151
+
152
+ return apply_filters( 'wp_mail_smtp_usage_tracking_get_data', $data );
153
+ }
154
+
155
+ /**
156
+ * Get timezone offset.
157
+ * We use `wp_timezone_string()` when it's available (WP 5.3+),
158
+ * otherwise fallback to the same code, copy-pasted.
159
+ *
160
+ * @since 2.3.0
161
+ *
162
+ * @return string
163
+ */
164
+ private function get_timezone_offset() {
165
+
166
+ // It was added in WordPress 5.3.
167
+ if ( function_exists( 'wp_timezone_string' ) ) {
168
+ return wp_timezone_string();
169
+ }
170
+
171
+ /*
172
+ * The code below is basically a copy-paste from that function.
173
+ */
174
+
175
+ $timezone_string = get_option( 'timezone_string' );
176
+
177
+ if ( $timezone_string ) {
178
+ return $timezone_string;
179
+ }
180
+
181
+ $offset = (float) get_option( 'gmt_offset' );
182
+ $hours = (int) $offset;
183
+ $minutes = ( $offset - $hours );
184
+
185
+ $sign = ( $offset < 0 ) ? '-' : '+';
186
+ $abs_hour = abs( $hours );
187
+ $abs_mins = abs( $minutes * 60 );
188
+
189
+ return sprintf( '%s%02d:%02d', $sign, $abs_hour, $abs_mins );
190
+ }
191
+
192
+ /**
193
+ * Get the list of active plugins.
194
+ *
195
+ * @since 2.3.0
196
+ *
197
+ * @return array
198
+ */
199
+ private function get_active_plugins() {
200
+
201
+ if ( ! function_exists( 'get_plugins' ) ) {
202
+ include ABSPATH . '/wp-admin/includes/plugin.php';
203
+ }
204
+
205
+ $active_plugins = [];
206
+
207
+ foreach ( get_mu_plugins() as $path => $plugin ) {
208
+ $active_plugins[ $path ] = isset( $plugin['Version'] ) ? $plugin['Version'] : 'Not Set';
209
+ }
210
+
211
+ foreach ( get_plugins() as $path => $plugin ) {
212
+ if ( is_plugin_active( $path ) ) {
213
+ $active_plugins[ $path ] = isset( $plugin['Version'] ) ? $plugin['Version'] : 'Not Set';
214
+ }
215
+ }
216
+
217
+ return $active_plugins;
218
+ }
219
+
220
+ /**
221
+ * Installed date.
222
+ *
223
+ * @since 2.3.0
224
+ *
225
+ * @param array $activated_dates Input array with dates.
226
+ * @param string $key Input key what you want to get.
227
+ *
228
+ * @return mixed
229
+ */
230
+ private function get_installed( $activated_dates, $key ) {
231
+
232
+ if ( ! empty( $activated_dates[ $key ] ) ) {
233
+ return $activated_dates[ $key ];
234
+ }
235
+
236
+ return false;
237
+ }
238
+
239
+ /**
240
+ * Total number of sites.
241
+ *
242
+ * @since 2.3.0
243
+ *
244
+ * @return int
245
+ */
246
+ private function get_sites_total() {
247
+
248
+ return function_exists( 'get_blog_count' ) ? (int) get_blog_count() : 1;
249
+ }
250
+ }
src/WP.php CHANGED
@@ -247,12 +247,17 @@ class WP {
247
  * @see https://github.com/WordPress/WordPress/blob/master/wp-includes/pluggable.php#L332
248
  *
249
  * @since 2.2.0
 
250
  *
251
  * @return string
252
  */
253
  public static function get_default_email() {
254
 
255
- $sitename = strtolower( $_SERVER['SERVER_NAME'] ); // phpcs:ignore
 
 
 
 
256
 
257
  if ( 'www.' === substr( $sitename, 0, 4 ) ) {
258
  $sitename = substr( $sitename, 4 );
247
  * @see https://github.com/WordPress/WordPress/blob/master/wp-includes/pluggable.php#L332
248
  *
249
  * @since 2.2.0
250
+ * @since 2.3.0 In WP 5.5 the core code changed and is now using `network_home_url`.
251
  *
252
  * @return string
253
  */
254
  public static function get_default_email() {
255
 
256
+ if ( version_compare( get_bloginfo( 'version' ), '5.5-alpha', '<' ) ) {
257
+ $sitename = strtolower( $_SERVER['SERVER_NAME'] ); // phpcs:ignore
258
+ } else {
259
+ $sitename = wp_parse_url( network_home_url(), PHP_URL_HOST );
260
+ }
261
 
262
  if ( 'www.' === substr( $sitename, 0, 4 ) ) {
263
  $sitename = substr( $sitename, 4 );
uninstall.php CHANGED
@@ -47,6 +47,13 @@ $am_announcement_params = [
47
  'fields' => 'ids',
48
  ];
49
 
 
 
 
 
 
 
 
50
  // WP MS uninstall process.
51
  if ( is_multisite() ) {
52
  $main_site_settings = get_blog_option( get_main_site_id(), 'wp_mail_smtp', [] );
47
  'fields' => 'ids',
48
  ];
49
 
50
+ /**
51
+ * Disable Action Schedule Queue Runner, to prevent a fatal error on the shutdown WP hook.
52
+ */
53
+ if ( class_exists( 'ActionScheduler_QueueRunner' ) ) {
54
+ ActionScheduler_QueueRunner::instance()->unhook_dispatch_async_request();
55
+ }
56
+
57
  // WP MS uninstall process.
58
  if ( is_multisite() ) {
59
  $main_site_settings = get_blog_option( get_main_site_id(), 'wp_mail_smtp', [] );
vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
- return ComposerAutoloaderInit72f613a3d0c2cc77892490951b6e5352::getLoader();
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInitecc5aee58cbc7fae6cdc39ef5e9f1f73::getLoader();
vendor/composer/autoload_psr4.php CHANGED
@@ -7,6 +7,7 @@ $baseDir = dirname($vendorDir);
7
 
8
  return array(
9
  'phpseclib\\' => array($vendorDir . '/phpseclib/phpseclib/phpseclib'),
 
10
  'WPMailSMTP\\' => array($baseDir . '/src'),
11
  'Symfony\\Polyfill\\Php72\\' => array($vendorDir . '/symfony/polyfill-php72'),
12
  'Symfony\\Polyfill\\Mbstring\\' => array($vendorDir . '/symfony/polyfill-mbstring'),
7
 
8
  return array(
9
  'phpseclib\\' => array($vendorDir . '/phpseclib/phpseclib/phpseclib'),
10
+ 'Wikimedia\\Composer\\' => array($vendorDir . '/wikimedia/composer-merge-plugin/src'),
11
  'WPMailSMTP\\' => array($baseDir . '/src'),
12
  'Symfony\\Polyfill\\Php72\\' => array($vendorDir . '/symfony/polyfill-php72'),
13
  'Symfony\\Polyfill\\Mbstring\\' => array($vendorDir . '/symfony/polyfill-mbstring'),
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInit72f613a3d0c2cc77892490951b6e5352
6
  {
7
  private static $loader;
8
 
@@ -22,15 +22,15 @@ class ComposerAutoloaderInit72f613a3d0c2cc77892490951b6e5352
22
  return self::$loader;
23
  }
24
 
25
- spl_autoload_register(array('ComposerAutoloaderInit72f613a3d0c2cc77892490951b6e5352', 'loadClassLoader'), true, true);
26
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
27
- spl_autoload_unregister(array('ComposerAutoloaderInit72f613a3d0c2cc77892490951b6e5352', 'loadClassLoader'));
28
 
29
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
30
  if ($useStaticLoader) {
31
  require_once __DIR__ . '/autoload_static.php';
32
 
33
- call_user_func(\Composer\Autoload\ComposerStaticInit72f613a3d0c2cc77892490951b6e5352::getInitializer($loader));
34
  } else {
35
  $map = require __DIR__ . '/autoload_namespaces.php';
36
  foreach ($map as $namespace => $path) {
@@ -51,19 +51,19 @@ class ComposerAutoloaderInit72f613a3d0c2cc77892490951b6e5352
51
  $loader->register(true);
52
 
53
  if ($useStaticLoader) {
54
- $includeFiles = Composer\Autoload\ComposerStaticInit72f613a3d0c2cc77892490951b6e5352::$files;
55
  } else {
56
  $includeFiles = require __DIR__ . '/autoload_files.php';
57
  }
58
  foreach ($includeFiles as $fileIdentifier => $file) {
59
- composerRequire72f613a3d0c2cc77892490951b6e5352($fileIdentifier, $file);
60
  }
61
 
62
  return $loader;
63
  }
64
  }
65
 
66
- function composerRequire72f613a3d0c2cc77892490951b6e5352($fileIdentifier, $file)
67
  {
68
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
69
  require $file;
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInitecc5aee58cbc7fae6cdc39ef5e9f1f73
6
  {
7
  private static $loader;
8
 
22
  return self::$loader;
23
  }
24
 
25
+ spl_autoload_register(array('ComposerAutoloaderInitecc5aee58cbc7fae6cdc39ef5e9f1f73', 'loadClassLoader'), true, true);
26
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
27
+ spl_autoload_unregister(array('ComposerAutoloaderInitecc5aee58cbc7fae6cdc39ef5e9f1f73', 'loadClassLoader'));
28
 
29
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
30
  if ($useStaticLoader) {
31
  require_once __DIR__ . '/autoload_static.php';
32
 
33
+ call_user_func(\Composer\Autoload\ComposerStaticInitecc5aee58cbc7fae6cdc39ef5e9f1f73::getInitializer($loader));
34
  } else {
35
  $map = require __DIR__ . '/autoload_namespaces.php';
36
  foreach ($map as $namespace => $path) {
51
  $loader->register(true);
52
 
53
  if ($useStaticLoader) {
54
+ $includeFiles = Composer\Autoload\ComposerStaticInitecc5aee58cbc7fae6cdc39ef5e9f1f73::$files;
55
  } else {
56
  $includeFiles = require __DIR__ . '/autoload_files.php';
57
  }
58
  foreach ($includeFiles as $fileIdentifier => $file) {
59
+ composerRequireecc5aee58cbc7fae6cdc39ef5e9f1f73($fileIdentifier, $file);
60
  }
61
 
62
  return $loader;
63
  }
64
  }
65
 
66
+ function composerRequireecc5aee58cbc7fae6cdc39ef5e9f1f73($fileIdentifier, $file)
67
  {
68
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
69
  require $file;
vendor/composer/autoload_static.php CHANGED
@@ -4,7 +4,7 @@
4
 
5
  namespace Composer\Autoload;
6
 
7
- class ComposerStaticInit72f613a3d0c2cc77892490951b6e5352
8
  {
9
  public static $files = array (
10
  '7b11c4dc42b3b3023073cb14e519683c' => __DIR__ . '/..' . '/ralouphie/getallheaders/src/getallheaders.php',
@@ -24,6 +24,7 @@ class ComposerStaticInit72f613a3d0c2cc77892490951b6e5352
24
  ),
25
  'W' =>
26
  array (
 
27
  'WPMailSMTP\\' => 11,
28
  ),
29
  'S' =>
@@ -65,6 +66,10 @@ class ComposerStaticInit72f613a3d0c2cc77892490951b6e5352
65
  array (
66
  0 => __DIR__ . '/..' . '/phpseclib/phpseclib/phpseclib',
67
  ),
 
 
 
 
68
  'WPMailSMTP\\' =>
69
  array (
70
  0 => __DIR__ . '/../..' . '/src',
@@ -149,10 +154,10 @@ class ComposerStaticInit72f613a3d0c2cc77892490951b6e5352
149
  public static function getInitializer(ClassLoader $loader)
150
  {
151
  return \Closure::bind(function () use ($loader) {
152
- $loader->prefixLengthsPsr4 = ComposerStaticInit72f613a3d0c2cc77892490951b6e5352::$prefixLengthsPsr4;
153
- $loader->prefixDirsPsr4 = ComposerStaticInit72f613a3d0c2cc77892490951b6e5352::$prefixDirsPsr4;
154
- $loader->prefixesPsr0 = ComposerStaticInit72f613a3d0c2cc77892490951b6e5352::$prefixesPsr0;
155
- $loader->classMap = ComposerStaticInit72f613a3d0c2cc77892490951b6e5352::$classMap;
156
 
157
  }, null, ClassLoader::class);
158
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInitecc5aee58cbc7fae6cdc39ef5e9f1f73
8
  {
9
  public static $files = array (
10
  '7b11c4dc42b3b3023073cb14e519683c' => __DIR__ . '/..' . '/ralouphie/getallheaders/src/getallheaders.php',
24
  ),
25
  'W' =>
26
  array (
27
+ 'Wikimedia\\Composer\\' => 19,
28
  'WPMailSMTP\\' => 11,
29
  ),
30
  'S' =>
66
  array (
67
  0 => __DIR__ . '/..' . '/phpseclib/phpseclib/phpseclib',
68
  ),
69
+ 'Wikimedia\\Composer\\' =>
70
+ array (
71
+ 0 => __DIR__ . '/..' . '/wikimedia/composer-merge-plugin/src',
72
+ ),
73
  'WPMailSMTP\\' =>
74
  array (
75
  0 => __DIR__ . '/../..' . '/src',
154
  public static function getInitializer(ClassLoader $loader)
155
  {
156
  return \Closure::bind(function () use ($loader) {
157
+ $loader->prefixLengthsPsr4 = ComposerStaticInitecc5aee58cbc7fae6cdc39ef5e9f1f73::$prefixLengthsPsr4;
158
+ $loader->prefixDirsPsr4 = ComposerStaticInitecc5aee58cbc7fae6cdc39ef5e9f1f73::$prefixDirsPsr4;
159
+ $loader->prefixesPsr0 = ComposerStaticInitecc5aee58cbc7fae6cdc39ef5e9f1f73::$prefixesPsr0;
160
+ $loader->classMap = ComposerStaticInitecc5aee58cbc7fae6cdc39ef5e9f1f73::$classMap;
161
 
162
  }, null, ClassLoader::class);
163
  }
vendor/google/apiclient-services/src/Google/Service/Gmail.php CHANGED
@@ -19,7 +19,8 @@
19
  * Service definition for Gmail (v1).
20
  *
21
  * <p>
22
- * Access Gmail mailboxes including sending user email.</p>
 
23
  *
24
  * <p>
25
  * For more information about this service, see the API
@@ -97,7 +98,7 @@ class Google_Service_Gmail extends Google_Service
97
  {
98
  parent::__construct($client);
99
  $this->rootUrl = $rootUrl ?: 'https://www.googleapis.com/';
100
- $this->servicePath = 'gmail/v1/users/';
101
  $this->batchPath = 'batch/gmail/v1';
102
  $this->version = 'v1';
103
  $this->serviceName = 'gmail';
@@ -109,7 +110,7 @@ class Google_Service_Gmail extends Google_Service
109
  array(
110
  'methods' => array(
111
  'getProfile' => array(
112
- 'path' => '{userId}/profile',
113
  'httpMethod' => 'GET',
114
  'parameters' => array(
115
  'userId' => array(
@@ -119,7 +120,7 @@ class Google_Service_Gmail extends Google_Service
119
  ),
120
  ),
121
  ),'stop' => array(
122
- 'path' => '{userId}/stop',
123
  'httpMethod' => 'POST',
124
  'parameters' => array(
125
  'userId' => array(
@@ -129,7 +130,7 @@ class Google_Service_Gmail extends Google_Service
129
  ),
130
  ),
131
  ),'watch' => array(
132
- 'path' => '{userId}/watch',
133
  'httpMethod' => 'POST',
134
  'parameters' => array(
135
  'userId' => array(
@@ -149,7 +150,7 @@ class Google_Service_Gmail extends Google_Service
149
  array(
150
  'methods' => array(
151
  'create' => array(
152
- 'path' => '{userId}/drafts',
153
  'httpMethod' => 'POST',
154
  'parameters' => array(
155
  'userId' => array(
@@ -159,7 +160,7 @@ class Google_Service_Gmail extends Google_Service
159
  ),
160
  ),
161
  ),'delete' => array(
162
- 'path' => '{userId}/drafts/{id}',
163
  'httpMethod' => 'DELETE',
164
  'parameters' => array(
165
  'userId' => array(
@@ -174,7 +175,7 @@ class Google_Service_Gmail extends Google_Service
174
  ),
175
  ),
176
  ),'get' => array(
177
- 'path' => '{userId}/drafts/{id}',
178
  'httpMethod' => 'GET',
179
  'parameters' => array(
180
  'userId' => array(
@@ -193,7 +194,7 @@ class Google_Service_Gmail extends Google_Service
193
  ),
194
  ),
195
  ),'list' => array(
196
- 'path' => '{userId}/drafts',
197
  'httpMethod' => 'GET',
198
  'parameters' => array(
199
  'userId' => array(
@@ -201,25 +202,25 @@ class Google_Service_Gmail extends Google_Service
201
  'type' => 'string',
202
  'required' => true,
203
  ),
204
- 'includeSpamTrash' => array(
205
  'location' => 'query',
206
- 'type' => 'boolean',
207
  ),
208
  'maxResults' => array(
209
  'location' => 'query',
210
  'type' => 'integer',
211
  ),
212
- 'pageToken' => array(
213
  'location' => 'query',
214
  'type' => 'string',
215
  ),
216
- 'q' => array(
217
  'location' => 'query',
218
- 'type' => 'string',
219
  ),
220
  ),
221
  ),'send' => array(
222
- 'path' => '{userId}/drafts/send',
223
  'httpMethod' => 'POST',
224
  'parameters' => array(
225
  'userId' => array(
@@ -229,7 +230,7 @@ class Google_Service_Gmail extends Google_Service
229
  ),
230
  ),
231
  ),'update' => array(
232
- 'path' => '{userId}/drafts/{id}',
233
  'httpMethod' => 'PUT',
234
  'parameters' => array(
235
  'userId' => array(
@@ -254,7 +255,7 @@ class Google_Service_Gmail extends Google_Service
254
  array(
255
  'methods' => array(
256
  'list' => array(
257
- 'path' => '{userId}/history',
258
  'httpMethod' => 'GET',
259
  'parameters' => array(
260
  'userId' => array(
@@ -267,21 +268,21 @@ class Google_Service_Gmail extends Google_Service
267
  'type' => 'string',
268
  'repeated' => true,
269
  ),
270
- 'labelId' => array(
271
  'location' => 'query',
272
  'type' => 'string',
273
  ),
274
- 'maxResults' => array(
275
  'location' => 'query',
276
- 'type' => 'integer',
277
  ),
278
  'pageToken' => array(
279
  'location' => 'query',
280
  'type' => 'string',
281
  ),
282
- 'startHistoryId' => array(
283
  'location' => 'query',
284
- 'type' => 'string',
285
  ),
286
  ),
287
  ),
@@ -295,7 +296,7 @@ class Google_Service_Gmail extends Google_Service
295
  array(
296
  'methods' => array(
297
  'create' => array(
298
- 'path' => '{userId}/labels',
299
  'httpMethod' => 'POST',
300
  'parameters' => array(
301
  'userId' => array(
@@ -305,7 +306,7 @@ class Google_Service_Gmail extends Google_Service
305
  ),
306
  ),
307
  ),'delete' => array(
308
- 'path' => '{userId}/labels/{id}',
309
  'httpMethod' => 'DELETE',
310
  'parameters' => array(
311
  'userId' => array(
@@ -320,7 +321,7 @@ class Google_Service_Gmail extends Google_Service
320
  ),
321
  ),
322
  ),'get' => array(
323
- 'path' => '{userId}/labels/{id}',
324
  'httpMethod' => 'GET',
325
  'parameters' => array(
326
  'userId' => array(
@@ -335,7 +336,7 @@ class Google_Service_Gmail extends Google_Service
335
  ),
336
  ),
337
  ),'list' => array(
338
- 'path' => '{userId}/labels',
339
  'httpMethod' => 'GET',
340
  'parameters' => array(
341
  'userId' => array(
@@ -345,7 +346,7 @@ class Google_Service_Gmail extends Google_Service
345
  ),
346
  ),
347
  ),'patch' => array(
348
- 'path' => '{userId}/labels/{id}',
349
  'httpMethod' => 'PATCH',
350
  'parameters' => array(
351
  'userId' => array(
@@ -360,7 +361,7 @@ class Google_Service_Gmail extends Google_Service
360
  ),
361
  ),
362
  ),'update' => array(
363
- 'path' => '{userId}/labels/{id}',
364
  'httpMethod' => 'PUT',
365
  'parameters' => array(
366
  'userId' => array(
@@ -385,7 +386,7 @@ class Google_Service_Gmail extends Google_Service
385
  array(
386
  'methods' => array(
387
  'batchDelete' => array(
388
- 'path' => '{userId}/messages/batchDelete',
389
  'httpMethod' => 'POST',
390
  'parameters' => array(
391
  'userId' => array(
@@ -395,7 +396,7 @@ class Google_Service_Gmail extends Google_Service
395
  ),
396
  ),
397
  ),'batchModify' => array(
398
- 'path' => '{userId}/messages/batchModify',
399
  'httpMethod' => 'POST',
400
  'parameters' => array(
401
  'userId' => array(
@@ -405,7 +406,7 @@ class Google_Service_Gmail extends Google_Service
405
  ),
406
  ),
407
  ),'delete' => array(
408
- 'path' => '{userId}/messages/{id}',
409
  'httpMethod' => 'DELETE',
410
  'parameters' => array(
411
  'userId' => array(
@@ -420,7 +421,7 @@ class Google_Service_Gmail extends Google_Service
420
  ),
421
  ),
422
  ),'get' => array(
423
- 'path' => '{userId}/messages/{id}',
424
  'httpMethod' => 'GET',
425
  'parameters' => array(
426
  'userId' => array(
@@ -444,7 +445,7 @@ class Google_Service_Gmail extends Google_Service
444
  ),
445
  ),
446
  ),'import' => array(
447
- 'path' => '{userId}/messages/import',
448
  'httpMethod' => 'POST',
449
  'parameters' => array(
450
  'userId' => array(
@@ -452,6 +453,10 @@ class Google_Service_Gmail extends Google_Service
452
  'type' => 'string',
453
  'required' => true,
454
  ),
 
 
 
 
455
  'deleted' => array(
456
  'location' => 'query',
457
  'type' => 'boolean',
@@ -464,13 +469,9 @@ class Google_Service_Gmail extends Google_Service
464
  'location' => 'query',
465
  'type' => 'boolean',
466
  ),
467
- 'processForCalendar' => array(
468
- 'location' => 'query',
469
- 'type' => 'boolean',
470
- ),
471
  ),
472
  ),'insert' => array(
473
- 'path' => '{userId}/messages',
474
  'httpMethod' => 'POST',
475
  'parameters' => array(
476
  'userId' => array(
@@ -478,17 +479,17 @@ class Google_Service_Gmail extends Google_Service
478
  'type' => 'string',
479
  'required' => true,
480
  ),
481
- 'deleted' => array(
482
- 'location' => 'query',
483
- 'type' => 'boolean',
484
- ),
485
  'internalDateSource' => array(
486
  'location' => 'query',
487
  'type' => 'string',
488
  ),
 
 
 
 
489
  ),
490
  ),'list' => array(
491
- 'path' => '{userId}/messages',
492
  'httpMethod' => 'GET',
493
  'parameters' => array(
494
  'userId' => array(
@@ -496,19 +497,11 @@ class Google_Service_Gmail extends Google_Service
496
  'type' => 'string',
497
  'required' => true,
498
  ),
499
- 'includeSpamTrash' => array(
500
- 'location' => 'query',
501
- 'type' => 'boolean',
502
- ),
503
  'labelIds' => array(
504
  'location' => 'query',
505
  'type' => 'string',
506
  'repeated' => true,
507
  ),
508
- 'maxResults' => array(
509
- 'location' => 'query',
510
- 'type' => 'integer',
511
- ),
512
  'pageToken' => array(
513
  'location' => 'query',
514
  'type' => 'string',
@@ -517,9 +510,17 @@ class Google_Service_Gmail extends Google_Service
517
  'location' => 'query',
518
  'type' => 'string',
519
  ),
 
 
 
 
 
 
 
 
520
  ),
521
  ),'modify' => array(
522
- 'path' => '{userId}/messages/{id}/modify',
523
  'httpMethod' => 'POST',
524
  'parameters' => array(
525
  'userId' => array(
@@ -534,7 +535,7 @@ class Google_Service_Gmail extends Google_Service
534
  ),
535
  ),
536
  ),'send' => array(
537
- 'path' => '{userId}/messages/send',
538
  'httpMethod' => 'POST',
539
  'parameters' => array(
540
  'userId' => array(
@@ -544,7 +545,7 @@ class Google_Service_Gmail extends Google_Service
544
  ),
545
  ),
546
  ),'trash' => array(
547
- 'path' => '{userId}/messages/{id}/trash',
548
  'httpMethod' => 'POST',
549
  'parameters' => array(
550
  'userId' => array(
@@ -559,7 +560,7 @@ class Google_Service_Gmail extends Google_Service
559
  ),
560
  ),
561
  ),'untrash' => array(
562
- 'path' => '{userId}/messages/{id}/untrash',
563
  'httpMethod' => 'POST',
564
  'parameters' => array(
565
  'userId' => array(
@@ -584,7 +585,7 @@ class Google_Service_Gmail extends Google_Service
584
  array(
585
  'methods' => array(
586
  'get' => array(
587
- 'path' => '{userId}/messages/{messageId}/attachments/{id}',
588
  'httpMethod' => 'GET',
589
  'parameters' => array(
590
  'userId' => array(
@@ -614,7 +615,7 @@ class Google_Service_Gmail extends Google_Service
614
  array(
615
  'methods' => array(
616
  'getAutoForwarding' => array(
617
- 'path' => '{userId}/settings/autoForwarding',
618
  'httpMethod' => 'GET',
619
  'parameters' => array(
620
  'userId' => array(
@@ -624,7 +625,7 @@ class Google_Service_Gmail extends Google_Service
624
  ),
625
  ),
626
  ),'getImap' => array(
627
- 'path' => '{userId}/settings/imap',
628
  'httpMethod' => 'GET',
629
  'parameters' => array(
630
  'userId' => array(
@@ -634,7 +635,7 @@ class Google_Service_Gmail extends Google_Service
634
  ),
635
  ),
636
  ),'getLanguage' => array(
637
- 'path' => '{userId}/settings/language',
638
  'httpMethod' => 'GET',
639
  'parameters' => array(
640
  'userId' => array(
@@ -644,7 +645,7 @@ class Google_Service_Gmail extends Google_Service
644
  ),
645
  ),
646
  ),'getPop' => array(
647
- 'path' => '{userId}/settings/pop',
648
  'httpMethod' => 'GET',
649
  'parameters' => array(
650
  'userId' => array(
@@ -654,7 +655,7 @@ class Google_Service_Gmail extends Google_Service
654
  ),
655
  ),
656
  ),'getVacation' => array(
657
- 'path' => '{userId}/settings/vacation',
658
  'httpMethod' => 'GET',
659
  'parameters' => array(
660
  'userId' => array(
@@ -664,7 +665,7 @@ class Google_Service_Gmail extends Google_Service
664
  ),
665
  ),
666
  ),'updateAutoForwarding' => array(
667
- 'path' => '{userId}/settings/autoForwarding',
668
  'httpMethod' => 'PUT',
669
  'parameters' => array(
670
  'userId' => array(
@@ -674,7 +675,7 @@ class Google_Service_Gmail extends Google_Service
674
  ),
675
  ),
676
  ),'updateImap' => array(
677
- 'path' => '{userId}/settings/imap',
678
  'httpMethod' => 'PUT',
679
  'parameters' => array(
680
  'userId' => array(
@@ -684,7 +685,7 @@ class Google_Service_Gmail extends Google_Service
684
  ),
685
  ),
686
  ),'updateLanguage' => array(
687
- 'path' => '{userId}/settings/language',
688
  'httpMethod' => 'PUT',
689
  'parameters' => array(
690
  'userId' => array(
@@ -694,7 +695,7 @@ class Google_Service_Gmail extends Google_Service
694
  ),
695
  ),
696
  ),'updatePop' => array(
697
- 'path' => '{userId}/settings/pop',
698
  'httpMethod' => 'PUT',
699
  'parameters' => array(
700
  'userId' => array(
@@ -704,7 +705,7 @@ class Google_Service_Gmail extends Google_Service
704
  ),
705
  ),
706
  ),'updateVacation' => array(
707
- 'path' => '{userId}/settings/vacation',
708
  'httpMethod' => 'PUT',
709
  'parameters' => array(
710
  'userId' => array(
@@ -724,7 +725,7 @@ class Google_Service_Gmail extends Google_Service
724
  array(
725
  'methods' => array(
726
  'create' => array(
727
- 'path' => '{userId}/settings/delegates',
728
  'httpMethod' => 'POST',
729
  'parameters' => array(
730
  'userId' => array(
@@ -734,7 +735,7 @@ class Google_Service_Gmail extends Google_Service
734
  ),
735
  ),
736
  ),'delete' => array(
737
- 'path' => '{userId}/settings/delegates/{delegateEmail}',
738
  'httpMethod' => 'DELETE',
739
  'parameters' => array(
740
  'userId' => array(
@@ -749,7 +750,7 @@ class Google_Service_Gmail extends Google_Service
749
  ),
750
  ),
751
  ),'get' => array(
752
- 'path' => '{userId}/settings/delegates/{delegateEmail}',
753
  'httpMethod' => 'GET',
754
  'parameters' => array(
755
  'userId' => array(
@@ -764,7 +765,7 @@ class Google_Service_Gmail extends Google_Service
764
  ),
765
  ),
766
  ),'list' => array(
767
- 'path' => '{userId}/settings/delegates',
768
  'httpMethod' => 'GET',
769
  'parameters' => array(
770
  'userId' => array(
@@ -784,7 +785,7 @@ class Google_Service_Gmail extends Google_Service
784
  array(
785
  'methods' => array(
786
  'create' => array(
787
- 'path' => '{userId}/settings/filters',
788
  'httpMethod' => 'POST',
789
  'parameters' => array(
790
  'userId' => array(
@@ -794,7 +795,7 @@ class Google_Service_Gmail extends Google_Service
794
  ),
795
  ),
796
  ),'delete' => array(
797
- 'path' => '{userId}/settings/filters/{id}',
798
  'httpMethod' => 'DELETE',
799
  'parameters' => array(
800
  'userId' => array(
@@ -809,7 +810,7 @@ class Google_Service_Gmail extends Google_Service
809
  ),
810
  ),
811
  ),'get' => array(
812
- 'path' => '{userId}/settings/filters/{id}',
813
  'httpMethod' => 'GET',
814
  'parameters' => array(
815
  'userId' => array(
@@ -824,7 +825,7 @@ class Google_Service_Gmail extends Google_Service
824
  ),
825
  ),
826
  ),'list' => array(
827
- 'path' => '{userId}/settings/filters',
828
  'httpMethod' => 'GET',
829
  'parameters' => array(
830
  'userId' => array(
@@ -844,7 +845,7 @@ class Google_Service_Gmail extends Google_Service
844
  array(
845
  'methods' => array(
846
  'create' => array(
847
- 'path' => '{userId}/settings/forwardingAddresses',
848
  'httpMethod' => 'POST',
849
  'parameters' => array(
850
  'userId' => array(
@@ -854,7 +855,7 @@ class Google_Service_Gmail extends Google_Service
854
  ),
855
  ),
856
  ),'delete' => array(
857
- 'path' => '{userId}/settings/forwardingAddresses/{forwardingEmail}',
858
  'httpMethod' => 'DELETE',
859
  'parameters' => array(
860
  'userId' => array(
@@ -869,7 +870,7 @@ class Google_Service_Gmail extends Google_Service
869
  ),
870
  ),
871
  ),'get' => array(
872
- 'path' => '{userId}/settings/forwardingAddresses/{forwardingEmail}',
873
  'httpMethod' => 'GET',
874
  'parameters' => array(
875
  'userId' => array(
@@ -884,7 +885,7 @@ class Google_Service_Gmail extends Google_Service
884
  ),
885
  ),
886
  ),'list' => array(
887
- 'path' => '{userId}/settings/forwardingAddresses',
888
  'httpMethod' => 'GET',
889
  'parameters' => array(
890
  'userId' => array(
@@ -904,7 +905,7 @@ class Google_Service_Gmail extends Google_Service
904
  array(
905
  'methods' => array(
906
  'create' => array(
907
- 'path' => '{userId}/settings/sendAs',
908
  'httpMethod' => 'POST',
909
  'parameters' => array(
910
  'userId' => array(
@@ -914,7 +915,7 @@ class Google_Service_Gmail extends Google_Service
914
  ),
915
  ),
916
  ),'delete' => array(
917
- 'path' => '{userId}/settings/sendAs/{sendAsEmail}',
918
  'httpMethod' => 'DELETE',
919
  'parameters' => array(
920
  'userId' => array(
@@ -929,7 +930,7 @@ class Google_Service_Gmail extends Google_Service
929
  ),
930
  ),
931
  ),'get' => array(
932
- 'path' => '{userId}/settings/sendAs/{sendAsEmail}',
933
  'httpMethod' => 'GET',
934
  'parameters' => array(
935
  'userId' => array(
@@ -944,7 +945,7 @@ class Google_Service_Gmail extends Google_Service
944
  ),
945
  ),
946
  ),'list' => array(
947
- 'path' => '{userId}/settings/sendAs',
948
  'httpMethod' => 'GET',
949
  'parameters' => array(
950
  'userId' => array(
@@ -954,7 +955,7 @@ class Google_Service_Gmail extends Google_Service
954
  ),
955
  ),
956
  ),'patch' => array(
957
- 'path' => '{userId}/settings/sendAs/{sendAsEmail}',
958
  'httpMethod' => 'PATCH',
959
  'parameters' => array(
960
  'userId' => array(
@@ -969,7 +970,7 @@ class Google_Service_Gmail extends Google_Service
969
  ),
970
  ),
971
  ),'update' => array(
972
- 'path' => '{userId}/settings/sendAs/{sendAsEmail}',
973
  'httpMethod' => 'PUT',
974
  'parameters' => array(
975
  'userId' => array(
@@ -984,7 +985,7 @@ class Google_Service_Gmail extends Google_Service
984
  ),
985
  ),
986
  ),'verify' => array(
987
- 'path' => '{userId}/settings/sendAs/{sendAsEmail}/verify',
988
  'httpMethod' => 'POST',
989
  'parameters' => array(
990
  'userId' => array(
@@ -1009,7 +1010,7 @@ class Google_Service_Gmail extends Google_Service
1009
  array(
1010
  'methods' => array(
1011
  'delete' => array(
1012
- 'path' => '{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}',
1013
  'httpMethod' => 'DELETE',
1014
  'parameters' => array(
1015
  'userId' => array(
@@ -1029,7 +1030,7 @@ class Google_Service_Gmail extends Google_Service
1029
  ),
1030
  ),
1031
  ),'get' => array(
1032
- 'path' => '{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}',
1033
  'httpMethod' => 'GET',
1034
  'parameters' => array(
1035
  'userId' => array(
@@ -1049,7 +1050,7 @@ class Google_Service_Gmail extends Google_Service
1049
  ),
1050
  ),
1051
  ),'insert' => array(
1052
- 'path' => '{userId}/settings/sendAs/{sendAsEmail}/smimeInfo',
1053
  'httpMethod' => 'POST',
1054
  'parameters' => array(
1055
  'userId' => array(
@@ -1064,7 +1065,7 @@ class Google_Service_Gmail extends Google_Service
1064
  ),
1065
  ),
1066
  ),'list' => array(
1067
- 'path' => '{userId}/settings/sendAs/{sendAsEmail}/smimeInfo',
1068
  'httpMethod' => 'GET',
1069
  'parameters' => array(
1070
  'userId' => array(
@@ -1079,7 +1080,7 @@ class Google_Service_Gmail extends Google_Service
1079
  ),
1080
  ),
1081
  ),'setDefault' => array(
1082
- 'path' => '{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}/setDefault',
1083
  'httpMethod' => 'POST',
1084
  'parameters' => array(
1085
  'userId' => array(
@@ -1109,7 +1110,7 @@ class Google_Service_Gmail extends Google_Service
1109
  array(
1110
  'methods' => array(
1111
  'delete' => array(
1112
- 'path' => '{userId}/threads/{id}',
1113
  'httpMethod' => 'DELETE',
1114
  'parameters' => array(
1115
  'userId' => array(
@@ -1124,7 +1125,7 @@ class Google_Service_Gmail extends Google_Service
1124
  ),
1125
  ),
1126
  ),'get' => array(
1127
- 'path' => '{userId}/threads/{id}',
1128
  'httpMethod' => 'GET',
1129
  'parameters' => array(
1130
  'userId' => array(
@@ -1148,7 +1149,7 @@ class Google_Service_Gmail extends Google_Service
1148
  ),
1149
  ),
1150
  ),'list' => array(
1151
- 'path' => '{userId}/threads',
1152
  'httpMethod' => 'GET',
1153
  'parameters' => array(
1154
  'userId' => array(
@@ -1156,30 +1157,30 @@ class Google_Service_Gmail extends Google_Service
1156
  'type' => 'string',
1157
  'required' => true,
1158
  ),
 
 
 
 
1159
  'includeSpamTrash' => array(
1160
  'location' => 'query',
1161
  'type' => 'boolean',
1162
  ),
1163
- 'labelIds' => array(
1164
  'location' => 'query',
1165
  'type' => 'string',
1166
- 'repeated' => true,
1167
- ),
1168
- 'maxResults' => array(
1169
- 'location' => 'query',
1170
- 'type' => 'integer',
1171
  ),
1172
  'pageToken' => array(
1173
  'location' => 'query',
1174
  'type' => 'string',
1175
  ),
1176
- 'q' => array(
1177
  'location' => 'query',
1178
  'type' => 'string',
 
1179
  ),
1180
  ),
1181
  ),'modify' => array(
1182
- 'path' => '{userId}/threads/{id}/modify',
1183
  'httpMethod' => 'POST',
1184
  'parameters' => array(
1185
  'userId' => array(
@@ -1194,7 +1195,7 @@ class Google_Service_Gmail extends Google_Service
1194
  ),
1195
  ),
1196
  ),'trash' => array(
1197
- 'path' => '{userId}/threads/{id}/trash',
1198
  'httpMethod' => 'POST',
1199
  'parameters' => array(
1200
  'userId' => array(
@@ -1209,7 +1210,7 @@ class Google_Service_Gmail extends Google_Service
1209
  ),
1210
  ),
1211
  ),'untrash' => array(
1212
- 'path' => '{userId}/threads/{id}/untrash',
1213
  'httpMethod' => 'POST',
1214
  'parameters' => array(
1215
  'userId' => array(
19
  * Service definition for Gmail (v1).
20
  *
21
  * <p>
22
+ * The Gmail API lets you view and manage Gmail mailbox data like threads,
23
+ * messages, and labels.</p>
24
  *
25
  * <p>
26
  * For more information about this service, see the API
98
  {
99
  parent::__construct($client);
100
  $this->rootUrl = $rootUrl ?: 'https://www.googleapis.com/';
101
+ $this->servicePath = '';
102
  $this->batchPath = 'batch/gmail/v1';
103
  $this->version = 'v1';
104
  $this->serviceName = 'gmail';
110
  array(
111
  'methods' => array(
112
  'getProfile' => array(
113
+ 'path' => 'gmail/v1/users/{userId}/profile',
114
  'httpMethod' => 'GET',
115
  'parameters' => array(
116
  'userId' => array(
120
  ),
121
  ),
122
  ),'stop' => array(
123
+ 'path' => 'gmail/v1/users/{userId}/stop',
124
  'httpMethod' => 'POST',
125
  'parameters' => array(
126
  'userId' => array(
130
  ),
131
  ),
132
  ),'watch' => array(
133
+ 'path' => 'gmail/v1/users/{userId}/watch',
134
  'httpMethod' => 'POST',
135
  'parameters' => array(
136
  'userId' => array(
150
  array(
151
  'methods' => array(
152
  'create' => array(
153
+ 'path' => 'gmail/v1/users/{userId}/drafts',
154
  'httpMethod' => 'POST',
155
  'parameters' => array(
156
  'userId' => array(
160
  ),
161
  ),
162
  ),'delete' => array(
163
+ 'path' => 'gmail/v1/users/{userId}/drafts/{id}',
164
  'httpMethod' => 'DELETE',
165
  'parameters' => array(
166
  'userId' => array(
175
  ),
176
  ),
177
  ),'get' => array(
178
+ 'path' => 'gmail/v1/users/{userId}/drafts/{id}',
179
  'httpMethod' => 'GET',
180
  'parameters' => array(
181
  'userId' => array(
194
  ),
195
  ),
196
  ),'list' => array(
197
+ 'path' => 'gmail/v1/users/{userId}/drafts',
198
  'httpMethod' => 'GET',
199
  'parameters' => array(
200
  'userId' => array(
202
  'type' => 'string',
203
  'required' => true,
204
  ),
205
+ 'pageToken' => array(
206
  'location' => 'query',
207
+ 'type' => 'string',
208
  ),
209
  'maxResults' => array(
210
  'location' => 'query',
211
  'type' => 'integer',
212
  ),
213
+ 'q' => array(
214
  'location' => 'query',
215
  'type' => 'string',
216
  ),
217
+ 'includeSpamTrash' => array(
218
  'location' => 'query',
219
+ 'type' => 'boolean',
220
  ),
221
  ),
222
  ),'send' => array(
223
+ 'path' => 'gmail/v1/users/{userId}/drafts/send',
224
  'httpMethod' => 'POST',
225
  'parameters' => array(
226
  'userId' => array(
230
  ),
231
  ),
232
  ),'update' => array(
233
+ 'path' => 'gmail/v1/users/{userId}/drafts/{id}',
234
  'httpMethod' => 'PUT',
235
  'parameters' => array(
236
  'userId' => array(
255
  array(
256
  'methods' => array(
257
  'list' => array(
258
+ 'path' => 'gmail/v1/users/{userId}/history',
259
  'httpMethod' => 'GET',
260
  'parameters' => array(
261
  'userId' => array(
268
  'type' => 'string',
269
  'repeated' => true,
270
  ),
271
+ 'startHistoryId' => array(
272
  'location' => 'query',
273
  'type' => 'string',
274
  ),
275
+ 'labelId' => array(
276
  'location' => 'query',
277
+ 'type' => 'string',
278
  ),
279
  'pageToken' => array(
280
  'location' => 'query',
281
  'type' => 'string',
282
  ),
283
+ 'maxResults' => array(
284
  'location' => 'query',
285
+ 'type' => 'integer',
286
  ),
287
  ),
288
  ),
296
  array(
297
  'methods' => array(
298
  'create' => array(
299
+ 'path' => 'gmail/v1/users/{userId}/labels',
300
  'httpMethod' => 'POST',
301
  'parameters' => array(
302
  'userId' => array(
306
  ),
307
  ),
308
  ),'delete' => array(
309
+ 'path' => 'gmail/v1/users/{userId}/labels/{id}',
310
  'httpMethod' => 'DELETE',
311
  'parameters' => array(
312
  'userId' => array(
321
  ),
322
  ),
323
  ),'get' => array(
324
+ 'path' => 'gmail/v1/users/{userId}/labels/{id}',
325
  'httpMethod' => 'GET',
326
  'parameters' => array(
327
  'userId' => array(
336
  ),
337
  ),
338
  ),'list' => array(
339
+ 'path' => 'gmail/v1/users/{userId}/labels',
340
  'httpMethod' => 'GET',
341
  'parameters' => array(
342
  'userId' => array(
346
  ),
347
  ),
348
  ),'patch' => array(
349
+ 'path' => 'gmail/v1/users/{userId}/labels/{id}',
350
  'httpMethod' => 'PATCH',
351
  'parameters' => array(
352
  'userId' => array(
361
  ),
362
  ),
363
  ),'update' => array(
364
+ 'path' => 'gmail/v1/users/{userId}/labels/{id}',
365
  'httpMethod' => 'PUT',
366
  'parameters' => array(
367
  'userId' => array(
386
  array(
387
  'methods' => array(
388
  'batchDelete' => array(
389
+ 'path' => 'gmail/v1/users/{userId}/messages/batchDelete',
390
  'httpMethod' => 'POST',
391
  'parameters' => array(
392
  'userId' => array(
396
  ),
397
  ),
398
  ),'batchModify' => array(
399
+ 'path' => 'gmail/v1/users/{userId}/messages/batchModify',
400
  'httpMethod' => 'POST',
401
  'parameters' => array(
402
  'userId' => array(
406
  ),
407
  ),
408
  ),'delete' => array(
409
+ 'path' => 'gmail/v1/users/{userId}/messages/{id}',
410
  'httpMethod' => 'DELETE',
411
  'parameters' => array(
412
  'userId' => array(
421
  ),
422
  ),
423
  ),'get' => array(
424
+ 'path' => 'gmail/v1/users/{userId}/messages/{id}',
425
  'httpMethod' => 'GET',
426
  'parameters' => array(
427
  'userId' => array(
445
  ),
446
  ),
447
  ),'import' => array(
448
+ 'path' => 'gmail/v1/users/{userId}/messages/import',
449
  'httpMethod' => 'POST',
450
  'parameters' => array(
451
  'userId' => array(
453
  'type' => 'string',
454
  'required' => true,
455
  ),
456
+ 'processForCalendar' => array(
457
+ 'location' => 'query',
458
+ 'type' => 'boolean',
459
+ ),
460
  'deleted' => array(
461
  'location' => 'query',
462
  'type' => 'boolean',
469
  'location' => 'query',
470
  'type' => 'boolean',
471
  ),
 
 
 
 
472
  ),
473
  ),'insert' => array(
474
+ 'path' => 'gmail/v1/users/{userId}/messages',
475
  'httpMethod' => 'POST',
476
  'parameters' => array(
477
  'userId' => array(
479
  'type' => 'string',
480
  'required' => true,
481
  ),
 
 
 
 
482
  'internalDateSource' => array(
483
  'location' => 'query',
484
  'type' => 'string',
485
  ),
486
+ 'deleted' => array(
487
+ 'location' => 'query',
488
+ 'type' => 'boolean',
489
+ ),
490
  ),
491
  ),'list' => array(
492
+ 'path' => 'gmail/v1/users/{userId}/messages',
493
  'httpMethod' => 'GET',
494
  'parameters' => array(
495
  'userId' => array(
497
  'type' => 'string',
498
  'required' => true,
499
  ),
 
 
 
 
500
  'labelIds' => array(
501
  'location' => 'query',
502
  'type' => 'string',
503
  'repeated' => true,
504
  ),
 
 
 
 
505
  'pageToken' => array(
506
  'location' => 'query',
507
  'type' => 'string',
510
  'location' => 'query',
511
  'type' => 'string',
512
  ),
513
+ 'maxResults' => array(
514
+ 'location' => 'query',
515
+ 'type' => 'integer',
516
+ ),
517
+ 'includeSpamTrash' => array(
518
+ 'location' => 'query',
519
+ 'type' => 'boolean',
520
+ ),
521
  ),
522
  ),'modify' => array(
523
+ 'path' => 'gmail/v1/users/{userId}/messages/{id}/modify',
524
  'httpMethod' => 'POST',
525
  'parameters' => array(
526
  'userId' => array(
535
  ),
536
  ),
537
  ),'send' => array(
538
+ 'path' => 'gmail/v1/users/{userId}/messages/send',
539
  'httpMethod' => 'POST',
540
  'parameters' => array(
541
  'userId' => array(
545
  ),
546
  ),
547
  ),'trash' => array(
548
+ 'path' => 'gmail/v1/users/{userId}/messages/{id}/trash',
549
  'httpMethod' => 'POST',
550
  'parameters' => array(
551
  'userId' => array(
560
  ),
561
  ),
562
  ),'untrash' => array(
563
+ 'path' => 'gmail/v1/users/{userId}/messages/{id}/untrash',
564
  'httpMethod' => 'POST',
565
  'parameters' => array(
566
  'userId' => array(
585
  array(
586
  'methods' => array(
587
  'get' => array(
588
+ 'path' => 'gmail/v1/users/{userId}/messages/{messageId}/attachments/{id}',
589
  'httpMethod' => 'GET',
590
  'parameters' => array(
591
  'userId' => array(
615
  array(
616
  'methods' => array(
617
  'getAutoForwarding' => array(
618
+ 'path' => 'gmail/v1/users/{userId}/settings/autoForwarding',
619
  'httpMethod' => 'GET',
620
  'parameters' => array(
621
  'userId' => array(
625
  ),
626
  ),
627
  ),'getImap' => array(
628
+ 'path' => 'gmail/v1/users/{userId}/settings/imap',
629
  'httpMethod' => 'GET',
630
  'parameters' => array(
631
  'userId' => array(
635
  ),
636
  ),
637
  ),'getLanguage' => array(
638
+ 'path' => 'gmail/v1/users/{userId}/settings/language',
639
  'httpMethod' => 'GET',
640
  'parameters' => array(
641
  'userId' => array(
645
  ),
646
  ),
647
  ),'getPop' => array(
648
+ 'path' => 'gmail/v1/users/{userId}/settings/pop',
649
  'httpMethod' => 'GET',
650
  'parameters' => array(
651
  'userId' => array(
655
  ),
656
  ),
657
  ),'getVacation' => array(
658
+ 'path' => 'gmail/v1/users/{userId}/settings/vacation',
659
  'httpMethod' => 'GET',
660
  'parameters' => array(
661
  'userId' => array(
665
  ),
666
  ),
667
  ),'updateAutoForwarding' => array(
668
+ 'path' => 'gmail/v1/users/{userId}/settings/autoForwarding',
669
  'httpMethod' => 'PUT',
670
  'parameters' => array(
671
  'userId' => array(
675
  ),
676
  ),
677
  ),'updateImap' => array(
678
+ 'path' => 'gmail/v1/users/{userId}/settings/imap',
679
  'httpMethod' => 'PUT',
680
  'parameters' => array(
681
  'userId' => array(
685
  ),
686
  ),
687
  ),'updateLanguage' => array(
688
+ 'path' => 'gmail/v1/users/{userId}/settings/language',
689
  'httpMethod' => 'PUT',
690
  'parameters' => array(
691
  'userId' => array(
695
  ),
696
  ),
697
  ),'updatePop' => array(
698
+ 'path' => 'gmail/v1/users/{userId}/settings/pop',
699
  'httpMethod' => 'PUT',
700
  'parameters' => array(
701
  'userId' => array(
705
  ),
706
  ),
707
  ),'updateVacation' => array(
708
+ 'path' => 'gmail/v1/users/{userId}/settings/vacation',
709
  'httpMethod' => 'PUT',
710
  'parameters' => array(
711
  'userId' => array(
725
  array(
726
  'methods' => array(
727
  'create' => array(
728
+ 'path' => 'gmail/v1/users/{userId}/settings/delegates',
729
  'httpMethod' => 'POST',
730
  'parameters' => array(
731
  'userId' => array(
735
  ),
736
  ),
737
  ),'delete' => array(
738
+ 'path' => 'gmail/v1/users/{userId}/settings/delegates/{delegateEmail}',
739
  'httpMethod' => 'DELETE',
740
  'parameters' => array(
741
  'userId' => array(
750
  ),
751
  ),
752
  ),'get' => array(
753
+ 'path' => 'gmail/v1/users/{userId}/settings/delegates/{delegateEmail}',
754
  'httpMethod' => 'GET',
755
  'parameters' => array(
756
  'userId' => array(
765
  ),
766
  ),
767
  ),'list' => array(
768
+ 'path' => 'gmail/v1/users/{userId}/settings/delegates',
769
  'httpMethod' => 'GET',
770
  'parameters' => array(
771
  'userId' => array(
785
  array(
786
  'methods' => array(
787
  'create' => array(
788
+ 'path' => 'gmail/v1/users/{userId}/settings/filters',
789
  'httpMethod' => 'POST',
790
  'parameters' => array(
791
  'userId' => array(
795
  ),
796
  ),
797
  ),'delete' => array(
798
+ 'path' => 'gmail/v1/users/{userId}/settings/filters/{id}',
799
  'httpMethod' => 'DELETE',
800
  'parameters' => array(
801
  'userId' => array(
810
  ),
811
  ),
812
  ),'get' => array(
813
+ 'path' => 'gmail/v1/users/{userId}/settings/filters/{id}',
814
  'httpMethod' => 'GET',
815
  'parameters' => array(
816
  'userId' => array(
825
  ),
826
  ),
827
  ),'list' => array(
828
+ 'path' => 'gmail/v1/users/{userId}/settings/filters',
829
  'httpMethod' => 'GET',
830
  'parameters' => array(
831
  'userId' => array(
845
  array(
846
  'methods' => array(
847
  'create' => array(
848
+ 'path' => 'gmail/v1/users/{userId}/settings/forwardingAddresses',
849
  'httpMethod' => 'POST',
850
  'parameters' => array(
851
  'userId' => array(
855
  ),
856
  ),
857
  ),'delete' => array(
858
+ 'path' => 'gmail/v1/users/{userId}/settings/forwardingAddresses/{forwardingEmail}',
859
  'httpMethod' => 'DELETE',
860
  'parameters' => array(
861
  'userId' => array(
870
  ),
871
  ),
872
  ),'get' => array(
873
+ 'path' => 'gmail/v1/users/{userId}/settings/forwardingAddresses/{forwardingEmail}',
874
  'httpMethod' => 'GET',
875
  'parameters' => array(
876
  'userId' => array(
885
  ),
886
  ),
887
  ),'list' => array(
888
+ 'path' => 'gmail/v1/users/{userId}/settings/forwardingAddresses',
889
  'httpMethod' => 'GET',
890
  'parameters' => array(
891
  'userId' => array(
905
  array(
906
  'methods' => array(
907
  'create' => array(
908
+ 'path' => 'gmail/v1/users/{userId}/settings/sendAs',
909
  'httpMethod' => 'POST',
910
  'parameters' => array(
911
  'userId' => array(
915
  ),
916
  ),
917
  ),'delete' => array(
918
+ 'path' => 'gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}',
919
  'httpMethod' => 'DELETE',
920
  'parameters' => array(
921
  'userId' => array(
930
  ),
931
  ),
932
  ),'get' => array(
933
+ 'path' => 'gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}',
934
  'httpMethod' => 'GET',
935
  'parameters' => array(
936
  'userId' => array(
945
  ),
946
  ),
947
  ),'list' => array(
948
+ 'path' => 'gmail/v1/users/{userId}/settings/sendAs',
949
  'httpMethod' => 'GET',
950
  'parameters' => array(
951
  'userId' => array(
955
  ),
956
  ),
957
  ),'patch' => array(
958
+ 'path' => 'gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}',
959
  'httpMethod' => 'PATCH',
960
  'parameters' => array(
961
  'userId' => array(
970
  ),
971
  ),
972
  ),'update' => array(
973
+ 'path' => 'gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}',
974
  'httpMethod' => 'PUT',
975
  'parameters' => array(
976
  'userId' => array(
985
  ),
986
  ),
987
  ),'verify' => array(
988
+ 'path' => 'gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/verify',
989
  'httpMethod' => 'POST',
990
  'parameters' => array(
991
  'userId' => array(
1010
  array(
1011
  'methods' => array(
1012
  'delete' => array(
1013
+ 'path' => 'gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}',
1014
  'httpMethod' => 'DELETE',
1015
  'parameters' => array(
1016
  'userId' => array(
1030
  ),
1031
  ),
1032
  ),'get' => array(
1033
+ 'path' => 'gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}',
1034
  'httpMethod' => 'GET',
1035
  'parameters' => array(
1036
  'userId' => array(
1050
  ),
1051
  ),
1052
  ),'insert' => array(
1053
+ 'path' => 'gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo',
1054
  'httpMethod' => 'POST',
1055
  'parameters' => array(
1056
  'userId' => array(
1065
  ),
1066
  ),
1067
  ),'list' => array(
1068
+ 'path' => 'gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo',
1069
  'httpMethod' => 'GET',
1070
  'parameters' => array(
1071
  'userId' => array(
1080
  ),
1081
  ),
1082
  ),'setDefault' => array(
1083
+ 'path' => 'gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}/setDefault',
1084
  'httpMethod' => 'POST',
1085
  'parameters' => array(
1086
  'userId' => array(
1110
  array(
1111
  'methods' => array(
1112
  'delete' => array(
1113
+ 'path' => 'gmail/v1/users/{userId}/threads/{id}',
1114
  'httpMethod' => 'DELETE',
1115
  'parameters' => array(
1116
  'userId' => array(
1125
  ),
1126
  ),
1127
  ),'get' => array(
1128
+ 'path' => 'gmail/v1/users/{userId}/threads/{id}',
1129
  'httpMethod' => 'GET',
1130
  'parameters' => array(
1131
  'userId' => array(
1149
  ),
1150
  ),
1151
  ),'list' => array(
1152
+ 'path' => 'gmail/v1/users/{userId}/threads',
1153
  'httpMethod' => 'GET',
1154
  'parameters' => array(
1155
  'userId' => array(
1157
  'type' => 'string',
1158
  'required' => true,
1159
  ),
1160
+ 'maxResults' => array(
1161
+ 'location' => 'query',
1162
+ 'type' => 'integer',
1163
+ ),
1164
  'includeSpamTrash' => array(
1165
  'location' => 'query',
1166
  'type' => 'boolean',
1167
  ),
1168
+ 'q' => array(
1169
  'location' => 'query',
1170
  'type' => 'string',
 
 
 
 
 
1171
  ),
1172
  'pageToken' => array(
1173
  'location' => 'query',
1174
  'type' => 'string',
1175
  ),
1176
+ 'labelIds' => array(
1177
  'location' => 'query',
1178
  'type' => 'string',
1179
+ 'repeated' => true,
1180
  ),
1181
  ),
1182
  ),'modify' => array(
1183
+ 'path' => 'gmail/v1/users/{userId}/threads/{id}/modify',
1184
  'httpMethod' => 'POST',
1185
  'parameters' => array(
1186
  'userId' => array(
1195
  ),
1196
  ),
1197
  ),'trash' => array(
1198
+ 'path' => 'gmail/v1/users/{userId}/threads/{id}/trash',
1199
  'httpMethod' => 'POST',
1200
  'parameters' => array(
1201
  'userId' => array(
1210
  ),
1211
  ),
1212
  ),'untrash' => array(
1213
+ 'path' => 'gmail/v1/users/{userId}/threads/{id}/untrash',
1214
  'httpMethod' => 'POST',
1215
  'parameters' => array(
1216
  'userId' => array(
vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/Users.php CHANGED
@@ -28,7 +28,7 @@ class Google_Service_Gmail_Resource_Users extends Google_Service_Resource
28
  /**
29
  * Gets the current user's Gmail profile. (users.getProfile)
30
  *
31
- * @param string $userId The user's email address. The special value me can be
32
  * used to indicate the authenticated user.
33
  * @param array $optParams Optional parameters.
34
  * @return Google_Service_Gmail_Profile
@@ -42,7 +42,7 @@ class Google_Service_Gmail_Resource_Users extends Google_Service_Resource
42
  /**
43
  * Stop receiving push notifications for the given user mailbox. (users.stop)
44
  *
45
- * @param string $userId The user's email address. The special value me can be
46
  * used to indicate the authenticated user.
47
  * @param array $optParams Optional parameters.
48
  */
@@ -56,7 +56,7 @@ class Google_Service_Gmail_Resource_Users extends Google_Service_Resource
56
  * Set up or update a push notification watch on the given user mailbox.
57
  * (users.watch)
58
  *
59
- * @param string $userId The user's email address. The special value me can be
60
  * used to indicate the authenticated user.
61
  * @param Google_Service_Gmail_WatchRequest $postBody
62
  * @param array $optParams Optional parameters.
28
  /**
29
  * Gets the current user's Gmail profile. (users.getProfile)
30
  *
31
+ * @param string $userId The user's email address. The special value `me` can be
32
  * used to indicate the authenticated user.
33
  * @param array $optParams Optional parameters.
34
  * @return Google_Service_Gmail_Profile
42
  /**
43
  * Stop receiving push notifications for the given user mailbox. (users.stop)
44
  *
45
+ * @param string $userId The user's email address. The special value `me` can be
46
  * used to indicate the authenticated user.
47
  * @param array $optParams Optional parameters.
48
  */
56
  * Set up or update a push notification watch on the given user mailbox.
57
  * (users.watch)
58
  *
59
+ * @param string $userId The user's email address. The special value `me` can be
60
  * used to indicate the authenticated user.
61
  * @param Google_Service_Gmail_WatchRequest $postBody
62
  * @param array $optParams Optional parameters.
vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersDrafts.php CHANGED
@@ -26,9 +26,9 @@
26
  class Google_Service_Gmail_Resource_UsersDrafts extends Google_Service_Resource
27
  {
28
  /**
29
- * Creates a new draft with the DRAFT label. (drafts.create)
30
  *
31
- * @param string $userId The user's email address. The special value me can be
32
  * used to indicate the authenticated user.
33
  * @param Google_Service_Gmail_Draft $postBody
34
  * @param array $optParams Optional parameters.
@@ -44,7 +44,7 @@ class Google_Service_Gmail_Resource_UsersDrafts extends Google_Service_Resource
44
  * Immediately and permanently deletes the specified draft. Does not simply
45
  * trash it. (drafts.delete)
46
  *
47
- * @param string $userId The user's email address. The special value me can be
48
  * used to indicate the authenticated user.
49
  * @param string $id The ID of the draft to delete.
50
  * @param array $optParams Optional parameters.
@@ -58,7 +58,7 @@ class Google_Service_Gmail_Resource_UsersDrafts extends Google_Service_Resource
58
  /**
59
  * Gets the specified draft. (drafts.get)
60
  *
61
- * @param string $userId The user's email address. The special value me can be
62
  * used to indicate the authenticated user.
63
  * @param string $id The ID of the draft to retrieve.
64
  * @param array $optParams Optional parameters.
@@ -75,18 +75,18 @@ class Google_Service_Gmail_Resource_UsersDrafts extends Google_Service_Resource
75
  /**
76
  * Lists the drafts in the user's mailbox. (drafts.listUsersDrafts)
77
  *
78
- * @param string $userId The user's email address. The special value me can be
79
  * used to indicate the authenticated user.
80
  * @param array $optParams Optional parameters.
81
  *
82
- * @opt_param bool includeSpamTrash Include drafts from SPAM and TRASH in the
83
- * results.
84
- * @opt_param string maxResults Maximum number of drafts to return.
85
  * @opt_param string pageToken Page token to retrieve a specific page of results
86
  * in the list.
 
87
  * @opt_param string q Only return draft messages matching the specified query.
88
  * Supports the same query format as the Gmail search box. For example,
89
- * "from:someuser@example.com rfc822msgid: is:unread".
 
 
90
  * @return Google_Service_Gmail_ListDraftsResponse
91
  */
92
  public function listUsersDrafts($userId, $optParams = array())
@@ -96,10 +96,10 @@ class Google_Service_Gmail_Resource_UsersDrafts extends Google_Service_Resource
96
  return $this->call('list', array($params), "Google_Service_Gmail_ListDraftsResponse");
97
  }
98
  /**
99
- * Sends the specified, existing draft to the recipients in the To, Cc, and Bcc
100
- * headers. (drafts.send)
101
  *
102
- * @param string $userId The user's email address. The special value me can be
103
  * used to indicate the authenticated user.
104
  * @param Google_Service_Gmail_Draft $postBody
105
  * @param array $optParams Optional parameters.
@@ -114,7 +114,7 @@ class Google_Service_Gmail_Resource_UsersDrafts extends Google_Service_Resource
114
  /**
115
  * Replaces a draft's content. (drafts.update)
116
  *
117
- * @param string $userId The user's email address. The special value me can be
118
  * used to indicate the authenticated user.
119
  * @param string $id The ID of the draft to update.
120
  * @param Google_Service_Gmail_Draft $postBody
26
  class Google_Service_Gmail_Resource_UsersDrafts extends Google_Service_Resource
27
  {
28
  /**
29
+ * Creates a new draft with the `DRAFT` label. (drafts.create)
30
  *
31
+ * @param string $userId The user's email address. The special value `me` can be
32
  * used to indicate the authenticated user.
33
  * @param Google_Service_Gmail_Draft $postBody
34
  * @param array $optParams Optional parameters.
44
  * Immediately and permanently deletes the specified draft. Does not simply
45
  * trash it. (drafts.delete)
46
  *
47
+ * @param string $userId The user's email address. The special value `me` can be
48
  * used to indicate the authenticated user.
49
  * @param string $id The ID of the draft to delete.
50
  * @param array $optParams Optional parameters.
58
  /**
59
  * Gets the specified draft. (drafts.get)
60
  *
61
+ * @param string $userId The user's email address. The special value `me` can be
62
  * used to indicate the authenticated user.
63
  * @param string $id The ID of the draft to retrieve.
64
  * @param array $optParams Optional parameters.
75
  /**
76
  * Lists the drafts in the user's mailbox. (drafts.listUsersDrafts)
77
  *
78
+ * @param string $userId The user's email address. The special value `me` can be
79
  * used to indicate the authenticated user.
80
  * @param array $optParams Optional parameters.
81
  *
 
 
 
82
  * @opt_param string pageToken Page token to retrieve a specific page of results
83
  * in the list.
84
+ * @opt_param string maxResults Maximum number of drafts to return.
85
  * @opt_param string q Only return draft messages matching the specified query.
86
  * Supports the same query format as the Gmail search box. For example,
87
+ * `"from:someuser@example.com rfc822msgid: is:unread"`.
88
+ * @opt_param bool includeSpamTrash Include drafts from `SPAM` and `TRASH` in
89
+ * the results.
90
  * @return Google_Service_Gmail_ListDraftsResponse
91
  */
92
  public function listUsersDrafts($userId, $optParams = array())
96
  return $this->call('list', array($params), "Google_Service_Gmail_ListDraftsResponse");
97
  }
98
  /**
99
+ * Sends the specified, existing draft to the recipients in the `To`, `Cc`, and
100
+ * `Bcc` headers. (drafts.send)
101
  *
102
+ * @param string $userId The user's email address. The special value `me` can be
103
  * used to indicate the authenticated user.
104
  * @param Google_Service_Gmail_Draft $postBody
105
  * @param array $optParams Optional parameters.
114
  /**
115
  * Replaces a draft's content. (drafts.update)
116
  *
117
+ * @param string $userId The user's email address. The special value `me` can be
118
  * used to indicate the authenticated user.
119
  * @param string $id The ID of the draft to update.
120
  * @param Google_Service_Gmail_Draft $postBody
vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersHistory.php CHANGED
@@ -27,29 +27,29 @@ class Google_Service_Gmail_Resource_UsersHistory extends Google_Service_Resource
27
  {
28
  /**
29
  * Lists the history of all changes to the given mailbox. History results are
30
- * returned in chronological order (increasing historyId).
31
  * (history.listUsersHistory)
32
  *
33
- * @param string $userId The user's email address. The special value me can be
34
  * used to indicate the authenticated user.
35
  * @param array $optParams Optional parameters.
36
  *
37
  * @opt_param string historyTypes History types to be returned by the function
 
 
 
 
 
 
 
 
 
 
 
38
  * @opt_param string labelId Only return messages with a label matching the ID.
39
- * @opt_param string maxResults The maximum number of history records to return.
40
  * @opt_param string pageToken Page token to retrieve a specific page of results
41
  * in the list.
42
- * @opt_param string startHistoryId Required. Returns history records after the
43
- * specified startHistoryId. The supplied startHistoryId should be obtained from
44
- * the historyId of a message, thread, or previous list response. History IDs
45
- * increase chronologically but are not contiguous with random gaps in between
46
- * valid IDs. Supplying an invalid or out of date startHistoryId typically
47
- * returns an HTTP 404 error code. A historyId is typically valid for at least a
48
- * week, but in some rare circumstances may be valid for only a few hours. If
49
- * you receive an HTTP 404 error response, your application should perform a
50
- * full sync. If you receive no nextPageToken in the response, there are no
51
- * updates to retrieve and you can store the returned historyId for a future
52
- * request.
53
  * @return Google_Service_Gmail_ListHistoryResponse
54
  */
55
  public function listUsersHistory($userId, $optParams = array())
27
  {
28
  /**
29
  * Lists the history of all changes to the given mailbox. History results are
30
+ * returned in chronological order (increasing `historyId`).
31
  * (history.listUsersHistory)
32
  *
33
+ * @param string $userId The user's email address. The special value `me` can be
34
  * used to indicate the authenticated user.
35
  * @param array $optParams Optional parameters.
36
  *
37
  * @opt_param string historyTypes History types to be returned by the function
38
+ * @opt_param string startHistoryId Required. Returns history records after the
39
+ * specified `startHistoryId`. The supplied `startHistoryId` should be obtained
40
+ * from the `historyId` of a message, thread, or previous `list` response.
41
+ * History IDs increase chronologically but are not contiguous with random gaps
42
+ * in between valid IDs. Supplying an invalid or out of date `startHistoryId`
43
+ * typically returns an `HTTP 404` error code. A `historyId` is typically valid
44
+ * for at least a week, but in some rare circumstances may be valid for only a
45
+ * few hours. If you receive an `HTTP 404` error response, your application
46
+ * should perform a full sync. If you receive no `nextPageToken` in the
47
+ * response, there are no updates to retrieve and you can store the returned
48
+ * `historyId` for a future request.
49
  * @opt_param string labelId Only return messages with a label matching the ID.
 
50
  * @opt_param string pageToken Page token to retrieve a specific page of results
51
  * in the list.
52
+ * @opt_param string maxResults The maximum number of history records to return.
 
 
 
 
 
 
 
 
 
 
53
  * @return Google_Service_Gmail_ListHistoryResponse
54
  */
55
  public function listUsersHistory($userId, $optParams = array())
vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersLabels.php CHANGED
@@ -28,7 +28,7 @@ class Google_Service_Gmail_Resource_UsersLabels extends Google_Service_Resource
28
  /**
29
  * Creates a new label. (labels.create)
30
  *
31
- * @param string $userId The user's email address. The special value me can be
32
  * used to indicate the authenticated user.
33
  * @param Google_Service_Gmail_Label $postBody
34
  * @param array $optParams Optional parameters.
@@ -44,7 +44,7 @@ class Google_Service_Gmail_Resource_UsersLabels extends Google_Service_Resource
44
  * Immediately and permanently deletes the specified label and removes it from
45
  * any messages and threads that it is applied to. (labels.delete)
46
  *
47
- * @param string $userId The user's email address. The special value me can be
48
  * used to indicate the authenticated user.
49
  * @param string $id The ID of the label to delete.
50
  * @param array $optParams Optional parameters.
@@ -58,7 +58,7 @@ class Google_Service_Gmail_Resource_UsersLabels extends Google_Service_Resource
58
  /**
59
  * Gets the specified label. (labels.get)
60
  *
61
- * @param string $userId The user's email address. The special value me can be
62
  * used to indicate the authenticated user.
63
  * @param string $id The ID of the label to retrieve.
64
  * @param array $optParams Optional parameters.
@@ -73,7 +73,7 @@ class Google_Service_Gmail_Resource_UsersLabels extends Google_Service_Resource
73
  /**
74
  * Lists all labels in the user's mailbox. (labels.listUsersLabels)
75
  *
76
- * @param string $userId The user's email address. The special value me can be
77
  * used to indicate the authenticated user.
78
  * @param array $optParams Optional parameters.
79
  * @return Google_Service_Gmail_ListLabelsResponse
@@ -85,10 +85,9 @@ class Google_Service_Gmail_Resource_UsersLabels extends Google_Service_Resource
85
  return $this->call('list', array($params), "Google_Service_Gmail_ListLabelsResponse");
86
  }
87
  /**
88
- * Updates the specified label. This method supports patch semantics.
89
- * (labels.patch)
90
  *
91
- * @param string $userId The user's email address. The special value me can be
92
  * used to indicate the authenticated user.
93
  * @param string $id The ID of the label to update.
94
  * @param Google_Service_Gmail_Label $postBody
@@ -104,7 +103,7 @@ class Google_Service_Gmail_Resource_UsersLabels extends Google_Service_Resource
104
  /**
105
  * Updates the specified label. (labels.update)
106
  *
107
- * @param string $userId The user's email address. The special value me can be
108
  * used to indicate the authenticated user.
109
  * @param string $id The ID of the label to update.
110
  * @param Google_Service_Gmail_Label $postBody
28
  /**
29
  * Creates a new label. (labels.create)
30
  *
31
+ * @param string $userId The user's email address. The special value `me` can be
32
  * used to indicate the authenticated user.
33
  * @param Google_Service_Gmail_Label $postBody
34
  * @param array $optParams Optional parameters.
44
  * Immediately and permanently deletes the specified label and removes it from
45
  * any messages and threads that it is applied to. (labels.delete)
46
  *
47
+ * @param string $userId The user's email address. The special value `me` can be
48
  * used to indicate the authenticated user.
49
  * @param string $id The ID of the label to delete.
50
  * @param array $optParams Optional parameters.
58
  /**
59
  * Gets the specified label. (labels.get)
60
  *
61
+ * @param string $userId The user's email address. The special value `me` can be
62
  * used to indicate the authenticated user.
63
  * @param string $id The ID of the label to retrieve.
64
  * @param array $optParams Optional parameters.
73
  /**
74
  * Lists all labels in the user's mailbox. (labels.listUsersLabels)
75
  *
76
+ * @param string $userId The user's email address. The special value `me` can be
77
  * used to indicate the authenticated user.
78
  * @param array $optParams Optional parameters.
79
  * @return Google_Service_Gmail_ListLabelsResponse
85
  return $this->call('list', array($params), "Google_Service_Gmail_ListLabelsResponse");
86
  }
87
  /**
88
+ * Patch the specified label. (labels.patch)
 
89
  *
90
+ * @param string $userId The user's email address. The special value `me` can be
91
  * used to indicate the authenticated user.
92
  * @param string $id The ID of the label to update.
93
  * @param Google_Service_Gmail_Label $postBody
103
  /**
104
  * Updates the specified label. (labels.update)
105
  *
106
+ * @param string $userId The user's email address. The special value `me` can be
107
  * used to indicate the authenticated user.
108
  * @param string $id The ID of the label to update.
109
  * @param Google_Service_Gmail_Label $postBody
vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersMessages.php CHANGED
@@ -26,10 +26,10 @@
26
  class Google_Service_Gmail_Resource_UsersMessages extends Google_Service_Resource
27
  {
28
  /**
29
- * Deletes many messages by message ID. Provides no guarantees that messages
30
  * were not already deleted or even existed at all. (messages.batchDelete)
31
  *
32
- * @param string $userId The user's email address. The special value me can be
33
  * used to indicate the authenticated user.
34
  * @param Google_Service_Gmail_BatchDeleteMessagesRequest $postBody
35
  * @param array $optParams Optional parameters.
@@ -43,7 +43,7 @@ class Google_Service_Gmail_Resource_UsersMessages extends Google_Service_Resourc
43
  /**
44
  * Modifies the labels on the specified messages. (messages.batchModify)
45
  *
46
- * @param string $userId The user's email address. The special value me can be
47
  * used to indicate the authenticated user.
48
  * @param Google_Service_Gmail_BatchModifyMessagesRequest $postBody
49
  * @param array $optParams Optional parameters.
@@ -56,9 +56,9 @@ class Google_Service_Gmail_Resource_UsersMessages extends Google_Service_Resourc
56
  }
57
  /**
58
  * Immediately and permanently deletes the specified message. This operation
59
- * cannot be undone. Prefer messages.trash instead. (messages.delete)
60
  *
61
- * @param string $userId The user's email address. The special value me can be
62
  * used to indicate the authenticated user.
63
  * @param string $id The ID of the message to delete.
64
  * @param array $optParams Optional parameters.
@@ -72,13 +72,13 @@ class Google_Service_Gmail_Resource_UsersMessages extends Google_Service_Resourc
72
  /**
73
  * Gets the specified message. (messages.get)
74
  *
75
- * @param string $userId The user's email address. The special value me can be
76
  * used to indicate the authenticated user.
77
  * @param string $id The ID of the message to retrieve.
78
  * @param array $optParams Optional parameters.
79
  *
80
  * @opt_param string format The format to return the message in.
81
- * @opt_param string metadataHeaders When given and format is METADATA, only
82
  * include headers specified.
83
  * @return Google_Service_Gmail_Message
84
  */
@@ -93,11 +93,13 @@ class Google_Service_Gmail_Resource_UsersMessages extends Google_Service_Resourc
93
  * scanning and classification similar to receiving via SMTP. Does not send a
94
  * message. (messages.import)
95
  *
96
- * @param string $userId The user's email address. The special value me can be
97
  * used to indicate the authenticated user.
98
  * @param Google_Service_Gmail_Message $postBody
99
  * @param array $optParams Optional parameters.
100
  *
 
 
101
  * @opt_param bool deleted Mark the email as permanently deleted (not TRASH) and
102
  * only visible in Google Vault to a Vault administrator. Only used for G Suite
103
  * accounts.
@@ -105,8 +107,6 @@ class Google_Service_Gmail_Resource_UsersMessages extends Google_Service_Resourc
105
  * message.
106
  * @opt_param bool neverMarkSpam Ignore the Gmail spam classifier decision and
107
  * never mark this email as SPAM in the mailbox.
108
- * @opt_param bool processForCalendar Process calendar invites in the email and
109
- * add any extracted meetings to the Google Calendar for this user.
110
  * @return Google_Service_Gmail_Message
111
  */
112
  public function import($userId, Google_Service_Gmail_Message $postBody, $optParams = array())
@@ -116,20 +116,20 @@ class Google_Service_Gmail_Resource_UsersMessages extends Google_Service_Resourc
116
  return $this->call('import', array($params), "Google_Service_Gmail_Message");
117
  }
118
  /**
119
- * Directly inserts a message into only this user's mailbox similar to IMAP
120
- * APPEND, bypassing most scanning and classification. Does not send a message.
121
  * (messages.insert)
122
  *
123
- * @param string $userId The user's email address. The special value me can be
124
  * used to indicate the authenticated user.
125
  * @param Google_Service_Gmail_Message $postBody
126
  * @param array $optParams Optional parameters.
127
  *
 
 
128
  * @opt_param bool deleted Mark the email as permanently deleted (not TRASH) and
129
  * only visible in Google Vault to a Vault administrator. Only used for G Suite
130
  * accounts.
131
- * @opt_param string internalDateSource Source for Gmail's internal date of the
132
- * message.
133
  * @return Google_Service_Gmail_Message
134
  */
135
  public function insert($userId, Google_Service_Gmail_Message $postBody, $optParams = array())
@@ -141,21 +141,21 @@ class Google_Service_Gmail_Resource_UsersMessages extends Google_Service_Resourc
141
  /**
142
  * Lists the messages in the user's mailbox. (messages.listUsersMessages)
143
  *
144
- * @param string $userId The user's email address. The special value me can be
145
  * used to indicate the authenticated user.
146
  * @param array $optParams Optional parameters.
147
  *
148
- * @opt_param bool includeSpamTrash Include messages from SPAM and TRASH in the
149
- * results.
150
  * @opt_param string labelIds Only return messages with labels that match all of
151
  * the specified label IDs.
152
- * @opt_param string maxResults Maximum number of messages to return.
153
  * @opt_param string pageToken Page token to retrieve a specific page of results
154
  * in the list.
155
  * @opt_param string q Only return messages matching the specified query.
156
  * Supports the same query format as the Gmail search box. For example,
157
- * "from:someuser@example.com rfc822msgid: is:unread". Parameter cannot be used
158
- * when accessing the api using the gmail.metadata scope.
 
 
 
159
  * @return Google_Service_Gmail_ListMessagesResponse
160
  */
161
  public function listUsersMessages($userId, $optParams = array())
@@ -167,7 +167,7 @@ class Google_Service_Gmail_Resource_UsersMessages extends Google_Service_Resourc
167
  /**
168
  * Modifies the labels on the specified message. (messages.modify)
169
  *
170
- * @param string $userId The user's email address. The special value me can be
171
  * used to indicate the authenticated user.
172
  * @param string $id The ID of the message to modify.
173
  * @param Google_Service_Gmail_ModifyMessageRequest $postBody
@@ -181,10 +181,10 @@ class Google_Service_Gmail_Resource_UsersMessages extends Google_Service_Resourc
181
  return $this->call('modify', array($params), "Google_Service_Gmail_Message");
182
  }
183
  /**
184
- * Sends the specified message to the recipients in the To, Cc, and Bcc headers.
185
- * (messages.send)
186
  *
187
- * @param string $userId The user's email address. The special value me can be
188
  * used to indicate the authenticated user.
189
  * @param Google_Service_Gmail_Message $postBody
190
  * @param array $optParams Optional parameters.
@@ -199,7 +199,7 @@ class Google_Service_Gmail_Resource_UsersMessages extends Google_Service_Resourc
199
  /**
200
  * Moves the specified message to the trash. (messages.trash)
201
  *
202
- * @param string $userId The user's email address. The special value me can be
203
  * used to indicate the authenticated user.
204
  * @param string $id The ID of the message to Trash.
205
  * @param array $optParams Optional parameters.
@@ -214,7 +214,7 @@ class Google_Service_Gmail_Resource_UsersMessages extends Google_Service_Resourc
214
  /**
215
  * Removes the specified message from the trash. (messages.untrash)
216
  *
217
- * @param string $userId The user's email address. The special value me can be
218
  * used to indicate the authenticated user.
219
  * @param string $id The ID of the message to remove from Trash.
220
  * @param array $optParams Optional parameters.
26
  class Google_Service_Gmail_Resource_UsersMessages extends Google_Service_Resource
27
  {
28
  /**
29
+ * Deletes many messages by message ID. Provides no guarantees that messages
30
  * were not already deleted or even existed at all. (messages.batchDelete)
31
  *
32
+ * @param string $userId The user's email address. The special value `me` can be
33
  * used to indicate the authenticated user.
34
  * @param Google_Service_Gmail_BatchDeleteMessagesRequest $postBody
35
  * @param array $optParams Optional parameters.
43
  /**
44
  * Modifies the labels on the specified messages. (messages.batchModify)
45
  *
46
+ * @param string $userId The user's email address. The special value `me` can be
47
  * used to indicate the authenticated user.
48
  * @param Google_Service_Gmail_BatchModifyMessagesRequest $postBody
49
  * @param array $optParams Optional parameters.
56
  }
57
  /**
58
  * Immediately and permanently deletes the specified message. This operation
59
+ * cannot be undone. Prefer `messages.trash` instead. (messages.delete)
60
  *
61
+ * @param string $userId The user's email address. The special value `me` can be
62
  * used to indicate the authenticated user.
63
  * @param string $id The ID of the message to delete.
64
  * @param array $optParams Optional parameters.
72
  /**
73
  * Gets the specified message. (messages.get)
74
  *
75
+ * @param string $userId The user's email address. The special value `me` can be
76
  * used to indicate the authenticated user.
77
  * @param string $id The ID of the message to retrieve.
78
  * @param array $optParams Optional parameters.
79
  *
80
  * @opt_param string format The format to return the message in.
81
+ * @opt_param string metadataHeaders When given and format is `METADATA`, only
82
  * include headers specified.
83
  * @return Google_Service_Gmail_Message
84
  */
93
  * scanning and classification similar to receiving via SMTP. Does not send a
94
  * message. (messages.import)
95
  *
96
+ * @param string $userId The user's email address. The special value `me` can be
97
  * used to indicate the authenticated user.
98
  * @param Google_Service_Gmail_Message $postBody
99
  * @param array $optParams Optional parameters.
100
  *
101
+ * @opt_param bool processForCalendar Process calendar invites in the email and
102
+ * add any extracted meetings to the Google Calendar for this user.
103
  * @opt_param bool deleted Mark the email as permanently deleted (not TRASH) and
104
  * only visible in Google Vault to a Vault administrator. Only used for G Suite
105
  * accounts.
107
  * message.
108
  * @opt_param bool neverMarkSpam Ignore the Gmail spam classifier decision and
109
  * never mark this email as SPAM in the mailbox.
 
 
110
  * @return Google_Service_Gmail_Message
111
  */
112
  public function import($userId, Google_Service_Gmail_Message $postBody, $optParams = array())
116
  return $this->call('import', array($params), "Google_Service_Gmail_Message");
117
  }
118
  /**
119
+ * Directly inserts a message into only this user's mailbox similar to `IMAP
120
+ * APPEND`, bypassing most scanning and classification. Does not send a message.
121
  * (messages.insert)
122
  *
123
+ * @param string $userId The user's email address. The special value `me` can be
124
  * used to indicate the authenticated user.
125
  * @param Google_Service_Gmail_Message $postBody
126
  * @param array $optParams Optional parameters.
127
  *
128
+ * @opt_param string internalDateSource Source for Gmail's internal date of the
129
+ * message.
130
  * @opt_param bool deleted Mark the email as permanently deleted (not TRASH) and
131
  * only visible in Google Vault to a Vault administrator. Only used for G Suite
132
  * accounts.
 
 
133
  * @return Google_Service_Gmail_Message
134
  */
135
  public function insert($userId, Google_Service_Gmail_Message $postBody, $optParams = array())
141
  /**
142
  * Lists the messages in the user's mailbox. (messages.listUsersMessages)
143
  *
144
+ * @param string $userId The user's email address. The special value `me` can be
145
  * used to indicate the authenticated user.
146
  * @param array $optParams Optional parameters.
147
  *
 
 
148
  * @opt_param string labelIds Only return messages with labels that match all of
149
  * the specified label IDs.
 
150
  * @opt_param string pageToken Page token to retrieve a specific page of results
151
  * in the list.
152
  * @opt_param string q Only return messages matching the specified query.
153
  * Supports the same query format as the Gmail search box. For example,
154
+ * `"from:someuser@example.com rfc822msgid: is:unread"`. Parameter cannot be
155
+ * used when accessing the api using the gmail.metadata scope.
156
+ * @opt_param string maxResults Maximum number of messages to return.
157
+ * @opt_param bool includeSpamTrash Include messages from `SPAM` and `TRASH` in
158
+ * the results.
159
  * @return Google_Service_Gmail_ListMessagesResponse
160
  */
161
  public function listUsersMessages($userId, $optParams = array())
167
  /**
168
  * Modifies the labels on the specified message. (messages.modify)
169
  *
170
+ * @param string $userId The user's email address. The special value `me` can be
171
  * used to indicate the authenticated user.
172
  * @param string $id The ID of the message to modify.
173
  * @param Google_Service_Gmail_ModifyMessageRequest $postBody
181
  return $this->call('modify', array($params), "Google_Service_Gmail_Message");
182
  }
183
  /**
184
+ * Sends the specified message to the recipients in the `To`, `Cc`, and `Bcc`
185
+ * headers. (messages.send)
186
  *
187
+ * @param string $userId The user's email address. The special value `me` can be
188
  * used to indicate the authenticated user.
189
  * @param Google_Service_Gmail_Message $postBody
190
  * @param array $optParams Optional parameters.
199
  /**
200
  * Moves the specified message to the trash. (messages.trash)
201
  *
202
+ * @param string $userId The user's email address. The special value `me` can be
203
  * used to indicate the authenticated user.
204
  * @param string $id The ID of the message to Trash.
205
  * @param array $optParams Optional parameters.
214
  /**
215
  * Removes the specified message from the trash. (messages.untrash)
216
  *
217
+ * @param string $userId The user's email address. The special value `me` can be
218
  * used to indicate the authenticated user.
219
  * @param string $id The ID of the message to remove from Trash.
220
  * @param array $optParams Optional parameters.
vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersMessagesAttachments.php CHANGED
@@ -28,7 +28,7 @@ class Google_Service_Gmail_Resource_UsersMessagesAttachments extends Google_Serv
28
  /**
29
  * Gets the specified message attachment. (attachments.get)
30
  *
31
- * @param string $userId The user's email address. The special value me can be
32
  * used to indicate the authenticated user.
33
  * @param string $messageId The ID of the message containing the attachment.
34
  * @param string $id The ID of the attachment.
28
  /**
29
  * Gets the specified message attachment. (attachments.get)
30
  *
31
+ * @param string $userId The user's email address. The special value `me` can be
32
  * used to indicate the authenticated user.
33
  * @param string $messageId The ID of the message containing the attachment.
34
  * @param string $id The ID of the attachment.
vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersSettings.php CHANGED
@@ -29,7 +29,7 @@ class Google_Service_Gmail_Resource_UsersSettings extends Google_Service_Resourc
29
  * Gets the auto-forwarding setting for the specified account.
30
  * (settings.getAutoForwarding)
31
  *
32
- * @param string $userId User's email address. The special value "me" can be
33
  * used to indicate the authenticated user.
34
  * @param array $optParams Optional parameters.
35
  * @return Google_Service_Gmail_AutoForwarding
@@ -43,7 +43,7 @@ class Google_Service_Gmail_Resource_UsersSettings extends Google_Service_Resourc
43
  /**
44
  * Gets IMAP settings. (settings.getImap)
45
  *
46
- * @param string $userId User's email address. The special value "me" can be
47
  * used to indicate the authenticated user.
48
  * @param array $optParams Optional parameters.
49
  * @return Google_Service_Gmail_ImapSettings
@@ -57,7 +57,7 @@ class Google_Service_Gmail_Resource_UsersSettings extends Google_Service_Resourc
57
  /**
58
  * Gets language settings. (settings.getLanguage)
59
  *
60
- * @param string $userId User's email address. The special value "me" can be
61
  * used to indicate the authenticated user.
62
  * @param array $optParams Optional parameters.
63
  * @return Google_Service_Gmail_LanguageSettings
@@ -71,7 +71,7 @@ class Google_Service_Gmail_Resource_UsersSettings extends Google_Service_Resourc
71
  /**
72
  * Gets POP settings. (settings.getPop)
73
  *
74
- * @param string $userId User's email address. The special value "me" can be
75
  * used to indicate the authenticated user.
76
  * @param array $optParams Optional parameters.
77
  * @return Google_Service_Gmail_PopSettings
@@ -85,7 +85,7 @@ class Google_Service_Gmail_Resource_UsersSettings extends Google_Service_Resourc
85
  /**
86
  * Gets vacation responder settings. (settings.getVacation)
87
  *
88
- * @param string $userId User's email address. The special value "me" can be
89
  * used to indicate the authenticated user.
90
  * @param array $optParams Optional parameters.
91
  * @return Google_Service_Gmail_VacationSettings
@@ -97,13 +97,13 @@ class Google_Service_Gmail_Resource_UsersSettings extends Google_Service_Resourc
97
  return $this->call('getVacation', array($params), "Google_Service_Gmail_VacationSettings");
98
  }
99
  /**
100
- * Updates the auto-forwarding setting for the specified account. A verified
101
  * forwarding address must be specified when auto-forwarding is enabled.
102
  *
103
  * This method is only available to service account clients that have been
104
  * delegated domain-wide authority. (settings.updateAutoForwarding)
105
  *
106
- * @param string $userId User's email address. The special value "me" can be
107
  * used to indicate the authenticated user.
108
  * @param Google_Service_Gmail_AutoForwarding $postBody
109
  * @param array $optParams Optional parameters.
@@ -118,7 +118,7 @@ class Google_Service_Gmail_Resource_UsersSettings extends Google_Service_Resourc
118
  /**
119
  * Updates IMAP settings. (settings.updateImap)
120
  *
121
- * @param string $userId User's email address. The special value "me" can be
122
  * used to indicate the authenticated user.
123
  * @param Google_Service_Gmail_ImapSettings $postBody
124
  * @param array $optParams Optional parameters.
@@ -133,13 +133,13 @@ class Google_Service_Gmail_Resource_UsersSettings extends Google_Service_Resourc
133
  /**
134
  * Updates language settings.
135
  *
136
- * If successful, the return object contains the displayLanguage that was saved
137
- * for the user, which may differ from the value passed into the request. This
138
- * is because the requested displayLanguage may not be directly supported by
139
- * Gmail but have a close variant that is, and so the variant may be chosen and
140
- * saved instead. (settings.updateLanguage)
141
  *
142
- * @param string $userId User's email address. The special value "me" can be
143
  * used to indicate the authenticated user.
144
  * @param Google_Service_Gmail_LanguageSettings $postBody
145
  * @param array $optParams Optional parameters.
@@ -154,7 +154,7 @@ class Google_Service_Gmail_Resource_UsersSettings extends Google_Service_Resourc
154
  /**
155
  * Updates POP settings. (settings.updatePop)
156
  *
157
- * @param string $userId User's email address. The special value "me" can be
158
  * used to indicate the authenticated user.
159
  * @param Google_Service_Gmail_PopSettings $postBody
160
  * @param array $optParams Optional parameters.
@@ -169,7 +169,7 @@ class Google_Service_Gmail_Resource_UsersSettings extends Google_Service_Resourc
169
  /**
170
  * Updates vacation responder settings. (settings.updateVacation)
171
  *
172
- * @param string $userId User's email address. The special value "me" can be
173
  * used to indicate the authenticated user.
174
  * @param Google_Service_Gmail_VacationSettings $postBody
175
  * @param array $optParams Optional parameters.
29
  * Gets the auto-forwarding setting for the specified account.
30
  * (settings.getAutoForwarding)
31
  *
32
+ * @param string $userId User's email address. The special value "me" can be
33
  * used to indicate the authenticated user.
34
  * @param array $optParams Optional parameters.
35
  * @return Google_Service_Gmail_AutoForwarding
43
  /**
44
  * Gets IMAP settings. (settings.getImap)
45
  *
46
+ * @param string $userId User's email address. The special value "me" can be
47
  * used to indicate the authenticated user.
48
  * @param array $optParams Optional parameters.
49
  * @return Google_Service_Gmail_ImapSettings
57
  /**
58
  * Gets language settings. (settings.getLanguage)
59
  *
60
+ * @param string $userId User's email address. The special value "me" can be
61
  * used to indicate the authenticated user.
62
  * @param array $optParams Optional parameters.
63
  * @return Google_Service_Gmail_LanguageSettings
71
  /**
72
  * Gets POP settings. (settings.getPop)
73
  *
74
+ * @param string $userId User's email address. The special value "me" can be
75
  * used to indicate the authenticated user.
76
  * @param array $optParams Optional parameters.
77
  * @return Google_Service_Gmail_PopSettings
85
  /**
86
  * Gets vacation responder settings. (settings.getVacation)
87
  *
88
+ * @param string $userId User's email address. The special value "me" can be
89
  * used to indicate the authenticated user.
90
  * @param array $optParams Optional parameters.
91
  * @return Google_Service_Gmail_VacationSettings
97
  return $this->call('getVacation', array($params), "Google_Service_Gmail_VacationSettings");
98
  }
99
  /**
100
+ * Updates the auto-forwarding setting for the specified account. A verified
101
  * forwarding address must be specified when auto-forwarding is enabled.
102
  *
103
  * This method is only available to service account clients that have been
104
  * delegated domain-wide authority. (settings.updateAutoForwarding)
105
  *
106
+ * @param string $userId User's email address. The special value "me" can be
107
  * used to indicate the authenticated user.
108
  * @param Google_Service_Gmail_AutoForwarding $postBody
109
  * @param array $optParams Optional parameters.
118
  /**
119
  * Updates IMAP settings. (settings.updateImap)
120
  *
121
+ * @param string $userId User's email address. The special value "me" can be
122
  * used to indicate the authenticated user.
123
  * @param Google_Service_Gmail_ImapSettings $postBody
124
  * @param array $optParams Optional parameters.
133
  /**
134
  * Updates language settings.
135
  *
136
+ * If successful, the return object contains the `displayLanguage` that was
137
+ * saved for the user, which may differ from the value passed into the request.
138
+ * This is because the requested `displayLanguage` may not be directly supported
139
+ * by Gmail but have a close variant that is, and so the variant may be chosen
140
+ * and saved instead. (settings.updateLanguage)
141
  *
142
+ * @param string $userId User's email address. The special value "me" can be
143
  * used to indicate the authenticated user.
144
  * @param Google_Service_Gmail_LanguageSettings $postBody
145
  * @param array $optParams Optional parameters.
154
  /**
155
  * Updates POP settings. (settings.updatePop)
156
  *
157
+ * @param string $userId User's email address. The special value "me" can be
158
  * used to indicate the authenticated user.
159
  * @param Google_Service_Gmail_PopSettings $postBody
160
  * @param array $optParams Optional parameters.
169
  /**
170
  * Updates vacation responder settings. (settings.updateVacation)
171
  *
172
+ * @param string $userId User's email address. The special value "me" can be
173
  * used to indicate the authenticated user.
174
  * @param Google_Service_Gmail_VacationSettings $postBody
175
  * @param array $optParams Optional parameters.
vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersSettingsDelegates.php CHANGED
@@ -26,9 +26,9 @@
26
  class Google_Service_Gmail_Resource_UsersSettingsDelegates extends Google_Service_Resource
27
  {
28
  /**
29
- * Adds a delegate with its verification status set directly to accepted,
30
- * without sending any verification email. The delegate user must be a member of
31
- * the same G Suite organization as the delegator user.
32
  *
33
  * Gmail imposes limitations on the number of delegates and delegators each user
34
  * in a G Suite organization can have. These limits depend on your organization,
@@ -43,7 +43,7 @@ class Google_Service_Gmail_Resource_UsersSettingsDelegates extends Google_Servic
43
  * This method is only available to service account clients that have been
44
  * delegated domain-wide authority. (delegates.create)
45
  *
46
- * @param string $userId User's email address. The special value "me" can be
47
  * used to indicate the authenticated user.
48
  * @param Google_Service_Gmail_Delegate $postBody
49
  * @param array $optParams Optional parameters.
@@ -65,7 +65,7 @@ class Google_Service_Gmail_Resource_UsersSettingsDelegates extends Google_Servic
65
  * This method is only available to service account clients that have been
66
  * delegated domain-wide authority. (delegates.delete)
67
  *
68
- * @param string $userId User's email address. The special value "me" can be
69
  * used to indicate the authenticated user.
70
  * @param string $delegateEmail The email address of the user to be removed as a
71
  * delegate.
@@ -86,7 +86,7 @@ class Google_Service_Gmail_Resource_UsersSettingsDelegates extends Google_Servic
86
  * This method is only available to service account clients that have been
87
  * delegated domain-wide authority. (delegates.get)
88
  *
89
- * @param string $userId User's email address. The special value "me" can be
90
  * used to indicate the authenticated user.
91
  * @param string $delegateEmail The email address of the user whose delegate
92
  * relationship is to be retrieved.
@@ -105,7 +105,7 @@ class Google_Service_Gmail_Resource_UsersSettingsDelegates extends Google_Servic
105
  * This method is only available to service account clients that have been
106
  * delegated domain-wide authority. (delegates.listUsersSettingsDelegates)
107
  *
108
- * @param string $userId User's email address. The special value "me" can be
109
  * used to indicate the authenticated user.
110
  * @param array $optParams Optional parameters.
111
  * @return Google_Service_Gmail_ListDelegatesResponse
26
  class Google_Service_Gmail_Resource_UsersSettingsDelegates extends Google_Service_Resource
27
  {
28
  /**
29
+ * Adds a delegate with its verification status set directly to `accepted`,
30
+ * without sending any verification email. The delegate user must be a member
31
+ * of the same G Suite organization as the delegator user.
32
  *
33
  * Gmail imposes limitations on the number of delegates and delegators each user
34
  * in a G Suite organization can have. These limits depend on your organization,
43
  * This method is only available to service account clients that have been
44
  * delegated domain-wide authority. (delegates.create)
45
  *
46
+ * @param string $userId User's email address. The special value "me" can be
47
  * used to indicate the authenticated user.
48
  * @param Google_Service_Gmail_Delegate $postBody
49
  * @param array $optParams Optional parameters.
65
  * This method is only available to service account clients that have been
66
  * delegated domain-wide authority. (delegates.delete)
67
  *
68
+ * @param string $userId User's email address. The special value "me" can be
69
  * used to indicate the authenticated user.
70
  * @param string $delegateEmail The email address of the user to be removed as a
71
  * delegate.
86
  * This method is only available to service account clients that have been
87
  * delegated domain-wide authority. (delegates.get)
88
  *
89
+ * @param string $userId User's email address. The special value "me" can be
90
  * used to indicate the authenticated user.
91
  * @param string $delegateEmail The email address of the user whose delegate
92
  * relationship is to be retrieved.
105
  * This method is only available to service account clients that have been
106
  * delegated domain-wide authority. (delegates.listUsersSettingsDelegates)
107
  *
108
+ * @param string $userId User's email address. The special value "me" can be
109
  * used to indicate the authenticated user.
110
  * @param array $optParams Optional parameters.
111
  * @return Google_Service_Gmail_ListDelegatesResponse
vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersSettingsForwardingAddresses.php CHANGED
@@ -26,15 +26,15 @@
26
  class Google_Service_Gmail_Resource_UsersSettingsForwardingAddresses extends Google_Service_Resource
27
  {
28
  /**
29
- * Creates a forwarding address. If ownership verification is required, a
30
  * message will be sent to the recipient and the resource's verification status
31
- * will be set to pending; otherwise, the resource will be created with
32
- * verification status set to accepted.
33
  *
34
  * This method is only available to service account clients that have been
35
  * delegated domain-wide authority. (forwardingAddresses.create)
36
  *
37
- * @param string $userId User's email address. The special value "me" can be
38
  * used to indicate the authenticated user.
39
  * @param Google_Service_Gmail_ForwardingAddress $postBody
40
  * @param array $optParams Optional parameters.
@@ -53,7 +53,7 @@ class Google_Service_Gmail_Resource_UsersSettingsForwardingAddresses extends Goo
53
  * This method is only available to service account clients that have been
54
  * delegated domain-wide authority. (forwardingAddresses.delete)
55
  *
56
- * @param string $userId User's email address. The special value "me" can be
57
  * used to indicate the authenticated user.
58
  * @param string $forwardingEmail The forwarding address to be deleted.
59
  * @param array $optParams Optional parameters.
@@ -67,7 +67,7 @@ class Google_Service_Gmail_Resource_UsersSettingsForwardingAddresses extends Goo
67
  /**
68
  * Gets the specified forwarding address. (forwardingAddresses.get)
69
  *
70
- * @param string $userId User's email address. The special value "me" can be
71
  * used to indicate the authenticated user.
72
  * @param string $forwardingEmail The forwarding address to be retrieved.
73
  * @param array $optParams Optional parameters.
@@ -83,7 +83,7 @@ class Google_Service_Gmail_Resource_UsersSettingsForwardingAddresses extends Goo
83
  * Lists the forwarding addresses for the specified account.
84
  * (forwardingAddresses.listUsersSettingsForwardingAddresses)
85
  *
86
- * @param string $userId User's email address. The special value "me" can be
87
  * used to indicate the authenticated user.
88
  * @param array $optParams Optional parameters.
89
  * @return Google_Service_Gmail_ListForwardingAddressesResponse
26
  class Google_Service_Gmail_Resource_UsersSettingsForwardingAddresses extends Google_Service_Resource
27
  {
28
  /**
29
+ * Creates a forwarding address. If ownership verification is required, a
30
  * message will be sent to the recipient and the resource's verification status
31
+ * will be set to `pending`; otherwise, the resource will be created with
32
+ * verification status set to `accepted`.
33
  *
34
  * This method is only available to service account clients that have been
35
  * delegated domain-wide authority. (forwardingAddresses.create)
36
  *
37
+ * @param string $userId User's email address. The special value "me" can be
38
  * used to indicate the authenticated user.
39
  * @param Google_Service_Gmail_ForwardingAddress $postBody
40
  * @param array $optParams Optional parameters.
53
  * This method is only available to service account clients that have been
54
  * delegated domain-wide authority. (forwardingAddresses.delete)
55
  *
56
+ * @param string $userId User's email address. The special value "me" can be
57
  * used to indicate the authenticated user.
58
  * @param string $forwardingEmail The forwarding address to be deleted.
59
  * @param array $optParams Optional parameters.
67
  /**
68
  * Gets the specified forwarding address. (forwardingAddresses.get)
69
  *
70
+ * @param string $userId User's email address. The special value "me" can be
71
  * used to indicate the authenticated user.
72
  * @param string $forwardingEmail The forwarding address to be retrieved.
73
  * @param array $optParams Optional parameters.
83
  * Lists the forwarding addresses for the specified account.
84
  * (forwardingAddresses.listUsersSettingsForwardingAddresses)
85
  *
86
+ * @param string $userId User's email address. The special value "me" can be
87
  * used to indicate the authenticated user.
88
  * @param array $optParams Optional parameters.
89
  * @return Google_Service_Gmail_ListForwardingAddressesResponse
vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersSettingsSendAs.php CHANGED
@@ -26,18 +26,18 @@
26
  class Google_Service_Gmail_Resource_UsersSettingsSendAs extends Google_Service_Resource
27
  {
28
  /**
29
- * Creates a custom "from" send-as alias. If an SMTP MSA is specified, Gmail
30
  * will attempt to connect to the SMTP service to validate the configuration
31
- * before creating the alias. If ownership verification is required for the
32
  * alias, a message will be sent to the email address and the resource's
33
- * verification status will be set to pending; otherwise, the resource will be
34
- * created with verification status set to accepted. If a signature is provided,
35
- * Gmail will sanitize the HTML before saving it with the alias.
36
  *
37
  * This method is only available to service account clients that have been
38
  * delegated domain-wide authority. (sendAs.create)
39
  *
40
- * @param string $userId User's email address. The special value "me" can be
41
  * used to indicate the authenticated user.
42
  * @param Google_Service_Gmail_SendAs $postBody
43
  * @param array $optParams Optional parameters.
@@ -50,13 +50,13 @@ class Google_Service_Gmail_Resource_UsersSettingsSendAs extends Google_Service_R
50
  return $this->call('create', array($params), "Google_Service_Gmail_SendAs");
51
  }
52
  /**
53
- * Deletes the specified send-as alias. Revokes any verification that may have
54
  * been required for using it.
55
  *
56
  * This method is only available to service account clients that have been
57
  * delegated domain-wide authority. (sendAs.delete)
58
  *
59
- * @param string $userId User's email address. The special value "me" can be
60
  * used to indicate the authenticated user.
61
  * @param string $sendAsEmail The send-as alias to be deleted.
62
  * @param array $optParams Optional parameters.
@@ -68,10 +68,10 @@ class Google_Service_Gmail_Resource_UsersSettingsSendAs extends Google_Service_R
68
  return $this->call('delete', array($params));
69
  }
70
  /**
71
- * Gets the specified send-as alias. Fails with an HTTP 404 error if the
72
  * specified address is not a member of the collection. (sendAs.get)
73
  *
74
- * @param string $userId User's email address. The special value "me" can be
75
  * used to indicate the authenticated user.
76
  * @param string $sendAsEmail The send-as alias to be retrieved.
77
  * @param array $optParams Optional parameters.
@@ -84,11 +84,11 @@ class Google_Service_Gmail_Resource_UsersSettingsSendAs extends Google_Service_R
84
  return $this->call('get', array($params), "Google_Service_Gmail_SendAs");
85
  }
86
  /**
87
- * Lists the send-as aliases for the specified account. The result includes the
88
  * primary send-as address associated with the account as well as any custom
89
  * "from" aliases. (sendAs.listUsersSettingsSendAs)
90
  *
91
- * @param string $userId User's email address. The special value "me" can be
92
  * used to indicate the authenticated user.
93
  * @param array $optParams Optional parameters.
94
  * @return Google_Service_Gmail_ListSendAsResponse
@@ -100,14 +100,9 @@ class Google_Service_Gmail_Resource_UsersSettingsSendAs extends Google_Service_R
100
  return $this->call('list', array($params), "Google_Service_Gmail_ListSendAsResponse");
101
  }
102
  /**
103
- * Updates a send-as alias. If a signature is provided, Gmail will sanitize the
104
- * HTML before saving it with the alias.
105
- *
106
- * Addresses other than the primary address for the account can only be updated
107
- * by service account clients that have been delegated domain-wide authority.
108
- * This method supports patch semantics. (sendAs.patch)
109
  *
110
- * @param string $userId User's email address. The special value "me" can be
111
  * used to indicate the authenticated user.
112
  * @param string $sendAsEmail The send-as alias to be updated.
113
  * @param Google_Service_Gmail_SendAs $postBody
@@ -121,14 +116,14 @@ class Google_Service_Gmail_Resource_UsersSettingsSendAs extends Google_Service_R
121
  return $this->call('patch', array($params), "Google_Service_Gmail_SendAs");
122
  }
123
  /**
124
- * Updates a send-as alias. If a signature is provided, Gmail will sanitize the
125
  * HTML before saving it with the alias.
126
  *
127
  * Addresses other than the primary address for the account can only be updated
128
  * by service account clients that have been delegated domain-wide authority.
129
  * (sendAs.update)
130
  *
131
- * @param string $userId User's email address. The special value "me" can be
132
  * used to indicate the authenticated user.
133
  * @param string $sendAsEmail The send-as alias to be updated.
134
  * @param Google_Service_Gmail_SendAs $postBody
@@ -143,12 +138,12 @@ class Google_Service_Gmail_Resource_UsersSettingsSendAs extends Google_Service_R
143
  }
144
  /**
145
  * Sends a verification email to the specified send-as alias address. The
146
- * verification status must be pending.
147
  *
148
  * This method is only available to service account clients that have been
149
  * delegated domain-wide authority. (sendAs.verify)
150
  *
151
- * @param string $userId User's email address. The special value "me" can be
152
  * used to indicate the authenticated user.
153
  * @param string $sendAsEmail The send-as alias to be verified.
154
  * @param array $optParams Optional parameters.
26
  class Google_Service_Gmail_Resource_UsersSettingsSendAs extends Google_Service_Resource
27
  {
28
  /**
29
+ * Creates a custom "from" send-as alias. If an SMTP MSA is specified, Gmail
30
  * will attempt to connect to the SMTP service to validate the configuration
31
+ * before creating the alias. If ownership verification is required for the
32
  * alias, a message will be sent to the email address and the resource's
33
+ * verification status will be set to `pending`; otherwise, the resource will be
34
+ * created with verification status set to `accepted`. If a signature is
35
+ * provided, Gmail will sanitize the HTML before saving it with the alias.
36
  *
37
  * This method is only available to service account clients that have been
38
  * delegated domain-wide authority. (sendAs.create)
39
  *
40
+ * @param string $userId User's email address. The special value "me" can be
41
  * used to indicate the authenticated user.
42
  * @param Google_Service_Gmail_SendAs $postBody
43
  * @param array $optParams Optional parameters.
50
  return $this->call('create', array($params), "Google_Service_Gmail_SendAs");
51
  }
52
  /**
53
+ * Deletes the specified send-as alias. Revokes any verification that may have
54
  * been required for using it.
55
  *
56
  * This method is only available to service account clients that have been
57
  * delegated domain-wide authority. (sendAs.delete)
58
  *
59
+ * @param string $userId User's email address. The special value "me" can be
60
  * used to indicate the authenticated user.
61
  * @param string $sendAsEmail The send-as alias to be deleted.
62
  * @param array $optParams Optional parameters.
68
  return $this->call('delete', array($params));
69
  }
70
  /**
71
+ * Gets the specified send-as alias. Fails with an HTTP 404 error if the
72
  * specified address is not a member of the collection. (sendAs.get)
73
  *
74
+ * @param string $userId User's email address. The special value "me" can be
75
  * used to indicate the authenticated user.
76
  * @param string $sendAsEmail The send-as alias to be retrieved.
77
  * @param array $optParams Optional parameters.
84
  return $this->call('get', array($params), "Google_Service_Gmail_SendAs");
85
  }
86
  /**
87
+ * Lists the send-as aliases for the specified account. The result includes the
88
  * primary send-as address associated with the account as well as any custom
89
  * "from" aliases. (sendAs.listUsersSettingsSendAs)
90
  *
91
+ * @param string $userId User's email address. The special value "me" can be
92
  * used to indicate the authenticated user.
93
  * @param array $optParams Optional parameters.
94
  * @return Google_Service_Gmail_ListSendAsResponse
100
  return $this->call('list', array($params), "Google_Service_Gmail_ListSendAsResponse");
101
  }
102
  /**
103
+ * Patch the specified send-as alias. (sendAs.patch)
 
 
 
 
 
104
  *
105
+ * @param string $userId User's email address. The special value "me" can be
106
  * used to indicate the authenticated user.
107
  * @param string $sendAsEmail The send-as alias to be updated.
108
  * @param Google_Service_Gmail_SendAs $postBody
116
  return $this->call('patch', array($params), "Google_Service_Gmail_SendAs");
117
  }
118
  /**
119
+ * Updates a send-as alias. If a signature is provided, Gmail will sanitize the
120
  * HTML before saving it with the alias.
121
  *
122
  * Addresses other than the primary address for the account can only be updated
123
  * by service account clients that have been delegated domain-wide authority.
124
  * (sendAs.update)
125
  *
126
+ * @param string $userId User's email address. The special value "me" can be
127
  * used to indicate the authenticated user.
128
  * @param string $sendAsEmail The send-as alias to be updated.
129
  * @param Google_Service_Gmail_SendAs $postBody
138
  }
139
  /**
140
  * Sends a verification email to the specified send-as alias address. The
141
+ * verification status must be `pending`.
142
  *
143
  * This method is only available to service account clients that have been
144
  * delegated domain-wide authority. (sendAs.verify)
145
  *
146
+ * @param string $userId User's email address. The special value "me" can be
147
  * used to indicate the authenticated user.
148
  * @param string $sendAsEmail The send-as alias to be verified.
149
  * @param array $optParams Optional parameters.
vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersSettingsSendAsSmimeInfo.php CHANGED
@@ -29,7 +29,7 @@ class Google_Service_Gmail_Resource_UsersSettingsSendAsSmimeInfo extends Google_
29
  * Deletes the specified S/MIME config for the specified send-as alias.
30
  * (smimeInfo.delete)
31
  *
32
- * @param string $userId The user's email address. The special value me can be
33
  * used to indicate the authenticated user.
34
  * @param string $sendAsEmail The email address that appears in the "From:"
35
  * header for mail sent using this alias.
@@ -46,7 +46,7 @@ class Google_Service_Gmail_Resource_UsersSettingsSendAsSmimeInfo extends Google_
46
  * Gets the specified S/MIME config for the specified send-as alias.
47
  * (smimeInfo.get)
48
  *
49
- * @param string $userId The user's email address. The special value me can be
50
  * used to indicate the authenticated user.
51
  * @param string $sendAsEmail The email address that appears in the "From:"
52
  * header for mail sent using this alias.
@@ -64,7 +64,7 @@ class Google_Service_Gmail_Resource_UsersSettingsSendAsSmimeInfo extends Google_
64
  * Insert (upload) the given S/MIME config for the specified send-as alias. Note
65
  * that pkcs12 format is required for the key. (smimeInfo.insert)
66
  *
67
- * @param string $userId The user's email address. The special value me can be
68
  * used to indicate the authenticated user.
69
  * @param string $sendAsEmail The email address that appears in the "From:"
70
  * header for mail sent using this alias.
@@ -82,7 +82,7 @@ class Google_Service_Gmail_Resource_UsersSettingsSendAsSmimeInfo extends Google_
82
  * Lists S/MIME configs for the specified send-as alias.
83
  * (smimeInfo.listUsersSettingsSendAsSmimeInfo)
84
  *
85
- * @param string $userId The user's email address. The special value me can be
86
  * used to indicate the authenticated user.
87
  * @param string $sendAsEmail The email address that appears in the "From:"
88
  * header for mail sent using this alias.
@@ -99,7 +99,7 @@ class Google_Service_Gmail_Resource_UsersSettingsSendAsSmimeInfo extends Google_
99
  * Sets the default S/MIME config for the specified send-as alias.
100
  * (smimeInfo.setDefault)
101
  *
102
- * @param string $userId The user's email address. The special value me can be
103
  * used to indicate the authenticated user.
104
  * @param string $sendAsEmail The email address that appears in the "From:"
105
  * header for mail sent using this alias.
29
  * Deletes the specified S/MIME config for the specified send-as alias.
30
  * (smimeInfo.delete)
31
  *
32
+ * @param string $userId The user's email address. The special value `me` can be
33
  * used to indicate the authenticated user.
34
  * @param string $sendAsEmail The email address that appears in the "From:"
35
  * header for mail sent using this alias.
46
  * Gets the specified S/MIME config for the specified send-as alias.
47
  * (smimeInfo.get)
48
  *
49
+ * @param string $userId The user's email address. The special value `me` can be
50
  * used to indicate the authenticated user.
51
  * @param string $sendAsEmail The email address that appears in the "From:"
52
  * header for mail sent using this alias.
64
  * Insert (upload) the given S/MIME config for the specified send-as alias. Note
65
  * that pkcs12 format is required for the key. (smimeInfo.insert)
66
  *
67
+ * @param string $userId The user's email address. The special value `me` can be
68
  * used to indicate the authenticated user.
69
  * @param string $sendAsEmail The email address that appears in the "From:"
70
  * header for mail sent using this alias.
82
  * Lists S/MIME configs for the specified send-as alias.
83
  * (smimeInfo.listUsersSettingsSendAsSmimeInfo)
84
  *
85
+ * @param string $userId The user's email address. The special value `me` can be
86
  * used to indicate the authenticated user.
87
  * @param string $sendAsEmail The email address that appears in the "From:"
88
  * header for mail sent using this alias.
99
  * Sets the default S/MIME config for the specified send-as alias.
100
  * (smimeInfo.setDefault)
101
  *
102
+ * @param string $userId The user's email address. The special value `me` can be
103
  * used to indicate the authenticated user.
104
  * @param string $sendAsEmail The email address that appears in the "From:"
105
  * header for mail sent using this alias.
vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersThreads.php CHANGED
@@ -27,9 +27,9 @@ class Google_Service_Gmail_Resource_UsersThreads extends Google_Service_Resource
27
  {
28
  /**
29
  * Immediately and permanently deletes the specified thread. This operation
30
- * cannot be undone. Prefer threads.trash instead. (threads.delete)
31
  *
32
- * @param string $userId The user's email address. The special value me can be
33
  * used to indicate the authenticated user.
34
  * @param string $id ID of the Thread to delete.
35
  * @param array $optParams Optional parameters.
@@ -43,7 +43,7 @@ class Google_Service_Gmail_Resource_UsersThreads extends Google_Service_Resource
43
  /**
44
  * Gets the specified thread. (threads.get)
45
  *
46
- * @param string $userId The user's email address. The special value me can be
47
  * used to indicate the authenticated user.
48
  * @param string $id The ID of the thread to retrieve.
49
  * @param array $optParams Optional parameters.
@@ -62,21 +62,21 @@ class Google_Service_Gmail_Resource_UsersThreads extends Google_Service_Resource
62
  /**
63
  * Lists the threads in the user's mailbox. (threads.listUsersThreads)
64
  *
65
- * @param string $userId The user's email address. The special value me can be
66
  * used to indicate the authenticated user.
67
  * @param array $optParams Optional parameters.
68
  *
69
- * @opt_param bool includeSpamTrash Include threads from SPAM and TRASH in the
70
- * results.
71
- * @opt_param string labelIds Only return threads with labels that match all of
72
- * the specified label IDs.
73
  * @opt_param string maxResults Maximum number of threads to return.
74
- * @opt_param string pageToken Page token to retrieve a specific page of results
75
- * in the list.
76
  * @opt_param string q Only return threads matching the specified query.
77
  * Supports the same query format as the Gmail search box. For example,
78
- * "from:someuser@example.com rfc822msgid: is:unread". Parameter cannot be used
79
- * when accessing the api using the gmail.metadata scope.
 
 
 
 
80
  * @return Google_Service_Gmail_ListThreadsResponse
81
  */
82
  public function listUsersThreads($userId, $optParams = array())
@@ -89,7 +89,7 @@ class Google_Service_Gmail_Resource_UsersThreads extends Google_Service_Resource
89
  * Modifies the labels applied to the thread. This applies to all messages in
90
  * the thread. (threads.modify)
91
  *
92
- * @param string $userId The user's email address. The special value me can be
93
  * used to indicate the authenticated user.
94
  * @param string $id The ID of the thread to modify.
95
  * @param Google_Service_Gmail_ModifyThreadRequest $postBody
@@ -105,7 +105,7 @@ class Google_Service_Gmail_Resource_UsersThreads extends Google_Service_Resource
105
  /**
106
  * Moves the specified thread to the trash. (threads.trash)
107
  *
108
- * @param string $userId The user's email address. The special value me can be
109
  * used to indicate the authenticated user.
110
  * @param string $id The ID of the thread to Trash.
111
  * @param array $optParams Optional parameters.
@@ -120,7 +120,7 @@ class Google_Service_Gmail_Resource_UsersThreads extends Google_Service_Resource
120
  /**
121
  * Removes the specified thread from the trash. (threads.untrash)
122
  *
123
- * @param string $userId The user's email address. The special value me can be
124
  * used to indicate the authenticated user.
125
  * @param string $id The ID of the thread to remove from Trash.
126
  * @param array $optParams Optional parameters.
27
  {
28
  /**
29
  * Immediately and permanently deletes the specified thread. This operation
30
+ * cannot be undone. Prefer `threads.trash` instead. (threads.delete)
31
  *
32
+ * @param string $userId The user's email address. The special value `me` can be
33
  * used to indicate the authenticated user.
34
  * @param string $id ID of the Thread to delete.
35
  * @param array $optParams Optional parameters.
43
  /**
44
  * Gets the specified thread. (threads.get)
45
  *
46
+ * @param string $userId The user's email address. The special value `me` can be
47
  * used to indicate the authenticated user.
48
  * @param string $id The ID of the thread to retrieve.
49
  * @param array $optParams Optional parameters.
62
  /**
63
  * Lists the threads in the user's mailbox. (threads.listUsersThreads)
64
  *
65
+ * @param string $userId The user's email address. The special value `me` can be
66
  * used to indicate the authenticated user.
67
  * @param array $optParams Optional parameters.
68
  *
 
 
 
 
69
  * @opt_param string maxResults Maximum number of threads to return.
70
+ * @opt_param bool includeSpamTrash Include threads from `SPAM` and `TRASH` in
71
+ * the results.
72
  * @opt_param string q Only return threads matching the specified query.
73
  * Supports the same query format as the Gmail search box. For example,
74
+ * `"from:someuser@example.com rfc822msgid: is:unread"`. Parameter cannot be
75
+ * used when accessing the api using the gmail.metadata scope.
76
+ * @opt_param string pageToken Page token to retrieve a specific page of results
77
+ * in the list.
78
+ * @opt_param string labelIds Only return threads with labels that match all of
79
+ * the specified label IDs.
80
  * @return Google_Service_Gmail_ListThreadsResponse
81
  */
82
  public function listUsersThreads($userId, $optParams = array())
89
  * Modifies the labels applied to the thread. This applies to all messages in
90
  * the thread. (threads.modify)
91
  *
92
+ * @param string $userId The user's email address. The special value `me` can be
93
  * used to indicate the authenticated user.
94
  * @param string $id The ID of the thread to modify.
95
  * @param Google_Service_Gmail_ModifyThreadRequest $postBody
105
  /**
106
  * Moves the specified thread to the trash. (threads.trash)
107
  *
108
+ * @param string $userId The user's email address. The special value `me` can be
109
  * used to indicate the authenticated user.
110
  * @param string $id The ID of the thread to Trash.
111
  * @param array $optParams Optional parameters.
120
  /**
121
  * Removes the specified thread from the trash. (threads.untrash)
122
  *
123
+ * @param string $userId The user's email address. The special value `me` can be
124
  * used to indicate the authenticated user.
125
  * @param string $id The ID of the thread to remove from Trash.
126
  * @param array $optParams Optional parameters.
vendor/google/auth/src/Credentials/GCECredentials.php CHANGED
@@ -25,6 +25,7 @@ use Google\Auth\Iam;
25
  use Google\Auth\ProjectIdProviderInterface;
26
  use Google\Auth\SignBlobInterface;
27
  use GuzzleHttp\Exception\ClientException;
 
28
  use GuzzleHttp\Exception\RequestException;
29
  use GuzzleHttp\Exception\ServerException;
30
  use GuzzleHttp\Psr7\Request;
@@ -283,6 +284,7 @@ class GCECredentials extends CredentialsLoader implements
283
  } catch (ClientException $e) {
284
  } catch (ServerException $e) {
285
  } catch (RequestException $e) {
 
286
  }
287
  }
288
  return false;
25
  use Google\Auth\ProjectIdProviderInterface;
26
  use Google\Auth\SignBlobInterface;
27
  use GuzzleHttp\Exception\ClientException;
28
+ use GuzzleHttp\Exception\ConnectException;
29
  use GuzzleHttp\Exception\RequestException;
30
  use GuzzleHttp\Exception\ServerException;
31
  use GuzzleHttp\Psr7\Request;
284
  } catch (ClientException $e) {
285
  } catch (ServerException $e) {
286
  } catch (RequestException $e) {
287
+ } catch (ConnectException $e) {
288
  }
289
  }
290
  return false;
vendor/google/auth/src/FetchAuthTokenCache.php CHANGED
@@ -84,14 +84,23 @@ class FetchAuthTokenCache implements
84
  // TODO: correct caching; enable the cache to be cleared.
85
  $cacheKey = $this->fetcher->getCacheKey();
86
  $cached = $this->getCachedValue($cacheKey);
87
- if (!empty($cached)) {
88
- return ['access_token' => $cached];
 
 
 
 
 
 
 
 
89
  }
90
 
91
  $auth_token = $this->fetcher->fetchAuthToken($httpHandler);
92
 
93
- if (isset($auth_token['access_token'])) {
94
- $this->setCachedValue($cacheKey, $auth_token['access_token']);
 
95
  }
96
 
97
  return $auth_token;
84
  // TODO: correct caching; enable the cache to be cleared.
85
  $cacheKey = $this->fetcher->getCacheKey();
86
  $cached = $this->getCachedValue($cacheKey);
87
+ if (is_array($cached)) {
88
+ if (empty($cached['expires_at'])) {
89
+ // If there is no expiration data, assume token is not expired.
90
+ // (for JwtAccess and ID tokens)
91
+ return $cached;
92
+ }
93
+ if (time() < $cached['expires_at']) {
94
+ // access token is not expired
95
+ return $cached;
96
+ }
97
  }
98
 
99
  $auth_token = $this->fetcher->fetchAuthToken($httpHandler);
100
 
101
+ if (isset($auth_token['access_token']) ||
102
+ isset($auth_token['id_token'])) {
103
+ $this->setCachedValue($cacheKey, $auth_token);
104
  }
105
 
106
  return $auth_token;
vendor/google/auth/src/Middleware/AuthTokenMiddleware.php CHANGED
@@ -124,7 +124,11 @@ class AuthTokenMiddleware
124
  if (array_key_exists('access_token', $auth_tokens)) {
125
  // notify the callback if applicable
126
  if ($this->tokenCallback) {
127
- call_user_func($this->tokenCallback, $this->fetcher->getCacheKey(), $auth_tokens['access_token']);
 
 
 
 
128
  }
129
 
130
  return $auth_tokens['access_token'];
124
  if (array_key_exists('access_token', $auth_tokens)) {
125
  // notify the callback if applicable
126
  if ($this->tokenCallback) {
127
+ call_user_func(
128
+ $this->tokenCallback,
129
+ $this->fetcher->getCacheKey(),
130
+ $auth_tokens['access_token']
131
+ );
132
  }
133
 
134
  return $auth_tokens['access_token'];
vendor/google/auth/src/OAuth2.php CHANGED
@@ -543,6 +543,10 @@ class OAuth2 implements FetchAuthTokenInterface
543
  return implode(':', $this->scope);
544
  }
545
 
 
 
 
 
546
  // If scope has not set, return null to indicate no caching.
547
  return null;
548
  }
543
  return implode(':', $this->scope);
544
  }
545
 
546
+ if ($this->audience) {
547
+ return $this->audience;
548
+ }
549
+
550
  // If scope has not set, return null to indicate no caching.
551
  return null;
552
  }
vendor/monolog/monolog/src/Monolog/Handler/RavenHandler.php CHANGED
@@ -86,7 +86,7 @@ class RavenHandler extends AbstractProcessingHandler
86
 
87
  // the record with the highest severity is the "main" one
88
  $record = array_reduce($records, function ($highest, $record) {
89
- if ($record['level'] > $highest['level']) {
90
  return $record;
91
  }
92
 
86
 
87
  // the record with the highest severity is the "main" one
88
  $record = array_reduce($records, function ($highest, $record) {
89
+ if (null === $highest || $record['level'] > $highest['level']) {
90
  return $record;
91
  }
92
 
vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php CHANGED
@@ -106,7 +106,8 @@ class StreamHandler extends AbstractProcessingHandler
106
  restore_error_handler();
107
  if (!is_resource($this->stream)) {
108
  $this->stream = null;
109
- throw new \UnexpectedValueException(sprintf('The stream or file "%s" could not be opened: '.$this->errorMessage, $this->url));
 
110
  }
111
  }
112
 
106
  restore_error_handler();
107
  if (!is_resource($this->stream)) {
108
  $this->stream = null;
109
+
110
+ throw new \UnexpectedValueException(sprintf('The stream or file "%s" could not be opened in append mode: '.$this->errorMessage, $this->url));
111
  }
112
  }
113
 
vendor/monolog/monolog/src/Monolog/Processor/WebProcessor.php CHANGED
@@ -52,6 +52,10 @@ class WebProcessor implements ProcessorInterface
52
  throw new \UnexpectedValueException('$serverData must be an array or object implementing ArrayAccess.');
53
  }
54
 
 
 
 
 
55
  if (null !== $extraFields) {
56
  if (isset($extraFields[0])) {
57
  foreach (array_keys($this->extraFields) as $fieldName) {
@@ -104,10 +108,6 @@ class WebProcessor implements ProcessorInterface
104
  $extra[$extraName] = isset($this->serverData[$serverName]) ? $this->serverData[$serverName] : null;
105
  }
106
 
107
- if (isset($this->serverData['UNIQUE_ID'])) {
108
- $extra['unique_id'] = $this->serverData['UNIQUE_ID'];
109
- }
110
-
111
  return $extra;
112
  }
113
  }
52
  throw new \UnexpectedValueException('$serverData must be an array or object implementing ArrayAccess.');
53
  }
54
 
55
+ if (isset($this->serverData['UNIQUE_ID'])) {
56
+ $this->extraFields['unique_id'] = 'UNIQUE_ID';
57
+ }
58
+
59
  if (null !== $extraFields) {
60
  if (isset($extraFields[0])) {
61
  foreach (array_keys($this->extraFields) as $fieldName) {
108
  $extra[$extraName] = isset($this->serverData[$serverName]) ? $this->serverData[$serverName] : null;
109
  }
110
 
 
 
 
 
111
  return $extra;
112
  }
113
  }
wp_mail_smtp.php CHANGED
@@ -1,7 +1,9 @@
1
  <?php
2
  /**
3
  * Plugin Name: WP Mail SMTP
4
- * Version: 2.2.1
 
 
5
  * Plugin URI: https://wpmailsmtp.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
@@ -203,7 +205,7 @@ if ( ! function_exists( 'wp_mail_smtp_insecure_php_version_notice' ) ) {
203
  }
204
 
205
  if ( ! defined( 'WPMS_PLUGIN_VER' ) ) {
206
- define( 'WPMS_PLUGIN_VER', '2.2.1' );
207
  }
208
  if ( ! defined( 'WPMS_PHP_VER' ) ) {
209
  define( 'WPMS_PHP_VER', '5.5.0' );
1
  <?php
2
  /**
3
  * Plugin Name: WP Mail SMTP
4
+ * Version: 2.3.1
5
+ * Requires at least: 4.9
6
+ * Requires PHP: 5.5
7
  * Plugin URI: https://wpmailsmtp.com/
8
  * 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.
9
  * Author: WPForms
205
  }
206
 
207
  if ( ! defined( 'WPMS_PLUGIN_VER' ) ) {
208
+ define( 'WPMS_PLUGIN_VER', '2.3.1' );
209
  }
210
  if ( ! defined( 'WPMS_PHP_VER' ) ) {
211
  define( 'WPMS_PHP_VER', '5.5.0' );