Post SMTP Mailer/Email Log - Version 1.8.4

Version Description

  • 2018-04-18
  • New: Multiple notification options to failed emails
  • Upgrade: The Gmail code was upgraded and code change to support large attachments
  • Add: Fix release lock file error
  • Change: "Not configured..." message is now dismissible
Download this release

Release Info

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

Code changes from version 1.8.3 to 1.8.4

Files changed (492) hide show
  1. Postman/Postman-Configuration/PostmanConfigurationController.php +70 -1
  2. Postman/Postman-Configuration/PostmanRegisterConfigurationSettings.php +75 -0
  3. Postman/Postman-Configuration/postman_manual_config.js +23 -2
  4. Postman/Postman-Configuration/postman_wizard.js +20 -0
  5. Postman/Postman-Connectivity-Test/PostmanConnectivityTestController.php +1 -1
  6. Postman/Postman-Email-Log/PostmanEmailLogService.php +28 -6
  7. Postman/Postman-Mail/PostmanGmailApiModuleTransport.php +3 -4
  8. Postman/Postman-Mail/PostmanGmailApiModuleZendMailTransport.php +35 -5
  9. Postman/Postman-Mail/PostmanSendGridMailEngine.php +20 -18
  10. Postman/Postman-Mail/PostmanTransportRegistry.php +12 -3
  11. Postman/Postman-Mail/PostmanWooCommerce.php +149 -0
  12. Postman/Postman-Mail/Zend-1.12.10/Mail/Transport/Abstract.php +1 -1
  13. Postman/Postman-Mail/google-api-client/composer.json +5 -0
  14. Postman/Postman-Mail/google-api-client/composer.lock +702 -0
  15. Postman/Postman-Mail/google-api-client/vendor/autoload.php +7 -0
  16. Postman/Postman-Mail/google-api-client/vendor/composer/ClassLoader.php +413 -0
  17. Postman/Postman-Mail/google-api-client/vendor/composer/LICENSE +433 -0
  18. Postman/Postman-Mail/google-api-client/vendor/composer/autoload_classmap.php +11 -0
  19. Postman/Postman-Mail/google-api-client/vendor/composer/autoload_files.php +13 -0
  20. Postman/Postman-Mail/google-api-client/vendor/composer/autoload_namespaces.php +11 -0
  21. Postman/Postman-Mail/google-api-client/vendor/composer/autoload_psr4.php +19 -0
  22. Postman/Postman-Mail/google-api-client/vendor/composer/autoload_real.php +59 -0
  23. Postman/Postman-Mail/google-api-client/vendor/composer/installed.json +709 -0
  24. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/.gitignore +4 -0
  25. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/.travis.yml +15 -0
  26. Postman/Postman-Mail/{google-api-php-client-1.1.2 → google-api-client/vendor/google/apiclient-services}/CONTRIBUTING.md +0 -0
  27. Postman/Postman-Mail/{google-api-php-client-1.1.2 → google-api-client/vendor/google/apiclient-services}/LICENSE +0 -0
  28. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/README.md +30 -0
  29. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/composer.json +19 -0
  30. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/phpunit.xml +11 -0
  31. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail.php +1136 -0
  32. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/AutoForwarding.php +48 -0
  33. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/BatchDeleteMessagesRequest.php +31 -0
  34. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/BatchModifyMessagesRequest.php +49 -0
  35. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/Draft.php +46 -0
  36. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/Filter.php +62 -0
  37. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/FilterAction.php +49 -0
  38. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/FilterCriteria.php +102 -0
  39. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/ForwardingAddress.php +39 -0
  40. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/History.php +111 -0
  41. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/HistoryLabelAdded.php +47 -0
  42. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/HistoryLabelRemoved.php +47 -0
  43. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/HistoryMessageAdded.php +37 -0
  44. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/HistoryMessageDeleted.php +37 -0
  45. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/ImapSettings.php +57 -0
  46. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/Label.php +118 -0
  47. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/LabelColor.php +39 -0
  48. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/ListDraftsResponse.php +56 -0
  49. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/ListFiltersResponse.php +38 -0
  50. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/ListForwardingAddressesResponse.php +38 -0
  51. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/ListHistoryResponse.php +56 -0
  52. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/ListLabelsResponse.php +38 -0
  53. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/ListMessagesResponse.php +56 -0
  54. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/ListSendAsResponse.php +38 -0
  55. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/ListSmimeInfoResponse.php +38 -0
  56. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/ListThreadsResponse.php +56 -0
  57. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/Message.php +110 -0
  58. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/MessagePart.php +97 -0
  59. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/MessagePartBody.php +48 -0
  60. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/MessagePartHeader.php +39 -0
  61. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/ModifyMessageRequest.php +40 -0
  62. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/ModifyThreadRequest.php +40 -0
  63. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/PopSettings.php +39 -0
  64. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/Profile.php +57 -0
  65. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/Users.php +71 -0
  66. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersDrafts.php +130 -0
  67. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersHistory.php +61 -0
  68. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersLabels.php +120 -0
  69. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersMessages.php +229 -0
  70. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersMessagesAttachments.php +44 -0
  71. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersSettings.php +149 -0
  72. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersSettingsFilters.php +86 -0
  73. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersSettingsForwardingAddresses.php +97 -0
  74. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersSettingsSendAs.php +162 -0
  75. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersSettingsSendAsSmimeInfo.php +115 -0
  76. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/Resource/UsersThreads.php +135 -0
  77. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/SendAs.php +109 -0
  78. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/SmimeInfo.php +84 -0
  79. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/SmtpMsa.php +66 -0
  80. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/Thread.php +65 -0
  81. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/VacationSettings.php +93 -0
  82. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/WatchRequest.php +49 -0
  83. Postman/Postman-Mail/google-api-client/vendor/google/apiclient-services/src/Google/Service/Gmail/WatchResponse.php +39 -0
  84. Postman/Postman-Mail/google-api-client/vendor/google/apiclient/.gitattributes +9 -0
  85. Postman/Postman-Mail/google-api-client/vendor/google/apiclient/LICENSE +203 -0
  86. Postman/Postman-Mail/google-api-client/vendor/google/apiclient/README.md +368 -0
  87. Postman/Postman-Mail/google-api-client/vendor/google/apiclient/composer.json +41 -0
  88. Postman/Postman-Mail/google-api-client/vendor/google/apiclient/src/Google/AccessToken/Revoke.php +78 -0
  89. Postman/Postman-Mail/google-api-client/vendor/google/apiclient/src/Google/AccessToken/Verify.php +272 -0
  90. Postman/Postman-Mail/google-api-client/vendor/google/apiclient/src/Google/AuthHandler/AuthHandlerFactory.php +42 -0
  91. Postman/Postman-Mail/google-api-client/vendor/google/apiclient/src/Google/AuthHandler/Guzzle5AuthHandler.php +99 -0
  92. Postman/Postman-Mail/google-api-client/vendor/google/apiclient/src/Google/AuthHandler/Guzzle6AuthHandler.php +106 -0
  93. Postman/Postman-Mail/google-api-client/vendor/google/apiclient/src/Google/Client.php +1118 -0
  94. Postman/Postman-Mail/google-api-client/vendor/google/apiclient/src/Google/Collection.php +100 -0
  95. Postman/Postman-Mail/{google-api-php-client-1.1.2 → google-api-client/vendor/google/apiclient}/src/Google/Exception.php +1 -1
  96. Postman/Postman-Mail/google-api-client/vendor/google/apiclient/src/Google/Http/Batch.php +249 -0
  97. Postman/Postman-Mail/{google-api-php-client-1.1.2 → google-api-client/vendor/google/apiclient}/src/Google/Http/MediaFileUpload.php +131 -80
  98. Postman/Postman-Mail/google-api-client/vendor/google/apiclient/src/Google/Http/REST.php +182 -0
  99. Postman/Postman-Mail/{google-api-php-client-1.1.2 → google-api-client/vendor/google/apiclient}/src/Google/Model.php +75 -39
  100. Postman/Postman-Mail/{google-api-php-client-1.1.2 → google-api-client/vendor/google/apiclient}/src/Google/Service.php +21 -4
  101. Postman/Postman-Mail/{google-api-php-client-1.1.2 → google-api-client/vendor/google/apiclient}/src/Google/Service/Exception.php +19 -4
  102. Postman/Postman-Mail/google-api-client/vendor/google/apiclient/src/Google/Service/README.md +5 -0
  103. Postman/Postman-Mail/{google-api-php-client-1.1.2 → google-api-client/vendor/google/apiclient}/src/Google/Service/Resource.php +107 -53
  104. Postman/Postman-Mail/{google-api-php-client-1.1.2/src/Google/Logger → google-api-client/vendor/google/apiclient/src/Google/Task}/Exception.php +1 -3
  105. Postman/Postman-Mail/{google-api-php-client-1.1.2/src/Google/IO/Exception.php → google-api-client/vendor/google/apiclient/src/Google/Task/Retryable.php} +6 -4
  106. Postman/Postman-Mail/google-api-client/vendor/google/apiclient/src/Google/Task/Runner.php +281 -0
  107. Postman/Postman-Mail/{google-api-php-client-1.1.2/src/Google/Utils/URITemplate.php → google-api-client/vendor/google/apiclient/src/Google/Utils/UriTemplate.php} +13 -13
  108. Postman/Postman-Mail/google-api-client/vendor/google/apiclient/src/Google/autoload.php +21 -0
  109. Postman/Postman-Mail/google-api-client/vendor/google/auth/.editorconfig +18 -0
  110. Postman/Postman-Mail/google-api-client/vendor/google/auth/.gitignore +3 -0
  111. Postman/Postman-Mail/google-api-client/vendor/google/auth/.php_cs +54 -0
  112. Postman/Postman-Mail/google-api-client/vendor/google/auth/.travis.yml +32 -0
  113. Postman/Postman-Mail/google-api-client/vendor/google/auth/COPYING +202 -0
  114. Postman/Postman-Mail/google-api-client/vendor/google/auth/LICENSE +203 -0
  115. Postman/Postman-Mail/google-api-client/vendor/google/auth/README.md +150 -0
  116. Postman/Postman-Mail/{google-api-php-client-1.1.2/src/Google/Logger/Null.php → google-api-client/vendor/google/auth/autoload.php} +15 -22
  117. Postman/Postman-Mail/google-api-client/vendor/google/auth/composer.json +27 -0
  118. Postman/Postman-Mail/google-api-client/vendor/google/auth/src/ApplicationDefaultCredentials.php +173 -0
  119. Postman/Postman-Mail/{google-api-php-client-1.1.2/src/Google/Cache/Exception.php → google-api-client/vendor/google/auth/src/Cache/InvalidArgumentException.php} +5 -3
  120. Postman/Postman-Mail/google-api-client/vendor/google/auth/src/Cache/Item.php +185 -0
  121. Postman/Postman-Mail/google-api-client/vendor/google/auth/src/Cache/MemoryCacheItemPool.php +154 -0
  122. Postman/Postman-Mail/google-api-client/vendor/google/auth/src/CacheTrait.php +83 -0
  123. Postman/Postman-Mail/google-api-client/vendor/google/auth/src/Credentials/AppIdentityCredentials.php +159 -0
  124. Postman/Postman-Mail/google-api-client/vendor/google/auth/src/Credentials/GCECredentials.php +219 -0
  125. Postman/Postman-Mail/google-api-client/vendor/google/auth/src/Credentials/IAMCredentials.php +89 -0
  126. Postman/Postman-Mail/google-api-client/vendor/google/auth/src/Credentials/ServiceAccountCredentials.php +177 -0
  127. Postman/Postman-Mail/google-api-client/vendor/google/auth/src/Credentials/ServiceAccountJwtAccessCredentials.php +131 -0
  128. Postman/Postman-Mail/google-api-client/vendor/google/auth/src/Credentials/UserRefreshCredentials.php +110 -0
  129. Postman/Postman-Mail/google-api-client/vendor/google/auth/src/CredentialsLoader.php +210 -0
  130. Postman/Postman-Mail/google-api-client/vendor/google/auth/src/FetchAuthTokenCache.php +108 -0
  131. Postman/Postman-Mail/google-api-client/vendor/google/auth/src/FetchAuthTokenInterface.php +55 -0
  132. Postman/Postman-Mail/google-api-client/vendor/google/auth/src/HttpHandler/Guzzle5HttpHandler.php +128 -0
  133. Postman/Postman-Mail/google-api-client/vendor/google/auth/src/HttpHandler/Guzzle6HttpHandler.php +49 -0
  134. Postman/Postman-Mail/google-api-client/vendor/google/auth/src/HttpHandler/HttpHandlerFactory.php +47 -0
  135. Postman/Postman-Mail/google-api-client/vendor/google/auth/src/Middleware/AuthTokenMiddleware.php +126 -0
  136. Postman/Postman-Mail/google-api-client/vendor/google/auth/src/Middleware/ScopedAccessTokenMiddleware.php +175 -0
  137. Postman/Postman-Mail/google-api-client/vendor/google/auth/src/Middleware/SimpleMiddleware.php +93 -0
  138. Postman/Postman-Mail/google-api-client/vendor/google/auth/src/OAuth2.php +1335 -0
  139. Postman/Postman-Mail/google-api-client/vendor/google/auth/src/Subscriber/AuthTokenSubscriber.php +118 -0
  140. Postman/Postman-Mail/google-api-client/vendor/google/auth/src/Subscriber/ScopedAccessTokenSubscriber.php +177 -0
  141. Postman/Postman-Mail/google-api-client/vendor/google/auth/src/Subscriber/SimpleSubscriber.php +90 -0
  142. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/guzzle/CHANGELOG.md +1264 -0
  143. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/guzzle/LICENSE +19 -0
  144. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/guzzle/README.md +89 -0
  145. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/guzzle/UPGRADING.md +1203 -0
  146. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/guzzle/composer.json +44 -0
  147. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/guzzle/src/Client.php +414 -0
  148. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/guzzle/src/ClientInterface.php +84 -0
  149. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/guzzle/src/Cookie/CookieJar.php +314 -0
  150. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php +84 -0
  151. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php +90 -0
  152. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php +71 -0
  153. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/guzzle/src/Cookie/SetCookie.php +404 -0
  154. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/guzzle/src/Exception/BadResponseException.php +27 -0
  155. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/guzzle/src/Exception/ClientException.php +7 -0
  156. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/guzzle/src/Exception/ConnectException.php +37 -0
  157. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/guzzle/src/Exception/GuzzleException.php +4 -0
  158. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php +217 -0
  159. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/guzzle/src/Exception/SeekException.php +27 -0
  160. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/guzzle/src/Exception/ServerException.php +7 -0
  161. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/guzzle/src/Exception/TooManyRedirectsException.php +4 -0
  162. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/guzzle/src/Exception/TransferException.php +4 -0
  163. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php +559 -0
  164. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/guzzle/src/Handler/CurlFactoryInterface.php +27 -0
  165. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/guzzle/src/Handler/CurlHandler.php +45 -0
  166. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php +197 -0
  167. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/guzzle/src/Handler/EasyHandle.php +92 -0
  168. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/guzzle/src/Handler/MockHandler.php +189 -0
  169. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/guzzle/src/Handler/Proxy.php +55 -0
  170. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php +533 -0
  171. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/guzzle/src/HandlerStack.php +273 -0
  172. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/guzzle/src/MessageFormatter.php +182 -0
  173. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/guzzle/src/Middleware.php +254 -0
  174. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/guzzle/src/Pool.php +123 -0
  175. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php +106 -0
  176. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/guzzle/src/RedirectMiddleware.php +237 -0
  177. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/guzzle/src/RequestOptions.php +255 -0
  178. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/guzzle/src/RetryMiddleware.php +112 -0
  179. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/guzzle/src/TransferStats.php +126 -0
  180. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/guzzle/src/UriTemplate.php +241 -0
  181. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/guzzle/src/functions.php +331 -0
  182. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/guzzle/src/functions_include.php +6 -0
  183. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/promises/CHANGELOG.md +65 -0
  184. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/promises/LICENSE +19 -0
  185. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/promises/Makefile +13 -0
  186. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/promises/README.md +504 -0
  187. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/promises/composer.json +34 -0
  188. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/promises/src/AggregateException.php +16 -0
  189. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/promises/src/CancellationException.php +9 -0
  190. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/promises/src/Coroutine.php +151 -0
  191. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/promises/src/EachPromise.php +229 -0
  192. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/promises/src/FulfilledPromise.php +82 -0
  193. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/promises/src/Promise.php +280 -0
  194. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/promises/src/PromiseInterface.php +93 -0
  195. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/promises/src/PromisorInterface.php +15 -0
  196. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/promises/src/RejectedPromise.php +87 -0
  197. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/promises/src/RejectionException.php +47 -0
  198. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/promises/src/TaskQueue.php +66 -0
  199. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/promises/src/TaskQueueInterface.php +25 -0
  200. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/promises/src/functions.php +457 -0
  201. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/promises/src/functions_include.php +6 -0
  202. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/psr7/CHANGELOG.md +110 -0
  203. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/psr7/LICENSE +19 -0
  204. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/psr7/README.md +739 -0
  205. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/psr7/composer.json +39 -0
  206. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/psr7/src/AppendStream.php +233 -0
  207. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/psr7/src/BufferStream.php +137 -0
  208. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/psr7/src/CachingStream.php +138 -0
  209. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/psr7/src/DroppingStream.php +42 -0
  210. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/psr7/src/FnStream.php +149 -0
  211. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/psr7/src/InflateStream.php +52 -0
  212. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/psr7/src/LazyOpenStream.php +39 -0
  213. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/psr7/src/LimitStream.php +155 -0
  214. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/psr7/src/MessageTrait.php +183 -0
  215. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/psr7/src/MultipartStream.php +153 -0
  216. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/psr7/src/NoSeekStream.php +22 -0
  217. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/psr7/src/PumpStream.php +165 -0
  218. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/psr7/src/Request.php +142 -0
  219. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/psr7/src/Response.php +132 -0
  220. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/psr7/src/ServerRequest.php +358 -0
  221. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/psr7/src/Stream.php +257 -0
  222. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/psr7/src/StreamDecoratorTrait.php +149 -0
  223. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/psr7/src/StreamWrapper.php +121 -0
  224. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/psr7/src/UploadedFile.php +316 -0
  225. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/psr7/src/Uri.php +702 -0
  226. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/psr7/src/UriNormalizer.php +216 -0
  227. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/psr7/src/UriResolver.php +219 -0
  228. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/psr7/src/functions.php +828 -0
  229. Postman/Postman-Mail/google-api-client/vendor/guzzlehttp/psr7/src/functions_include.php +6 -0
  230. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/.php_cs +59 -0
  231. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/LICENSE +19 -0
  232. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/composer.json +66 -0
  233. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/ErrorHandler.php +230 -0
  234. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Formatter/ChromePHPFormatter.php +78 -0
  235. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Formatter/ElasticaFormatter.php +89 -0
  236. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Formatter/FlowdockFormatter.php +116 -0
  237. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Formatter/FluentdFormatter.php +85 -0
  238. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Formatter/FormatterInterface.php +36 -0
  239. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Formatter/GelfMessageFormatter.php +138 -0
  240. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Formatter/HtmlFormatter.php +141 -0
  241. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Formatter/JsonFormatter.php +208 -0
  242. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Formatter/LineFormatter.php +179 -0
  243. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Formatter/LogglyFormatter.php +47 -0
  244. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Formatter/LogstashFormatter.php +166 -0
  245. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Formatter/MongoDBFormatter.php +105 -0
  246. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php +297 -0
  247. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Formatter/ScalarFormatter.php +48 -0
  248. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Formatter/WildfireFormatter.php +113 -0
  249. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/AbstractHandler.php +186 -0
  250. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php +66 -0
  251. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/AbstractSyslogHandler.php +101 -0
  252. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/AmqpHandler.php +148 -0
  253. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/BrowserConsoleHandler.php +230 -0
  254. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/BufferHandler.php +117 -0
  255. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/ChromePHPHandler.php +211 -0
  256. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/CouchDBHandler.php +72 -0
  257. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/CubeHandler.php +151 -0
  258. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/Curl/Util.php +57 -0
  259. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/DeduplicationHandler.php +169 -0
  260. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/DoctrineCouchDBHandler.php +45 -0
  261. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/DynamoDbHandler.php +107 -0
  262. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/ElasticSearchHandler.php +128 -0
  263. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/ErrorLogHandler.php +82 -0
  264. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/FilterHandler.php +140 -0
  265. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ActivationStrategyInterface.php +28 -0
  266. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ChannelLevelActivationStrategy.php +59 -0
  267. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ErrorLevelActivationStrategy.php +34 -0
  268. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossedHandler.php +163 -0
  269. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/FirePHPHandler.php +195 -0
  270. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/FleepHookHandler.php +126 -0
  271. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/FlowdockHandler.php +127 -0
  272. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/GelfHandler.php +73 -0
  273. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/GroupHandler.php +104 -0
  274. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/HandlerInterface.php +90 -0
  275. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/HandlerWrapper.php +108 -0
  276. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/HipChatHandler.php +350 -0
  277. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/IFTTTHandler.php +69 -0
  278. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/LogEntriesHandler.php +55 -0
  279. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/LogglyHandler.php +102 -0
  280. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/MailHandler.php +67 -0
  281. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/MandrillHandler.php +68 -0
  282. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/MissingExtensionException.php +21 -0
  283. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/MongoDBHandler.php +59 -0
  284. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/NativeMailerHandler.php +185 -0
  285. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/NewRelicHandler.php +202 -0
  286. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/NullHandler.php +45 -0
  287. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/PHPConsoleHandler.php +242 -0
  288. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/PsrHandler.php +56 -0
  289. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/PushoverHandler.php +185 -0
  290. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/RavenHandler.php +232 -0
  291. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/RedisHandler.php +97 -0
  292. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/RollbarHandler.php +132 -0
  293. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php +178 -0
  294. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/SamplingHandler.php +82 -0
  295. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/Slack/SlackRecord.php +294 -0
  296. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/SlackHandler.php +215 -0
  297. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/SlackWebhookHandler.php +115 -0
  298. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/SlackbotHandler.php +80 -0
  299. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/SocketHandler.php +346 -0
  300. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php +176 -0
  301. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/SwiftMailerHandler.php +99 -0
  302. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/SyslogHandler.php +67 -0
  303. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/SyslogUdp/UdpSocket.php +56 -0
  304. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/SyslogUdpHandler.php +103 -0
  305. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/TestHandler.php +154 -0
  306. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/WhatFailureGroupHandler.php +61 -0
  307. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Handler/ZendMonitorHandler.php +95 -0
  308. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Logger.php +700 -0
  309. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Processor/GitProcessor.php +64 -0
  310. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Processor/IntrospectionProcessor.php +112 -0
  311. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Processor/MemoryPeakUsageProcessor.php +35 -0
  312. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Processor/MemoryProcessor.php +63 -0
  313. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Processor/MemoryUsageProcessor.php +35 -0
  314. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Processor/MercurialProcessor.php +63 -0
  315. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Processor/ProcessIdProcessor.php +31 -0
  316. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Processor/PsrLogMessageProcessor.php +48 -0
  317. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Processor/TagProcessor.php +44 -0
  318. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Processor/UidProcessor.php +46 -0
  319. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Processor/WebProcessor.php +113 -0
  320. Postman/Postman-Mail/google-api-client/vendor/monolog/monolog/src/Monolog/Registry.php +134 -0
  321. Postman/Postman-Mail/google-api-client/vendor/phpseclib/phpseclib/AUTHORS +6 -0
  322. Postman/Postman-Mail/google-api-client/vendor/phpseclib/phpseclib/LICENSE +21 -0
  323. Postman/Postman-Mail/google-api-client/vendor/phpseclib/phpseclib/README.md +74 -0
  324. Postman/Postman-Mail/google-api-client/vendor/phpseclib/phpseclib/composer.json +76 -0
  325. Postman/Postman-Mail/google-api-client/vendor/phpseclib/phpseclib/phpseclib/Crypt/AES.php +126 -0
  326. Postman/Postman-Mail/google-api-client/vendor/phpseclib/phpseclib/phpseclib/Crypt/Base.php +2598 -0
  327. Postman/Postman-Mail/google-api-client/vendor/phpseclib/phpseclib/phpseclib/Crypt/Blowfish.php +571 -0
  328. Postman/Postman-Mail/google-api-client/vendor/phpseclib/phpseclib/phpseclib/Crypt/DES.php +1443 -0
  329. Postman/Postman-Mail/google-api-client/vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php +829 -0
  330. Postman/Postman-Mail/google-api-client/vendor/phpseclib/phpseclib/phpseclib/Crypt/RC2.php +688 -0
  331. Postman/Postman-Mail/google-api-client/vendor/phpseclib/phpseclib/phpseclib/Crypt/RC4.php +342 -0
  332. Postman/Postman-Mail/google-api-client/vendor/phpseclib/phpseclib/phpseclib/Crypt/RSA.php +3053 -0
  333. Postman/Postman-Mail/google-api-client/vendor/phpseclib/phpseclib/phpseclib/Crypt/Random.php +274 -0
  334. Postman/Postman-Mail/google-api-client/vendor/phpseclib/phpseclib/phpseclib/Crypt/Rijndael.php +936 -0
  335. Postman/Postman-Mail/google-api-client/vendor/phpseclib/phpseclib/phpseclib/Crypt/TripleDES.php +460 -0
  336. Postman/Postman-Mail/google-api-client/vendor/phpseclib/phpseclib/phpseclib/Crypt/Twofish.php +816 -0
  337. Postman/Postman-Mail/google-api-client/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger.php +3763 -0
  338. Postman/Postman-Mail/google-api-client/vendor/phpseclib/phpseclib/phpseclib/bootstrap.php +16 -0
  339. Postman/Postman-Mail/google-api-client/vendor/phpseclib/phpseclib/phpseclib/openssl.cnf +6 -0
  340. Postman/Postman-Mail/google-api-client/vendor/psr/cache/CHANGELOG.md +16 -0
  341. Postman/Postman-Mail/google-api-client/vendor/psr/cache/LICENSE.txt +19 -0
  342. Postman/Postman-Mail/google-api-client/vendor/psr/cache/README.md +9 -0
  343. Postman/Postman-Mail/google-api-client/vendor/psr/cache/composer.json +25 -0
  344. Postman/Postman-Mail/google-api-client/vendor/psr/cache/src/CacheException.php +10 -0
  345. Postman/Postman-Mail/google-api-client/vendor/psr/cache/src/CacheItemInterface.php +105 -0
  346. Postman/Postman-Mail/google-api-client/vendor/psr/cache/src/CacheItemPoolInterface.php +138 -0
  347. Postman/Postman-Mail/google-api-client/vendor/psr/cache/src/InvalidArgumentException.php +13 -0
  348. Postman/Postman-Mail/google-api-client/vendor/psr/http-message/CHANGELOG.md +36 -0
  349. Postman/Postman-Mail/google-api-client/vendor/psr/http-message/LICENSE +19 -0
  350. Postman/Postman-Mail/google-api-client/vendor/psr/http-message/README.md +13 -0
  351. Postman/Postman-Mail/google-api-client/vendor/psr/http-message/composer.json +26 -0
  352. Postman/Postman-Mail/google-api-client/vendor/psr/http-message/src/MessageInterface.php +187 -0
  353. Postman/Postman-Mail/google-api-client/vendor/psr/http-message/src/RequestInterface.php +129 -0
  354. Postman/Postman-Mail/google-api-client/vendor/psr/http-message/src/ResponseInterface.php +68 -0
  355. Postman/Postman-Mail/google-api-client/vendor/psr/http-message/src/ServerRequestInterface.php +261 -0
  356. Postman/Postman-Mail/google-api-client/vendor/psr/http-message/src/StreamInterface.php +158 -0
  357. Postman/Postman-Mail/google-api-client/vendor/psr/http-message/src/UploadedFileInterface.php +123 -0
  358. Postman/Postman-Mail/google-api-client/vendor/psr/http-message/src/UriInterface.php +323 -0
  359. Postman/Postman-Mail/google-api-client/vendor/psr/log/.gitignore +1 -0
  360. Postman/Postman-Mail/google-api-client/vendor/psr/log/LICENSE +19 -0
  361. Postman/Postman-Mail/google-api-client/vendor/psr/log/Psr/Log/AbstractLogger.php +128 -0
  362. Postman/Postman-Mail/google-api-client/vendor/psr/log/Psr/Log/InvalidArgumentException.php +7 -0
  363. Postman/Postman-Mail/google-api-client/vendor/psr/log/Psr/Log/LogLevel.php +18 -0
  364. Postman/Postman-Mail/google-api-client/vendor/psr/log/Psr/Log/LoggerAwareInterface.php +18 -0
  365. Postman/Postman-Mail/google-api-client/vendor/psr/log/Psr/Log/LoggerAwareTrait.php +26 -0
  366. Postman/Postman-Mail/google-api-client/vendor/psr/log/Psr/Log/LoggerInterface.php +123 -0
  367. Postman/Postman-Mail/google-api-client/vendor/psr/log/Psr/Log/LoggerTrait.php +140 -0
  368. Postman/Postman-Mail/google-api-client/vendor/psr/log/Psr/Log/NullLogger.php +28 -0
  369. Postman/Postman-Mail/google-api-client/vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php +140 -0
  370. Postman/Postman-Mail/google-api-client/vendor/psr/log/README.md +45 -0
  371. Postman/Postman-Mail/google-api-client/vendor/psr/log/composer.json +26 -0
  372. Postman/Postman-Mail/google-api-php-client-1.1.2/.gitignore +0 -1
  373. Postman/Postman-Mail/google-api-php-client-1.1.2/.travis.yml +0 -26
  374. Postman/Postman-Mail/google-api-php-client-1.1.2/README.md +0 -81
  375. Postman/Postman-Mail/google-api-php-client-1.1.2/autoload.php +0 -41
  376. Postman/Postman-Mail/google-api-php-client-1.1.2/phpunit.xml.dist +0 -34
  377. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Auth/Abstract.php +0 -36
  378. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Auth/AppIdentity.php +0 -105
  379. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Auth/AssertionCredentials.php +0 -136
  380. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Auth/Exception.php +0 -22
  381. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Auth/LoginTicket.php +0 -69
  382. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Auth/OAuth2.php +0 -633
  383. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Auth/Simple.php +0 -64
  384. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Cache/Abstract.php +0 -53
  385. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Cache/Apc.php +0 -111
  386. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Cache/File.php +0 -190
  387. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Cache/Memcache.php +0 -182
  388. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Cache/Null.php +0 -55
  389. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Client.php +0 -686
  390. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Collection.php +0 -96
  391. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Config.php +0 -414
  392. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Http/Batch.php +0 -141
  393. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Http/CacheParser.php +0 -184
  394. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Http/REST.php +0 -147
  395. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Http/Request.php +0 -476
  396. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/IO/Abstract.php +0 -329
  397. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/IO/Curl.php +0 -159
  398. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/IO/Stream.php +0 -231
  399. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/IO/cacerts.pem +0 -2183
  400. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Logger/Abstract.php +0 -406
  401. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Logger/File.php +0 -156
  402. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Logger/Psr.php +0 -91
  403. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/AdExchangeBuyer.php +0 -1909
  404. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/AdExchangeSeller.php +0 -1712
  405. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/AdSense.php +0 -3585
  406. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/AdSenseHost.php +0 -2165
  407. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Admin.php +0 -193
  408. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Analytics.php +0 -9447
  409. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/AndroidPublisher.php +0 -3441
  410. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/AppState.php +0 -368
  411. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Appsactivity.php +0 -566
  412. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Audit.php +0 -416
  413. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Autoscaler.php +0 -1400
  414. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Bigquery.php +0 -3203
  415. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Blogger.php +0 -3277
  416. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Books.php +0 -6411
  417. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Calendar.php +0 -3751
  418. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/CivicInfo.php +0 -1568
  419. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/CloudMonitoring.php +0 -953
  420. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Compute.php +0 -12150
  421. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Container.php +0 -794
  422. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Coordinate.php +0 -1382
  423. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Customsearch.php +0 -1276
  424. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Datastore.php +0 -1524
  425. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Dfareporting.php +0 -2698
  426. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Directory.php +0 -5448
  427. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Dns.php +0 -907
  428. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/DoubleClickBidManager.php +0 -1066
  429. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Doubleclicksearch.php +0 -1461
  430. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Drive.php +0 -5567
  431. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Fitness.php +0 -1155
  432. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Freebase.php +0 -452
  433. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Fusiontables.php +0 -2485
  434. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Games.php +0 -7421
  435. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/GamesManagement.php +0 -1385
  436. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Genomics.php +0 -4227
  437. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Gmail.php +0 -1924
  438. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/GroupsMigration.php +0 -127
  439. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Groupssettings.php +0 -414
  440. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/IdentityToolkit.php +0 -1630
  441. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Licensing.php +0 -476
  442. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Manager.php +0 -1857
  443. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/MapsEngine.php +0 -6420
  444. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Mirror.php +0 -1931
  445. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Oauth2.php +0 -390
  446. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Pagespeedonline.php +0 -721
  447. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Plus.php +0 -3498
  448. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/PlusDomains.php +0 -3712
  449. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Prediction.php +0 -1227
  450. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Pubsub.php +0 -980
  451. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/QPXExpress.php +0 -1537
  452. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Replicapool.php +0 -1273
  453. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Replicapoolupdater.php +0 -631
  454. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Reports.php +0 -1135
  455. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Reseller.php +0 -1115
  456. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Resourceviews.php +0 -1341
  457. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/SQLAdmin.php +0 -2778
  458. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/ShoppingContent.php +0 -4309
  459. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/SiteVerification.php +0 -404
  460. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Spectrum.php +0 -1751
  461. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Storage.php +0 -3082
  462. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/TagManager.php +0 -3306
  463. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Taskqueue.php +0 -689
  464. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Tasks.php +0 -907
  465. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Translate.php +0 -368
  466. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Urlshortener.php +0 -426
  467. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Webfonts.php +0 -215
  468. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/Webmasters.php +0 -918
  469. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/YouTube.php +0 -10456
  470. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Service/YouTubeAnalytics.php +0 -608
  471. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Signer/Abstract.php +0 -29
  472. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Signer/P12.php +0 -90
  473. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Utils.php +0 -135
  474. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Verifier/Abstract.php +0 -30
  475. Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/Verifier/Pem.php +0 -73
  476. Postman/Postman-Mail/mailgun/vendor/mailgun/mailgun-php/doc/attachments.md +0 -47
  477. Postman/Postman-Mail/mailgun/vendor/mailgun/mailgun-php/doc/index.md +0 -330
  478. Postman/Postman-Mail/mailgun/vendor/mailgun/mailgun-php/doc/pagination.md +0 -17
  479. Postman/Postman.php +13 -3
  480. Postman/PostmanAdminController.php +4 -0
  481. Postman/PostmanInputSanitizer.php +5 -0
  482. Postman/PostmanOptions.php +34 -0
  483. Postman/PostmanUtils.php +7 -0
  484. Postman/PostmanViewController.php +39 -1
  485. Postman/notifications/INotify.php +4 -0
  486. Postman/notifications/PostmanMailNotify.php +12 -0
  487. Postman/notifications/PostmanNotify.php +17 -0
  488. Postman/notifications/PostmanPushoverNotify.php +32 -0
  489. Postman/notifications/PostmanSlackNotify.php +37 -0
  490. postman-smtp.php +30 -2
  491. readme.txt +29 -14
  492. script/postman.js +24 -0
Postman/Postman-Configuration/PostmanConfigurationController.php CHANGED
@@ -200,6 +200,7 @@ class PostmanConfigurationController {
200
print sprintf( '<li><a href="#message_config">%s</a></li>', __( 'Message', Postman::TEXT_DOMAIN ) );
201
print sprintf( '<li><a href="#logging_config">%s</a></li>', __( 'Logging', Postman::TEXT_DOMAIN ) );
202
print sprintf( '<li><a href="#advanced_options_config">%s</a></li>', __( 'Advanced', Postman::TEXT_DOMAIN ) );
203
print '</ul>';
204
print '<form method="post" action="options.php">';
205
// This prints out all hidden setting fields
@@ -248,6 +249,24 @@ class PostmanConfigurationController {
248
do_settings_sections( PostmanAdminController::NETWORK_OPTIONS );
249
do_settings_sections( PostmanAdminController::ADVANCED_OPTIONS );
250
print '</section>';
251
submit_button();
252
print '</form>';
253
print '</div>';
@@ -362,7 +381,57 @@ class PostmanConfigurationController {
362
}
363
print '</fieldset>';
364
365
- // Wizard Step 5
366
printf( '<h5>%s</h5>', _x( 'Finish', 'The final step of the Wizard', Postman::TEXT_DOMAIN ) );
367
print '<fieldset>';
368
printf( '<legend>%s</legend>', _x( 'You\'re Done!', 'Wizard Step Title', Postman::TEXT_DOMAIN ) );
200
print sprintf( '<li><a href="#message_config">%s</a></li>', __( 'Message', Postman::TEXT_DOMAIN ) );
201
print sprintf( '<li><a href="#logging_config">%s</a></li>', __( 'Logging', Postman::TEXT_DOMAIN ) );
202
print sprintf( '<li><a href="#advanced_options_config">%s</a></li>', __( 'Advanced', Postman::TEXT_DOMAIN ) );
203
+ print sprintf( '<li><a href="#notifications">%s</a></li>', __( 'Notifications', Postman::TEXT_DOMAIN ) );
204
print '</ul>';
205
print '<form method="post" action="options.php">';
206
// This prints out all hidden setting fields
249
do_settings_sections( PostmanAdminController::NETWORK_OPTIONS );
250
do_settings_sections( PostmanAdminController::ADVANCED_OPTIONS );
251
print '</section>';
252
+
253
+ print '<section id="notifications">';
254
+ do_settings_sections( PostmanAdminController::NOTIFICATIONS_OPTIONS );
255
+
256
+ $currentKey = $this->options->getNotificationService();
257
+ $pushover = $currentKey == 'pushover' ? 'block' : 'none';
258
+ $slack = $currentKey == 'slack' ? 'block' : 'none';
259
+
260
+ echo '<div id="pushover_cred" style="display: ' . $pushover . ';">';
261
+ do_settings_sections( PostmanAdminController::NOTIFICATIONS_PUSHOVER_CRED );
262
+ echo '</div>';
263
+
264
+ echo '<div id="slack_cred" style="display: ' . $slack . ';">';
265
+ do_settings_sections( PostmanAdminController::NOTIFICATIONS_SLACK_CRED );
266
+ echo '</div>';
267
+
268
+ print '</section>';
269
+
270
submit_button();
271
print '</form>';
272
print '</div>';
381
}
382
print '</fieldset>';
383
384
+ // Wizard Step 5 - Notificiations
385
+ printf( '<h5>%s</h5>', __( 'Notifications', Postman::TEXT_DOMAIN ) );
386
+ print '<fieldset>';
387
+ printf( '<legend>%s</legend>', __( 'Select a notify service to notify you when an email is failed to delivered.', Postman::TEXT_DOMAIN ) );
388
+
389
+ ?>
390
+ <select id="input_notification_service" class="input_notification_service" name="postman_options[notification_service]">
391
+ <option value="default">Email</option>
392
+ <option value="pushover">Pushover</option>
393
+ <option value="slack">Slack</option>
394
+ </select>
395
+ <div id="pushover_cred" style="display: none;">
396
+ <h2><?php _e( 'Pushover Credentials', Postman::TEXT_DOMAIN ); ?></h2>
397
+ <table class="form-table">
398
+ <tbody>
399
+ <tr>
400
+ <th scope="row"><?php _e( 'Pushover User Key', Postman::TEXT_DOMAIN ); ?></th>
401
+ <td>
402
+ <input type="password" id="pushover_user" name="postman_options[pushover_user]" value="">
403
+ </td>
404
+ </tr>
405
+ <tr>
406
+ <th scope="row"><?php _e( 'Pushover App Token', Postman::TEXT_DOMAIN ); ?></th>
407
+ <td>
408
+ <input type="password" id="pushover_token" name="postman_options[pushover_token]" value="">
409
+ </td>
410
+ </tr>
411
+ </tbody>
412
+ </table>
413
+ </div>
414
+ <div id="slack_cred" style="display: none;">
415
+ <h2><?php _e( 'Slack Credentials', Postman::TEXT_DOMAIN ); ?></h2>
416
+ <table class="form-table">
417
+ <tbody>
418
+ <tr>
419
+ <th scope="row"><?php _e( 'Slack webhook', Postman::TEXT_DOMAIN ); ?></th>
420
+ <td>
421
+ <input type="password" id="slack_token" name="postman_options[slack_token]" value="">
422
+ <a target="_blank" class="" href="https://slack.postmansmtp.com/">
423
+ <?php _e( 'Get your webhook URL here.', Postman::TEXT_DOMAIN ); ?>
424
+ </a>
425
+ </td>
426
+ </tr>
427
+ </tbody>
428
+ </table>
429
+ </div>
430
+
431
+ <?php
432
+ print '</fieldset>';
433
+
434
+ // Wizard Step 6
435
printf( '<h5>%s</h5>', _x( 'Finish', 'The final step of the Wizard', Postman::TEXT_DOMAIN ) );
436
print '<fieldset>';
437
printf( '<legend>%s</legend>', _x( 'You\'re Done!', 'Wizard Step Title', Postman::TEXT_DOMAIN ) );
Postman/Postman-Configuration/PostmanRegisterConfigurationSettings.php CHANGED
@@ -174,6 +174,45 @@ class PostmanSettingsRegistry {
174
$this,
175
'temporaryDirectoryCallback',
176
), PostmanAdminController::ADVANCED_OPTIONS, PostmanAdminController::ADVANCED_SECTION );
177
}
178
}
179
@@ -207,11 +246,19 @@ class PostmanSettingsRegistry {
207
public function printNetworkSectionInfo() {
208
print __( 'Increase the timeouts if your host is intermittenly failing to send mail. Be careful, this also correlates to how long your user must wait if the mail server is unreachable.', Postman::TEXT_DOMAIN );
209
}
210
/**
211
* Print the Section text
212
*/
213
public function printAdvancedSectionInfo() {
214
}
215
/**
216
* Print the Section text
217
*/
@@ -356,6 +403,32 @@ class PostmanSettingsRegistry {
356
$this->printSelectOption( __( 'Error', Postman::TEXT_DOMAIN ), PostmanLogger::ERROR_INT, $currentKey );
357
printf( '</select><br/><span class="postman_input_description">%s</span>', $inputDescription );
358
}
359
private function printSelectOption( $label, $optionKey, $currentKey ) {
360
$optionPattern = '<option value="%1$s" %2$s>%3$s</option>';
361
printf( $optionPattern, $optionKey, $optionKey == $currentKey ? 'selected="selected"' : '', $label );
@@ -369,9 +442,11 @@ class PostmanSettingsRegistry {
369
$this->printSelectOption( __( 'Delete All Emails', Postman::TEXT_DOMAIN ), PostmanOptions::RUN_MODE_IGNORE, $currentKey );
370
printf( '</select><br/><span class="postman_input_description">%s</span>', $inputDescription );
371
}
372
public function stealthModeCallback() {
373
printf( '<input type="checkbox" id="input_%2$s" class="input_%2$s" name="%1$s[%2$s]" %3$s /> %4$s', PostmanOptions::POSTMAN_OPTIONS, PostmanOptions::STEALTH_MODE, $this->options->isStealthModeEnabled() ? 'checked="checked"' : '', __( 'Remove the Postman X-Header signature from messages', Postman::TEXT_DOMAIN ) );
374
}
375
public function temporaryDirectoryCallback() {
376
$inputDescription = __( 'Lockfiles are written here to prevent users from triggering an OAuth 2.0 token refresh at the same time.' );
377
printf( '<input type="text" id="input_%2$s" name="%1$s[%2$s]" value="%3$s" />', PostmanOptions::POSTMAN_OPTIONS, PostmanOptions::TEMPORARY_DIRECTORY, $this->options->getTempDirectory() );
174
$this,
175
'temporaryDirectoryCallback',
176
), PostmanAdminController::ADVANCED_OPTIONS, PostmanAdminController::ADVANCED_SECTION );
177
+
178
+ // Notifications
179
+ add_settings_section( PostmanAdminController::NOTIFICATIONS_SECTION, _x( 'Notifications Settings', 'Configuration Section Title', Postman::TEXT_DOMAIN ), array(
180
+ $this,
181
+ 'printNotificationsSectionInfo',
182
+ ), PostmanAdminController::NOTIFICATIONS_OPTIONS );
183
+
184
+ add_settings_field( PostmanOptions::NOTIFICATION_SERVICE, _x( 'Notification Service', 'Configuration Input Field', Postman::TEXT_DOMAIN ), array(
185
+ $this,
186
+ 'notification_service_callback',
187
+ ), PostmanAdminController::NOTIFICATIONS_OPTIONS, PostmanAdminController::NOTIFICATIONS_SECTION );
188
+
189
+ // Pushover
190
+ add_settings_section( 'pushover_credentials', _x( 'Pushover Credentials', 'Configuration Section Title', Postman::TEXT_DOMAIN ), array(
191
+ $this,
192
+ 'printNotificationsSectionInfo',
193
+ ), PostmanAdminController::NOTIFICATIONS_PUSHOVER_CRED );
194
+
195
+ add_settings_field( PostmanOptions::PUSHOVER_USER, _x( 'Pushover User Key', 'Configuration Input Field', Postman::TEXT_DOMAIN ), array(
196
+ $this,
197
+ 'pushover_user_callback',
198
+ ), PostmanAdminController::NOTIFICATIONS_PUSHOVER_CRED, 'pushover_credentials' );
199
+
200
+ add_settings_field( PostmanOptions::PUSHOVER_TOKEN, _x( 'Pushover App Token', 'Configuration Input Field', Postman::TEXT_DOMAIN ), array(
201
+ $this,
202
+ 'pushover_token_callback',
203
+ ), PostmanAdminController::NOTIFICATIONS_PUSHOVER_CRED, 'pushover_credentials' );
204
+
205
+ // Slack
206
+ add_settings_section( 'slack_credentials', _x( 'Slack Credentials', 'Configuration Section Title', Postman::TEXT_DOMAIN ), array(
207
+ $this,
208
+ 'printNotificationsSectionInfo',
209
+ ), PostmanAdminController::NOTIFICATIONS_SLACK_CRED );
210
+
211
+ add_settings_field( PostmanOptions::SLACK_TOKEN, _x( 'Slack Webhook', 'Configuration Input Field', Postman::TEXT_DOMAIN ), array(
212
+ $this,
213
+ 'slack_token_callback',
214
+ ), PostmanAdminController::NOTIFICATIONS_SLACK_CRED, 'slack_credentials' );
215
+
216
}
217
}
218
246
public function printNetworkSectionInfo() {
247
print __( 'Increase the timeouts if your host is intermittenly failing to send mail. Be careful, this also correlates to how long your user must wait if the mail server is unreachable.', Postman::TEXT_DOMAIN );
248
}
249
+
250
/**
251
* Print the Section text
252
*/
253
public function printAdvancedSectionInfo() {
254
}
255
+
256
+ /**
257
+ * Print the Section text
258
+ */
259
+ public function printNotificationsSectionInfo() {
260
+ }
261
+
262
/**
263
* Print the Section text
264
*/
403
$this->printSelectOption( __( 'Error', Postman::TEXT_DOMAIN ), PostmanLogger::ERROR_INT, $currentKey );
404
printf( '</select><br/><span class="postman_input_description">%s</span>', $inputDescription );
405
}
406
+
407
+ public function notification_service_callback() {
408
+ $inputDescription = __( 'Select the notification service you want to recieve alerts about failed emails.' );
409
+ printf( '<select id="input_%2$s" class="input_%2$s" name="%1$s[%2$s]">', PostmanOptions::POSTMAN_OPTIONS, PostmanOptions::NOTIFICATION_SERVICE );
410
+ $currentKey = $this->options->getNotificationService();
411
+
412
+ $this->printSelectOption( __( 'Email', Postman::TEXT_DOMAIN ), 'default', $currentKey );
413
+ $this->printSelectOption( __( 'Pushover', Postman::TEXT_DOMAIN ), 'pushover', $currentKey );
414
+ $this->printSelectOption( __( 'Slack', Postman::TEXT_DOMAIN ), 'slack', $currentKey );
415
+ printf( '</select><br/><span class="postman_input_description">%s</span>', $inputDescription );
416
+ }
417
+
418
+ public function pushover_user_callback() {
419
+ printf( '<input type="password" id="pushover_user" name="%s[%s]" value="%s" />', PostmanOptions::POSTMAN_OPTIONS, PostmanOptions::PUSHOVER_USER, $this->options->getPushoverUser() );
420
+ }
421
+
422
+ public function pushover_token_callback() {
423
+ printf( '<input type="password" id="pushover_token" name="%s[%s]" value="%s" />', PostmanOptions::POSTMAN_OPTIONS, PostmanOptions::PUSHOVER_TOKEN, $this->options->getPushoverToken() );
424
+ }
425
+
426
+ public function slack_token_callback() {
427
+ printf( '<input type="password" id="slack_token" name="%s[%s]" value="%s" />', PostmanOptions::POSTMAN_OPTIONS, PostmanOptions::SLACK_TOKEN, $this->options->getSlackToken() );
428
+ echo '<a target="_blank" href="https://slack.postmansmtp.com/">' . __( 'Get your webhook URL here', Postman::TEXT_DOMAIN ) . '</a>';
429
+
430
+ }
431
+
432
private function printSelectOption( $label, $optionKey, $currentKey ) {
433
$optionPattern = '<option value="%1$s" %2$s>%3$s</option>';
434
printf( $optionPattern, $optionKey, $optionKey == $currentKey ? 'selected="selected"' : '', $label );
442
$this->printSelectOption( __( 'Delete All Emails', Postman::TEXT_DOMAIN ), PostmanOptions::RUN_MODE_IGNORE, $currentKey );
443
printf( '</select><br/><span class="postman_input_description">%s</span>', $inputDescription );
444
}
445
+
446
public function stealthModeCallback() {
447
printf( '<input type="checkbox" id="input_%2$s" class="input_%2$s" name="%1$s[%2$s]" %3$s /> %4$s', PostmanOptions::POSTMAN_OPTIONS, PostmanOptions::STEALTH_MODE, $this->options->isStealthModeEnabled() ? 'checked="checked"' : '', __( 'Remove the Postman X-Header signature from messages', Postman::TEXT_DOMAIN ) );
448
}
449
+
450
public function temporaryDirectoryCallback() {
451
$inputDescription = __( 'Lockfiles are written here to prevent users from triggering an OAuth 2.0 token refresh at the same time.' );
452
printf( '<input type="text" id="input_%2$s" name="%1$s[%2$s]" value="%3$s" />', PostmanOptions::POSTMAN_OPTIONS, PostmanOptions::TEMPORARY_DIRECTORY, $this->options->getTempDirectory() );
Postman/Postman-Configuration/postman_manual_config.js CHANGED
@@ -1,7 +1,7 @@
1
var transports = [];
2
3
jQuery(document).ready(
4
- function() {
5
6
// display password on entry
7
enablePasswordDisplayOnEntry('input_basic_auth_password',
@@ -23,6 +23,26 @@ jQuery(document).ready(
23
switchBetweenPasswordAndOAuth();
24
});
25
26
// add an event on the authentication input field
27
// on user changing the auth type, determine whether to show
28
// password or oauth section
@@ -52,6 +72,7 @@ jQuery(document).ready(
52
}
53
}
54
});
55
function reloadOauthSection() {
56
var hostname = jQuery(postman_hostname_element_name).val();
57
var transport = jQuery('#input_transport_type').val();
@@ -74,5 +95,5 @@ function switchBetweenPasswordAndOAuth() {
74
var transportName = jQuery('select#input_transport_type').val();
75
transports.forEach(function(item) {
76
item.handleTransportChange(transportName);
77
- })
78
}
1
var transports = [];
2
3
jQuery(document).ready(
4
+ function($) {
5
6
// display password on entry
7
enablePasswordDisplayOnEntry('input_basic_auth_password',
23
switchBetweenPasswordAndOAuth();
24
});
25
26
+ jQuery('select#input_notification_service').change(function() {
27
+ var selected = $( this ).val();
28
+
29
+ if ( selected == 'default' ) {
30
+ $('#slack_cred').fadeOut('fast');
31
+ $('#pushover_cred').fadeOut('fast');
32
+ }
33
+
34
+ if ( selected == 'pushover' ) {
35
+ $('#slack_cred').fadeOut('fast');
36
+ $('#pushover_cred').fadeIn();
37
+ }
38
+
39
+ if ( selected == 'slack' ) {
40
+ $('#pushover_cred').fadeOut('fast');
41
+ $('#slack_cred').fadeIn();
42
+ }
43
+ });
44
+
45
+
46
// add an event on the authentication input field
47
// on user changing the auth type, determine whether to show
48
// password or oauth section
72
}
73
}
74
});
75
+
76
function reloadOauthSection() {
77
var hostname = jQuery(postman_hostname_element_name).val();
78
var transport = jQuery('#input_transport_type').val();
95
var transportName = jQuery('select#input_transport_type').val();
96
transports.forEach(function(item) {
97
item.handleTransportChange(transportName);
98
+ });
99
}
Postman/Postman-Configuration/postman_wizard.js CHANGED
@@ -492,6 +492,26 @@ function handleConfigurationResponse(response) {
492
}
493
494
}
495
// add an event on the user port override field
496
jQuery('input.user_socket_override').change(function() {
497
userOverrideMenu();
492
}
493
494
}
495
+
496
+ jQuery('select#input_notification_service').change(function() {
497
+ var selected = jQuery( this ).val();
498
+
499
+ if ( selected == 'default' ) {
500
+ jQuery('#slack_cred').fadeOut('fast');
501
+ jQuery('#pushover_cred').fadeOut('fast');
502
+ }
503
+
504
+ if ( selected == 'pushover' ) {
505
+ jQuery('#slack_cred').fadeOut('fast');
506
+ jQuery('#pushover_cred').fadeIn();
507
+ }
508
+
509
+ if ( selected == 'slack' ) {
510
+ jQuery('#pushover_cred').fadeOut('fast');
511
+ jQuery('#slack_cred').fadeIn();
512
+ }
513
+ });
514
+
515
// add an event on the user port override field
516
jQuery('input.user_socket_override').change(function() {
517
userOverrideMenu();
Postman/Postman-Connectivity-Test/PostmanConnectivityTestController.php CHANGED
@@ -154,7 +154,7 @@ class PostmanConnectivityTestController {
154
}
155
print '</table>';
156
/* Translators: Where %s is the name of the service providing Internet connectivity test */
157
- printf( '<p class="portquiz" style="display:none; font-size:0.8em">* %s</p>', sprintf( __( 'According to %s', Postman::TEXT_DOMAIN ), '<a target="_blank" href="http://ww.downor.me/portquiz.net">portquiz.net</a>' ) );
158
printf( '<p class="ajax-loader" style="display:none"><img src="%s"/></p>', plugins_url( 'post-smtp/style/ajax-loader.gif' ) );
159
print '<section id="conclusion" style="display:none">';
160
print sprintf( '<h3>%s:</h3>', __( 'Summary', Postman::TEXT_DOMAIN ) );
154
}
155
print '</table>';
156
/* Translators: Where %s is the name of the service providing Internet connectivity test */
157
+ printf( '<p class="portquiz" style="display:none; font-size:0.8em">* %s</p>', sprintf( __( 'According to %s', Postman::TEXT_DOMAIN ), '<a target="_blank" href="https://downor.me/portquiz.net">portquiz.net</a>' ) );
158
printf( '<p class="ajax-loader" style="display:none"><img src="%s"/></p>', plugins_url( 'post-smtp/style/ajax-loader.gif' ) );
159
print '<section id="conclusion" style="display:none">';
160
print sprintf( '<h3>%s:</h3>', __( 'Summary', Postman::TEXT_DOMAIN ) );
Postman/Postman-Email-Log/PostmanEmailLogService.php CHANGED
@@ -157,19 +157,41 @@ if ( ! class_exists( 'PostmanEmailLogService' ) ) {
157
158
private function checkForLogErrors( PostmanEmailLog $log ) {
159
$message = __( 'You getting this message because an error detected while delivered your email.', Postman::TEXT_DOMAIN );
160
- $message .= "\r\n" . __( 'You are welcome to post a support issue.', Postman::TEXT_DOMAIN );
161
- $message .= "\r\n" . __( 'The log to paste with your support issue:', Postman::TEXT_DOMAIN ) . "\r\n";
162
163
- $to_email = get_bloginfo( 'admin_email' );
164
- $domain = get_bloginfo( 'url' );
165
if ( $log->statusMessage && ! empty( $log->statusMessage ) ) {
166
- mail( $to_email, "{$domain}: " . __( 'Post SMTP email error', Postman::TEXT_DOMAIN ), $message . $log->statusMessage, '', "-f{$to_email}" );
167
}
168
169
preg_match_all( '/(.*)From/s', $log->sessionTranscript, $matches );
170
171
if ( isset( $matches[1][0] ) && ! empty( $matches[1][0] ) && strpos( strtolower( $matches[1][0] ), 'error' ) !== false ) {
172
- mail( $to_email, "{$domain}: " . __( 'Post SMTP session transcript error', Postman::TEXT_DOMAIN ), $message . $log->sessionTranscript, '', "-f{$to_email}" );
173
}
174
}
175
157
158
private function checkForLogErrors( PostmanEmailLog $log ) {
159
$message = __( 'You getting this message because an error detected while delivered your email.', Postman::TEXT_DOMAIN );
160
+ $message .= "\r\n" . sprintf( __( 'For the domain: %1$s',Postman::TEXT_DOMAIN ), get_bloginfo('url') );
161
+ $message .= "\r\n" . __( 'The log to paste when you open a support issue:', Postman::TEXT_DOMAIN ) . "\r\n";
162
163
if ( $log->statusMessage && ! empty( $log->statusMessage ) ) {
164
+ require_once POST_PATH . '/Postman/notifications/PostmanNotify.php';
165
+
166
+ $message = $message . $log->statusMessage;
167
+
168
+ $notification_service = PostmanOptions::getInstance()->getNotificationService();
169
+ switch ($notification_service) {
170
+ case 'default':
171
+ $notifyer = new PostmanMailNotify;
172
+ break;
173
+ case 'pushover':
174
+ $notifyer = new PostmanPushoverNotify;
175
+ break;
176
+ case 'slack':
177
+ $notifyer = new PostmanSlackNotify;
178
+ break;
179
+ default:
180
+ $notifyer = new PostmanMailNotify;
181
+ }
182
+
183
+ $notify = new PostmanNotify( $notifyer, $message );
184
+ $notify->send($message, $log);
185
}
186
187
+ /**
188
+ * @todo
189
+ * After commented by me, check if it was needed.
190
+ */
191
preg_match_all( '/(.*)From/s', $log->sessionTranscript, $matches );
192
193
if ( isset( $matches[1][0] ) && ! empty( $matches[1][0] ) && strpos( strtolower( $matches[1][0] ), 'error' ) !== false ) {
194
+ $message = $message . $log->sessionTranscript;
195
}
196
}
197
Postman/Postman-Mail/PostmanGmailApiModuleTransport.php CHANGED
@@ -61,12 +61,11 @@ class PostmanGmailApiModuleTransport extends PostmanAbstractZendModuleTransport
61
require_once 'PostmanGmailApiModuleZendMailTransport.php';
62
63
// Gmail Client includes
64
- require_once 'google-api-php-client-1.1.2/src/Google/Client.php';
65
- require_once 'google-api-php-client-1.1.2/src/Google/Service/Gmail.php';
66
67
// build the Gmail Client
68
$authToken = PostmanOAuthToken::getInstance ();
69
- $client = new Postman_Google_Client ();
70
$client->setClientId ( $this->options->getClientId () );
71
$client->setClientSecret ( $this->options->getClientSecret () );
72
$client->setRedirectUri ( '' );
@@ -81,7 +80,7 @@ class PostmanGmailApiModuleTransport extends PostmanAbstractZendModuleTransport
81
$client->setAccessToken ( json_encode ( $token ) );
82
// We only need permissions to compose and send emails
83
$client->addScope ( "https://www.googleapis.com/auth/gmail.compose" );
84
- $service = new Postman_Google_Service_Gmail ( $client );
85
$config [PostmanGmailApiModuleZendMailTransport::SERVICE_OPTION] = $service;
86
87
return new PostmanGmailApiModuleZendMailTransport ( self::HOST, $config );
61
require_once 'PostmanGmailApiModuleZendMailTransport.php';
62
63
// Gmail Client includes
64
+ require_once 'google-api-client/vendor/autoload.php';
65
66
// build the Gmail Client
67
$authToken = PostmanOAuthToken::getInstance ();
68
+ $client = new Google_Client ();
69
$client->setClientId ( $this->options->getClientId () );
70
$client->setClientSecret ( $this->options->getClientSecret () );
71
$client->setRedirectUri ( '' );
80
$client->setAccessToken ( json_encode ( $token ) );
81
// We only need permissions to compose and send emails
82
$client->addScope ( "https://www.googleapis.com/auth/gmail.compose" );
83
+ $service = new Google_Service_Gmail ( $client );
84
$config [PostmanGmailApiModuleZendMailTransport::SERVICE_OPTION] = $service;
85
86
return new PostmanGmailApiModuleZendMailTransport ( self::HOST, $config );
Postman/Postman-Mail/PostmanGmailApiModuleZendMailTransport.php CHANGED
@@ -181,19 +181,48 @@ if (! class_exists ( 'PostmanGmailApiModuleZendMailTransport' )) {
181
* @todo Rename this to sendMail, it's a public method...
182
*/
183
public function _sendMail() {
184
-
185
// Prepare the message in message/rfc822
186
$message = $this->header . Postman_Zend_Mime::LINEEND . $this->body;
187
$this->message = $message;
188
-
189
// The message needs to be encoded in Base64URL
190
$encodedMessage = rtrim ( strtr ( base64_encode ( $message ), '+/', '-_' ), '=' );
191
- $googleApiMessage = new Postman_Google_Service_Gmail_Message ();
192
- $googleApiMessage->setRaw ( $encodedMessage );
193
$googleService = $this->_config [self::SERVICE_OPTION];
194
$result = array ();
195
try {
196
- $result = $googleService->users_messages->send ( 'me', $googleApiMessage );
197
if ($this->logger->isInfo ()) {
198
$this->logger->info ( sprintf ( 'Message %d accepted for delivery', PostmanState::getInstance ()->getSuccessfulDeliveries () + 1 ) );
199
}
@@ -207,6 +236,7 @@ if (! class_exists ( 'PostmanGmailApiModuleZendMailTransport' )) {
207
throw $e;
208
}
209
}
210
public function getMessage() {
211
return $this->message;
212
}
181
* @todo Rename this to sendMail, it's a public method...
182
*/
183
public function _sendMail() {
184
+
185
// Prepare the message in message/rfc822
186
$message = $this->header . Postman_Zend_Mime::LINEEND . $this->body;
187
$this->message = $message;
188
+
189
// The message needs to be encoded in Base64URL
190
$encodedMessage = rtrim ( strtr ( base64_encode ( $message ), '+/', '-_' ), '=' );
191
+ $googleApiMessage = new Google_Service_Gmail_Message ();
192
$googleService = $this->_config [self::SERVICE_OPTION];
193
+ $googleClient = $googleService->getClient();
194
+
195
+ $file_size = strlen($message);
196
+
197
$result = array ();
198
try {
199
+ $googleClient->setDefer(true);
200
+ $result = $googleService->users_messages->send ( 'me', $googleApiMessage, array('uploadType' => 'resumable') );
201
+
202
+ $chunkSizeBytes = 1 * 1024 * 1024;
203
+
204
+ // create mediafile upload
205
+ $media = new Google_Http_MediaFileUpload(
206
+ $googleClient,
207
+ $result,
208
+ 'message/rfc822',
209
+ $message,
210
+ true,
211
+ $chunkSizeBytes
212
+ );
213
+ $media->setFileSize($file_size);
214
+
215
+ $status = false;
216
+ while (! $status) {
217
+ $status = $media->nextChunk();
218
+ }
219
+ $result = false;
220
+
221
+ // Reset to the client to execute requests immediately in the future.
222
+ $googleClient->setDefer(false);
223
+
224
+ $googleMessageId = $status->getId();
225
+
226
if ($this->logger->isInfo ()) {
227
$this->logger->info ( sprintf ( 'Message %d accepted for delivery', PostmanState::getInstance ()->getSuccessfulDeliveries () + 1 ) );
228
}
236
throw $e;
237
}
238
}
239
+
240
public function getMessage() {
241
return $this->message;
242
}
Postman/Postman-Mail/PostmanSendGridMailEngine.php CHANGED
@@ -65,13 +65,13 @@ if ( ! class_exists( 'PostmanSendGridMailEngine' ) ) {
65
$email = $recipient->getEmail();
66
if ( $counter == 0 ) {
67
$this->logger->debug( 'Adding to=' . $recipient->getEmail() );
68
- $to = new SendGrid\Email( $recipient->getName(), $recipient->getEmail() );
69
$duplicates[] = $email;
70
} else {
71
if ( ! in_array( $email, $duplicates ) ) {
72
$duplicates[] = $email;
73
$this->logger->debug( 'Adding personalization to=' . $recipient->getEmail() );
74
- $emails[] = new SendGrid\Email( $recipient->getName(), $recipient->getEmail() );
75
}
76
}
77
@@ -84,22 +84,23 @@ if ( ! class_exists( 'PostmanSendGridMailEngine' ) ) {
84
}
85
86
// add the message content
87
$textPart = $message->getBodyTextPart();
88
if ( ! empty( $textPart ) ) {
89
$this->logger->debug( 'Adding body as text' );
90
- $content = new SendGrid\Content( 'text/plain', $textPart );
91
}
92
93
$htmlPart = $message->getBodyHtmlPart();
94
if ( ! empty( $htmlPart ) ) {
95
$this->logger->debug( 'Adding body as html' );
96
- $content = new SendGrid\Content( 'text/html', $htmlPart );
97
}
98
99
- $mail = new SendGrid\Mail( $from, $subject, $to, $content );
100
101
- foreach ( $emails as $email ) {
102
- $mail->personalization[0]->addTo( $email );
103
}
104
105
// add the reply-to
@@ -107,7 +108,7 @@ if ( ! class_exists( 'PostmanSendGridMailEngine' ) ) {
107
// $replyTo is null or a PostmanEmailAddress object
108
if ( isset( $replyTo ) ) {
109
$reply_to = new SendGrid\ReplyTo( $replyTo->getEmail(), $replyTo->getName() );
110
- $mail->setReplyTo( $reply_to );
111
}
112
113
// add the Postman signature - append it to whatever the user may have set
@@ -135,14 +136,15 @@ if ( ! class_exists( 'PostmanSendGridMailEngine' ) ) {
135
$email = new SendGrid\Email( $recipient->getName(), $recipient->getEmail() );
136
$mail->personalization[0]->addCc( $email );
137
}
138
}
139
140
// add the bcc recipients
141
foreach ( ( array ) $message->getBccRecipients() as $recipient ) {
142
if ( ! in_array( $recipient->getEmail(), $duplicates ) ) {
143
- $recipient->log( $this->logger, 'Bcc' );
144
- $email = new SendGrid\Email( $recipient->getName(), $recipient->getEmail() );
145
- $mail->personalization[0]->addBcc( $email );
146
}
147
}
148
@@ -159,12 +161,12 @@ if ( ! class_exists( 'PostmanSendGridMailEngine' ) ) {
159
160
foreach ( $attachments as $index => $attachment ) {
161
$attach = new SendGrid\Attachment();
162
- $attach->setContent( $attachment['content'] );
163
- $attach->setType( $attachment['type'] );
164
- $attach->setFilename( $attachment['file_name'] );
165
- $attach->setDisposition( 'attachment' );
166
- $attach->setContentId( $attachment['id'] );
167
- $mail->addAttachment( $attach );
168
}
169
170
try {
@@ -179,7 +181,7 @@ if ( ! class_exists( 'PostmanSendGridMailEngine' ) ) {
179
$this->logger->debug( 'Sending mail' );
180
}
181
182
- $response = $sendgrid->client->mail()->send()->post( $mail );
183
if ( $this->logger->isInfo() ) {
184
$this->logger->info( sprintf( 'Message %d accepted for delivery', PostmanState::getInstance()->getSuccessfulDeliveries() + 1 ) );
185
}
65
$email = $recipient->getEmail();
66
if ( $counter == 0 ) {
67
$this->logger->debug( 'Adding to=' . $recipient->getEmail() );
68
+ $to = new SendGrid\Email($recipient->getName(), $recipient->getEmail() );
69
$duplicates[] = $email;
70
} else {
71
if ( ! in_array( $email, $duplicates ) ) {
72
$duplicates[] = $email;
73
$this->logger->debug( 'Adding personalization to=' . $recipient->getEmail() );
74
+ $emails[] = new SendGrid\Email($recipient->getName(), $recipient->getEmail() );
75
}
76
}
77
84
}
85
86
// add the message content
87
+
88
$textPart = $message->getBodyTextPart();
89
if ( ! empty( $textPart ) ) {
90
$this->logger->debug( 'Adding body as text' );
91
+ $content = new SendGrid\Content("text/plain", $textPart);
92
}
93
94
$htmlPart = $message->getBodyHtmlPart();
95
if ( ! empty( $htmlPart ) ) {
96
$this->logger->debug( 'Adding body as html' );
97
+ $content = new SendGrid\Content("text/html", $htmlPart);
98
}
99
100
+ $mail = new SendGrid\Mail($from, $subject, $to, $content);
101
102
+ foreach ( $emails as $email) {
103
+ $mail->personalization[0]->addTo($email);
104
}
105
106
// add the reply-to
108
// $replyTo is null or a PostmanEmailAddress object
109
if ( isset( $replyTo ) ) {
110
$reply_to = new SendGrid\ReplyTo( $replyTo->getEmail(), $replyTo->getName() );
111
+ $mail->setReplyTo($reply_to);
112
}
113
114
// add the Postman signature - append it to whatever the user may have set
136
$email = new SendGrid\Email( $recipient->getName(), $recipient->getEmail() );
137
$mail->personalization[0]->addCc( $email );
138
}
139
+
140
}
141
142
// add the bcc recipients
143
foreach ( ( array ) $message->getBccRecipients() as $recipient ) {
144
if ( ! in_array( $recipient->getEmail(), $duplicates ) ) {
145
+ $recipient->log($this->logger, 'Bcc');
146
+ $email = new SendGrid\Email($recipient->getName(), $recipient->getEmail());
147
+ $mail->personalization[0]->addBcc($email);
148
}
149
}
150
161
162
foreach ( $attachments as $index => $attachment ) {
163
$attach = new SendGrid\Attachment();
164
+ $attach->setContent($attachment['content']);
165
+ $attach->setType($attachment['type']);
166
+ $attach->setFilename($attachment['file_name']);
167
+ $attach->setDisposition("attachment");
168
+ $attach->setContentId($attachment['id']);
169
+ $mail->addAttachment($attach);
170
}
171
172
try {
181
$this->logger->debug( 'Sending mail' );
182
}
183
184
+ $response = $sendgrid->client->mail()->send()->post($mail);
185
if ( $this->logger->isInfo() ) {
186
$this->logger->info( sprintf( 'Message %d accepted for delivery', PostmanState::getInstance()->getSuccessfulDeliveries() + 1 ) );
187
}
Postman/Postman-Mail/PostmanTransportRegistry.php CHANGED
@@ -229,12 +229,21 @@ class PostmanTransportRegistry {
229
public function getReadyMessage() {
230
if ( $this->getCurrentTransport()->isConfiguredAndReady() ) {
231
if ( PostmanOptions::getInstance()->getRunMode() != PostmanOptions::RUN_MODE_PRODUCTION ) {
232
- return __( 'Postman is in <em>non-Production</em> mode and is dumping all emails.', Postman::TEXT_DOMAIN );
233
} else {
234
- return __( 'Postman is configured.', Postman::TEXT_DOMAIN );
235
}
236
} else {
237
- return __( 'Postman is <em>not</em> configured and is mimicking out-of-the-box WordPress email delivery.', Postman::TEXT_DOMAIN );
238
}
239
}
240
}
229
public function getReadyMessage() {
230
if ( $this->getCurrentTransport()->isConfiguredAndReady() ) {
231
if ( PostmanOptions::getInstance()->getRunMode() != PostmanOptions::RUN_MODE_PRODUCTION ) {
232
+ return array(
233
+ 'error' => true,
234
+ 'message' => __( 'Postman is in <em>non-Production</em> mode and is dumping all emails.', Postman::TEXT_DOMAIN ),
235
+ );
236
} else {
237
+ return array(
238
+ 'error' => false,
239
+ 'message' => __( 'Postman is configured.', Postman::TEXT_DOMAIN ),
240
+ );
241
}
242
} else {
243
+ return array(
244
+ 'error' => true,
245
+ 'message' => __( 'Postman is <em>not</em> configured and is mimicking out-of-the-box WordPress email delivery.', Postman::TEXT_DOMAIN ),
246
+ );
247
}
248
}
249
}
Postman/Postman-Mail/PostmanWooCommerce.php ADDED
@@ -0,0 +1,149 @@
1
+ <?php
2
+
3
+ if ( ! class_exists( 'PostmanWoocommerce' ) ) {
4
+ class PostmanWoocommerce {
5
+
6
+ private $options;
7
+
8
+ public function __construct() {
9
+ $this->set_vars();
10
+ $this->hooks();
11
+ }
12
+
13
+ public function set_vars() {
14
+ $this->options = PostmanOptions::getInstance ();
15
+ }
16
+
17
+ public function hooks() {
18
+ add_filter( 'option_woocommerce_email_from_address', array( $this, 'set_postman_from_address' ), 10, 2 );
19
+ add_filter( 'woocommerce_email_from_address', array( $this, 'set_postman_from_address' ), 10, 2 );
20
+ add_filter( 'woocommerce_get_settings_email', array( $this, 'overide_email_settings' ) );
21
+ }
22
+
23
+ public function set_postman_from_address( $from_address, $WC_Email ) {
24
+ return $this->options->getMessageSenderEmail();
25
+ }
26
+
27
+ public function overide_email_settings( $settings ) {
28
+
29
+ return array(
30
+
31
+ array( 'title' => __( 'Email notifications', Postman::TEXT_DOMAIN ), 'desc' => __( 'Email notifications sent from WooCommerce are listed below. Click on an email to configure it.', Postman::TEXT_DOMAIN ), 'type' => 'title', 'id' => 'email_notification_settings' ),
32
+
33
+ array( 'type' => 'email_notification' ),
34
+
35
+ array( 'type' => 'sectionend', 'id' => 'email_notification_settings' ),
36
+
37
+ array( 'type' => 'sectionend', 'id' => 'email_recipient_options' ),
38
+
39
+ array( 'title' => __( 'Email sender options', Postman::TEXT_DOMAIN ), 'type' => 'title', 'desc' => '', 'id' => 'email_options' ),
40
+
41
+ array(
42
+ 'title' => __( '"From" name', Postman::TEXT_DOMAIN ),
43
+ 'desc' => __( 'How the sender name appears in outgoing WooCommerce emails.', Postman::TEXT_DOMAIN ),
44
+ 'id' => 'woocommerce_email_from_name',
45
+ 'type' => 'text',
46
+ 'css' => 'min-width:300px;',
47
+ 'default' => esc_attr( get_bloginfo( 'name', 'display' ) ),
48
+ 'autoload' => false,
49
+ 'desc_tip' => true,
50
+ ),
51
+
52
+ array(
53
+ 'title' => __( '"From" address', Postman::TEXT_DOMAIN ),
54
+ 'desc' => __( 'This is overided by the account configured on Post SMTP plugin configuration.', Postman::TEXT_DOMAIN ),
55
+ 'id' => 'woocommerce_email_from_address',
56
+ 'type' => 'email',
57
+ 'custom_attributes' => array(
58
+ 'multiple' => 'multiple',
59
+ 'disabled' => 'true',
60
+ ),
61
+ 'css' => 'min-width:300px;',
62
+ 'default' => $this->options->getMessageSenderEmail(),
63
+ 'autoload' => false,
64
+ 'desc_tip' => true,
65
+ ),
66
+
67
+ array( 'type' => 'sectionend', 'id' => 'email_options' ),
68
+
69
+ array( 'title' => __( 'Email template', Postman::TEXT_DOMAIN ), 'type' => 'title', 'desc' => sprintf( __( 'This section lets you customize the WooCommerce emails. <a href="%s" target="_blank">Click here to preview your email template</a>.', Postman::TEXT_DOMAIN ), wp_nonce_url( admin_url( '?preview_woocommerce_mail=true' ), 'preview-mail' ) ), 'id' => 'email_template_options' ),
70
+
71
+ array(
72
+ 'title' => __( 'Header image', Postman::TEXT_DOMAIN ),
73
+ 'desc' => __( 'URL to an image you want to show in the email header. Upload images using the media uploader (Admin > Media).', Postman::TEXT_DOMAIN ),
74
+ 'id' => 'woocommerce_email_header_image',
75
+ 'type' => 'text',
76
+ 'css' => 'min-width:300px;',
77
+ 'placeholder' => __( 'N/A', Postman::TEXT_DOMAIN ),
78
+ 'default' => '',
79
+ 'autoload' => false,
80
+ 'desc_tip' => true,
81
+ ),
82
+
83
+ array(
84
+ 'title' => __( 'Footer text', Postman::TEXT_DOMAIN ),
85
+ 'desc' => __( 'The text to appear in the footer of WooCommerce emails.', Postman::TEXT_DOMAIN ),
86
+ 'id' => 'woocommerce_email_footer_text',
87
+ 'css' => 'width:300px; height: 75px;',
88
+ 'placeholder' => __( 'N/A', Postman::TEXT_DOMAIN ),
89
+ 'type' => 'textarea',
90
+ /* translators: %s: site name */
91
+ 'default' => get_bloginfo( 'name', 'display' ),
92
+ 'autoload' => false,
93
+ 'desc_tip' => true,
94
+ ),
95
+
96
+ array(
97
+ 'title' => __( 'Base color', Postman::TEXT_DOMAIN ),
98
+ /* translators: %s: default color */
99
+ 'desc' => sprintf( __( 'The base color for WooCommerce email templates. Default %s.', Postman::TEXT_DOMAIN ), '<code>#96588a</code>' ),
100
+ 'id' => 'woocommerce_email_base_color',
101
+ 'type' => 'color',
102
+ 'css' => 'width:6em;',
103
+ 'default' => '#96588a',
104
+ 'autoload' => false,
105
+ 'desc_tip' => true,
106
+ ),
107
+
108
+ array(
109
+ 'title' => __( 'Background color', Postman::TEXT_DOMAIN ),
110
+ /* translators: %s: default color */
111
+ 'desc' => sprintf( __( 'The background color for WooCommerce email templates. Default %s.', Postman::TEXT_DOMAIN ), '<code>#f7f7f7</code>' ),
112
+ 'id' => 'woocommerce_email_background_color',
113
+ 'type' => 'color',
114
+ 'css' => 'width:6em;',
115
+ 'default' => '#f7f7f7',
116
+ 'autoload' => false,
117
+ 'desc_tip' => true,
118
+ ),
119
+
120
+ array(
121
+ 'title' => __( 'Body background color', Postman::TEXT_DOMAIN ),
122
+ /* translators: %s: default color */
123
+ 'desc' => sprintf( __( 'The main body background color. Default %s.', Postman::TEXT_DOMAIN ), '<code>#ffffff</code>' ),
124
+ 'id' => 'woocommerce_email_body_background_color',
125
+ 'type' => 'color',
126
+ 'css' => 'width:6em;',
127
+ 'default' => '#ffffff',
128
+ 'autoload' => false,
129
+ 'desc_tip' => true,
130
+ ),
131
+
132
+ array(
133
+ 'title' => __( 'Body text color', Postman::TEXT_DOMAIN ),
134
+ /* translators: %s: default color */
135
+ 'desc' => sprintf( __( 'The main body text color. Default %s.', Postman::TEXT_DOMAIN ), '<code>#3c3c3c</code>' ),
136
+ 'id' => 'woocommerce_email_text_color',
137
+ 'type' => 'color',
138
+ 'css' => 'width:6em;',
139
+ 'default' => '#3c3c3c',
140
+ 'autoload' => false,
141
+ 'desc_tip' => true,
142
+ ),
143
+
144
+ array( 'type' => 'sectionend', 'id' => 'email_template_options' ),
145
+
146
+ );
147
+ }
148
+ }
149
+ }
Postman/Postman-Mail/Zend-1.12.10/Mail/Transport/Abstract.php CHANGED
@@ -132,7 +132,7 @@ abstract class Postman_Zend_Mail_Transport_Abstract
132
if (!$type) {
133
if ($this->_mail->hasAttachments) {
134
$type = Postman_Zend_Mime::MULTIPART_MIXED;
135
- } elseif ($this->_mail->getBodyText() && $this->_mail->getBodyHtml()) {
136
$type = Postman_Zend_Mime::MULTIPART_ALTERNATIVE;
137
} else {
138
$type = Postman_Zend_Mime::MULTIPART_MIXED;
132
if (!$type) {
133
if ($this->_mail->hasAttachments) {
134
$type = Postman_Zend_Mime::MULTIPART_MIXED;
135
+ } elseif ($this->_mail->getBodyText() && $this->_mail->getBodyHtml() ) {
136
$type = Postman_Zend_Mime::MULTIPART_ALTERNATIVE;
137
} else {
138
$type = Postman_Zend_Mime::MULTIPART_MIXED;
Postman/Postman-Mail/google-api-client/composer.json ADDED
@@ -0,0 +1,5 @@
1
+ {
2
+ "require": {
3
+ "google/apiclient": "^2.0"
4
+ }
5
+ }
Postman/Postman-Mail/google-api-client/composer.lock ADDED
@@ -0,0 +1,702 @@
1
+ {
2
+ "_readme": [
3
+ "This file locks the dependencies of your project to a known state",
4
+ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
5
+ "This file is @generated automatically"
6
+ ],
7
+ "hash": "a7c903877c49c9f3aa3784f99c4a9097",
8
+ "content-hash": "3e6e79e410cd98a8d86f36f772fe3690",
9
+ "packages": [
10
+ {
11
+ "name": "firebase/php-jwt",
12
+ "version": "v5.0.0",
13
+ "source": {
14
+ "type": "git",
15
+ "url": "https://github.com/firebase/php-jwt.git",
16
+ "reference": "9984a4d3a32ae7673d6971ea00bae9d0a1abba0e"
17
+ },
18
+ "dist": {
19
+ "type": "zip",
20
+ "url": "https://api.github.com/repos/firebase/php-jwt/zipball/9984a4d3a32ae7673d6971ea00bae9d0a1abba0e",
21
+ "reference": "9984a4d3a32ae7673d6971ea00bae9d0a1abba0e",
22
+ "shasum": ""
23
+ },
24
+ "require": {
25
+ "php": ">=5.3.0"
26
+ },
27
+ "require-dev": {
28
+ "phpunit/phpunit": " 4.8.35"
29
+ },
30
+ "type": "library",
31
+ "autoload": {
32
+ "psr-4": {
33
+ "Firebase\\JWT\\": "src"
34
+ }
35
+ },
36
+ "notification-url": "https://packagist.org/downloads/",
37
+ "license": [
38
+ "BSD-3-Clause"
39
+ ],
40
+ "authors": [
41
+ {
42
+ "name": "Neuman Vong",
43
+ "email": "neuman+pear@twilio.com",
44
+ "role": "Developer"
45
+ },
46
+ {
47
+ "name": "Anant Narayanan",
48
+ "email": "anant@php.net",
49
+ "role": "Developer"
50
+ }
51
+ ],
52
+ "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.",
53
+ "homepage": "https://github.com/firebase/php-jwt",
54
+ "time": "2017-06-27 22:17:23"
55
+ },
56
+ {
57
+ "name": "google/apiclient",
58
+ "version": "v2.2.1",
59
+ "source": {
60
+ "type": "git",
61
+ "url": "https://github.com/google/google-api-php-client.git",
62
+ "reference": "b69b8ac4bf6501793c389d4e013a79d09c85c5f2"
63
+ },
64
+ "dist": {
65
+ "type": "zip",
66
+ "url": "https://api.github.com/repos/google/google-api-php-client/zipball/b69b8ac4bf6501793c389d4e013a79d09c85c5f2",
67
+ "reference": "b69b8ac4bf6501793c389d4e013a79d09c85c5f2",
68
+ "shasum": ""
69
+ },
70
+ "require": {
71
+ "firebase/php-jwt": "~2.0|~3.0|~4.0|~5.0",
72
+ "google/apiclient-services": "~0.13",
73
+ "google/auth": "^1.0",
74
+ "guzzlehttp/guzzle": "~5.3.1|~6.0",
75
+ "guzzlehttp/psr7": "^1.2",
76
+ "monolog/monolog": "^1.17",
77
+ "php": ">=5.4",
78
+ "phpseclib/phpseclib": "~0.3.10|~2.0"
79
+ },
80
+ "require-dev": {
81
+ "cache/filesystem-adapter": "^0.3.2",
82
+ "phpunit/phpunit": "~4",
83
+ "squizlabs/php_codesniffer": "~2.3",
84
+ "symfony/css-selector": "~2.1",
85
+ "symfony/dom-crawler": "~2.1"
86
+ },
87
+ "suggest": {
88
+ "cache/filesystem-adapter": "For caching certs and tokens (using Google_Client::setCache)"
89
+ },
90
+ "type": "library",
91
+ "extra": {
92
+ "branch-alias": {
93
+ "dev-master": "2.x-dev"
94
+ }
95
+ },
96
+ "autoload": {
97
+ "psr-0": {
98
+ "Google_": "src/"
99
+ },
100
+ "classmap": [
101
+ "src/Google/Service/"
102
+ ]
103
+ },
104
+ "notification-url": "https://packagist.org/downloads/",
105
+ "license": [
106
+ "Apache-2.0"
107
+ ],
108
+ "description": "Client library for Google APIs",
109
+ "homepage": "http://developers.google.com/api-client-library/php",
110
+ "keywords": [
111
+ "google"
112
+ ],
113
+ "time": "2017-11-03 01:19:53"
114
+ },
115
+ {
116
+ "name": "google/apiclient-services",
117
+ "version": "v0.49",
118
+ "source": {
119
+ "type": "git",
120
+ "url": "https://github.com/google/google-api-php-client-services.git",
121
+ "reference": "7552d7d1bb92e933fc93088014c8c2555c0feab6"
122
+ },
123
+ "dist": {
124
+ "type": "zip",
125
+ "url": "https://api.github.com/repos/google/google-api-php-client-services/zipball/7552d7d1bb92e933fc93088014c8c2555c0feab6",
126
+ "reference": "7552d7d1bb92e933fc93088014c8c2555c0feab6",
127
+ "shasum": ""
128
+ },
129
+ "require": {
130
+ "php": ">=5.4"
131
+ },
132
+ "require-dev": {
133
+ "phpunit/phpunit": "~4.8"
134
+ },
135
+ "type": "library",
136
+ "autoload": {
137
+ "psr-0": {
138
+ "Google_Service_": "src"
139
+ }
140
+ },
141
+ "notification-url": "https://packagist.org/downloads/",
142
+ "license": [
143
+ "Apache-2.0"
144
+ ],
145
+ "description": "Client library for Google APIs",
146
+ "homepage": "http://developers.google.com/api-client-library/php",
147
+ "keywords": [
148
+ "google"
149
+ ],
150
+ "time": "2018-03-04 00:24:05"
151
+ },
152
+ {
153
+ "name": "google/auth",
154
+ "version": "v1.2.1",
155
+ "source": {
156
+ "type": "git",
157
+ "url": "https://github.com/google/google-auth-library-php.git",
158
+ "reference": "da0062d279c9459350808a4fb63dbc08b90d6b90"
159
+ },
160
+ "dist": {
161
+ "type": "zip",
162
+ "url": "https://api.github.com/repos/google/google-auth-library-php/zipball/da0062d279c9459350808a4fb63dbc08b90d6b90",
163
+ "reference": "da0062d279c9459350808a4fb63dbc08b90d6b90",
164
+ "shasum": ""
165
+ },
166
+ "require": {
167
+ "firebase/php-jwt": "~2.0|~3.0|~4.0|~5.0",
168
+ "guzzlehttp/guzzle": "~5.3.1|~6.0",
169
+ "guzzlehttp/psr7": "~1.2",
170
+ "php": ">=5.4",
171
+ "psr/cache": "^1.0",
172
+ "psr/http-message": "^1.0"
173
+ },
174
+ "require-dev": {
175
+ "friendsofphp/php-cs-fixer": "^1.11",
176
+ "guzzlehttp/promises": "0.1.1|^1.3",
177
+ "phpunit/phpunit": "^4.8.36|^5.7",
178
+ "sebastian/comparator": ">=1.2.3"
179
+ },
180
+ "type": "library",
181
+ "autoload": {
182
+ "psr-4": {
183
+ "Google\\Auth\\": "src"
184
+ }
185
+ },
186
+ "notification-url": "https://packagist.org/downloads/",
187
+ "license": [
188
+ "Apache-2.0"
189
+ ],
190
+ "description": "Google Auth Library for PHP",
191
+ "homepage": "http://github.com/google/google-auth-library-php",
192
+ "keywords": [
193
+ "Authentication",
194
+ "google",
195
+ "oauth2"
196
+ ],
197
+ "time": "2018-01-24 18:28:42"
198
+ },
199
+ {
200
+ "name": "guzzlehttp/guzzle",
201
+ "version": "6.3.0",
202
+ "source": {
203
+ "type": "git",
204
+ "url": "https://github.com/guzzle/guzzle.git",
205
+ "reference": "f4db5a78a5ea468d4831de7f0bf9d9415e348699"
206
+ },
207
+ "dist": {
208
+ "type": "zip",
209
+ "url": "https://api.github.com/repos/guzzle/guzzle/zipball/f4db5a78a5ea468d4831de7f0bf9d9415e348699",
210
+ "reference": "f4db5a78a5ea468d4831de7f0bf9d9415e348699",
211
+ "shasum": ""
212
+ },
213
+ "require": {
214
+ "guzzlehttp/promises": "^1.0",
215
+ "guzzlehttp/psr7": "^1.4",
216
+ "php": ">=5.5"
217
+ },
218
+ "require-dev": {
219
+ "ext-curl": "*",
220
+ "phpunit/phpunit": "^4.0 || ^5.0",
221
+ "psr/log": "^1.0"
222
+ },
223
+ "suggest": {
224
+ "psr/log": "Required for using the Log middleware"
225
+ },
226
+ "type": "library",
227
+ "extra": {
228
+ "branch-alias": {
229
+ "dev-master": "6.2-dev"
230
+ }
231
+ },
232
+ "autoload": {
233
+ "files": [
234
+ "src/functions_include.php"
235
+ ],
236
+ "psr-4": {
237
+ "GuzzleHttp\\": "src/"
238
+ }
239
+ },
240
+ "notification-url": "https://packagist.org/downloads/",
241
+ "license": [
242
+ "MIT"
243
+ ],
244
+ "authors": [
245
+ {
246
+ "name": "Michael Dowling",
247
+ "email": "mtdowling@gmail.com",
248
+ "homepage": "https://github.com/mtdowling"
249
+ }
250
+ ],
251
+ "description": "Guzzle is a PHP HTTP client library",
252
+ "homepage": "http://guzzlephp.org/",
253
+ "keywords": [
254
+ "client",
255
+ "curl",
256
+ "framework",
257
+ "http",
258
+ "http client",
259
+ "rest",
260
+ "web service"
261
+ ],
262
+ "time": "2017-06-22 18:50:49"
263
+ },
264
+ {
265
+ "name": "guzzlehttp/promises",
266
+ "version": "v1.3.1",
267
+ "source": {
268
+ "type": "git",
269
+ "url": "https://github.com/guzzle/promises.git",
270
+ "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646"
271
+ },
272
+ "dist": {
273
+ "type": "zip",
274
+ "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646",
275
+ "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646",
276
+ "shasum": ""
277
+ },
278
+ "require": {
279
+ "php": ">=5.5.0"
280
+ },
281
+ "require-dev": {
282
+ "phpunit/phpunit": "^4.0"
283
+ },
284
+ "type": "library",
285
+ "extra": {
286
+ "branch-alias": {
287
+ "dev-master": "1.4-dev"
288
+ }
289
+ },
290
+ "autoload": {
291
+ "psr-4": {
292
+ "GuzzleHttp\\Promise\\": "src/"
293
+ },
294
+ "files": [
295
+ "src/functions_include.php"
296
+ ]
297
+ },
298
+ "notification-url": "https://packagist.org/downloads/",
299
+ "license": [
300
+ "MIT"
301
+ ],
302
+ "authors": [
303
+ {
304
+ "name": "Michael Dowling",
305
+ "email": "mtdowling@gmail.com",
306
+ "homepage": "https://github.com/mtdowling"
307
+ }
308
+ ],
309
+ "description": "Guzzle promises library",
310
+ "keywords": [
311
+ "promise"
312
+ ],
313
+ "time": "2016-12-20 10:07:11"
314
+ },
315
+ {
316
+ "name": "guzzlehttp/psr7",
317
+ "version": "1.4.2",
318
+ "source": {
319
+ "type": "git",
320
+ "url": "https://github.com/guzzle/psr7.git",
321
+ "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c"
322
+ },
323
+ "dist": {
324
+ "type": "zip",
325
+ "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c",
326
+ "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c",
327
+ "shasum": ""
328
+ },
329
+ "require": {
330
+ "php": ">=5.4.0",
331
+ "psr/http-message": "~1.0"
332
+ },
333
+ "provide": {
334
+ "psr/http-message-implementation": "1.0"
335
+ },
336
+ "require-dev": {
337
+ "phpunit/phpunit": "~4.0"
338
+ },
339
+ "type": "library",
340
+ "extra": {
341
+ "branch-alias": {
342
+ "dev-master": "1.4-dev"
343
+ }
344
+ },
345
+ "autoload": {
346
+ "psr-4": {
347
+ "GuzzleHttp\\Psr7\\": "src/"
348
+ },
349
+ "files": [
350
+ "src/functions_include.php"
351
+ ]
352
+ },
353
+ "notification-url": "https://packagist.org/downloads/",
354
+ "license": [
355
+ "MIT"
356
+ ],
357
+ "authors": [
358
+ {
359
+ "name": "Michael Dowling",
360
+ "email": "mtdowling@gmail.com",
361
+ "homepage": "https://github.com/mtdowling"
362
+ },
363
+ {
364
+ "name": "Tobias Schultze",
365
+ "homepage": "https://github.com/Tobion"
366
+ }
367
+ ],
368
+ "description": "PSR-7 message implementation that also provides common utility methods",
369
+ "keywords": [
370
+ "http",
371
+ "message",
372
+ "request",
373
+ "response",
374
+ "stream",
375
+ "uri",
376
+ "url"
377
+ ],
378
+ "time": "2017-03-20 17:10:46"
379
+ },
380
+ {
381
+ "name": "monolog/monolog",
382
+ "version": "1.23.0",
383
+ "source": {
384
+ "type": "git",
385
+ "url": "https://github.com/Seldaek/monolog.git",
386
+ "reference": "fd8c787753b3a2ad11bc60c063cff1358a32a3b4"
387
+ },
388
+ "dist": {
389
+ "type": "zip",
390
+ "url": "https://api.github.com/repos/Seldaek/monolog/zipball/fd8c787753b3a2ad11bc60c063cff1358a32a3b4",
391
+ "reference": "fd8c787753b3a2ad11bc60c063cff1358a32a3b4",
392
+ "shasum": ""
393
+ },
394
+ "require": {
395
+ "php": ">=5.3.0",
396
+ "psr/log": "~1.0"
397
+ },
398
+ "provide": {
399
+ "psr/log-implementation": "1.0.0"
400
+ },
401
+ "require-dev": {
402
+ "aws/aws-sdk-php": "^2.4.9 || ^3.0",
403
+ "doctrine/couchdb": "~1.0@dev",
404
+ "graylog2/gelf-php": "~1.0",
405
+ "jakub-onderka/php-parallel-lint": "0.9",
406
+ "php-amqplib/php-amqplib": "~2.4",
407
+ "php-console/php-console": "^3.1.3",
408
+ "phpunit/phpunit": "~4.5",
409
+ "phpunit/phpunit-mock-objects": "2.3.0",
410
+ "ruflin/elastica": ">=0.90 <3.0",
411
+ "sentry/sentry": "^0.13",
412
+ "swiftmailer/swiftmailer": "^5.3|^6.0"
413
+ },
414
+ "suggest": {
415
+ "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB",
416
+ "doctrine/couchdb": "Allow sending log messages to a CouchDB server",
417
+ "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)",
418
+ "ext-mongo": "Allow sending log messages to a MongoDB server",
419
+ "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
420
+ "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver",
421
+ "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib",
422
+ "php-console/php-console": "Allow sending log messages to Google Chrome",
423
+ "rollbar/rollbar": "Allow sending log messages to Rollbar",
424
+ "ruflin/elastica": "Allow sending log messages to an Elastic Search server",
425
+ "sentry/sentry": "Allow sending log messages to a Sentry server"
426
+ },
427
+ "type": "library",
428
+ "extra": {
429
+ "branch-alias": {
430
+ "dev-master": "2.0.x-dev"
431
+ }
432
+ },
433
+ "autoload": {
434
+ "psr-4": {
435
+ "Monolog\\": "src/Monolog"
436
+ }
437