create-berna-stencil 1.0.14 → 1.0.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (359) hide show
  1. package/.eleventy.js +1 -1
  2. package/.gitignore +2 -1
  3. package/bin/create.js +1 -1
  4. package/package.json +7 -6
  5. package/src/api/core/composer.json +1 -2
  6. package/src/api/core/vendor/autoload.php +1 -1
  7. package/src/api/core/vendor/composer/autoload_real.php +5 -5
  8. package/src/api/core/vendor/composer/autoload_static.php +15 -15
  9. package/src/api/core/vendor/composer/installed.json +7 -7
  10. package/src/api/core/vendor/composer/installed.php +2 -2
  11. package/src/api/core/vendor/graham-campbell/result-type/LICENSE +21 -21
  12. package/src/api/core/vendor/graham-campbell/result-type/composer.json +33 -33
  13. package/src/api/core/vendor/graham-campbell/result-type/src/Error.php +121 -121
  14. package/src/api/core/vendor/graham-campbell/result-type/src/Result.php +69 -69
  15. package/src/api/core/vendor/graham-campbell/result-type/src/Success.php +120 -120
  16. package/src/api/core/vendor/phpmailer/phpmailer/COMMITMENT +46 -46
  17. package/src/api/core/vendor/phpmailer/phpmailer/LICENSE +501 -501
  18. package/src/api/core/vendor/phpmailer/phpmailer/README.md +232 -232
  19. package/src/api/core/vendor/phpmailer/phpmailer/SECURITY.md +37 -37
  20. package/src/api/core/vendor/phpmailer/phpmailer/SMTPUTF8.md +48 -48
  21. package/src/api/core/vendor/phpmailer/phpmailer/VERSION +1 -1
  22. package/src/api/core/vendor/phpmailer/phpmailer/composer.json +84 -84
  23. package/src/api/core/vendor/phpmailer/phpmailer/get_oauth_token.php +182 -182
  24. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-af.php +26 -26
  25. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-ar.php +27 -27
  26. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-as.php +35 -35
  27. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-az.php +27 -27
  28. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-ba.php +27 -27
  29. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-be.php +27 -27
  30. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-bg.php +27 -27
  31. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-bn.php +35 -35
  32. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-ca.php +27 -27
  33. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-cs.php +28 -28
  34. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-da.php +39 -39
  35. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-de.php +28 -28
  36. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-el.php +33 -33
  37. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-eo.php +37 -37
  38. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-es.php +38 -38
  39. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-et.php +28 -28
  40. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-fa.php +28 -28
  41. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-fi.php +27 -27
  42. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-fo.php +27 -27
  43. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-fr.php +36 -36
  44. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-gl.php +27 -27
  45. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-he.php +27 -27
  46. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-hi.php +35 -35
  47. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-hr.php +27 -27
  48. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-hu.php +27 -27
  49. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-hy.php +27 -27
  50. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-id.php +31 -31
  51. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-it.php +28 -28
  52. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-ja.php +37 -37
  53. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-ka.php +27 -27
  54. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-ko.php +27 -27
  55. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-ku.php +27 -27
  56. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-lt.php +27 -27
  57. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-lv.php +27 -27
  58. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-mg.php +27 -27
  59. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-mn.php +27 -27
  60. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-ms.php +27 -27
  61. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-nb.php +37 -37
  62. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-nl.php +38 -38
  63. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-pl.php +33 -33
  64. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-pt.php +34 -34
  65. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-pt_br.php +38 -38
  66. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-ro.php +33 -33
  67. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-ru.php +36 -36
  68. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-si.php +34 -34
  69. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-sk.php +30 -30
  70. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-sl.php +36 -36
  71. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-sr.php +28 -28
  72. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-sr_latn.php +28 -28
  73. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-sv.php +27 -27
  74. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-tl.php +28 -28
  75. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-tr.php +38 -38
  76. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-uk.php +28 -28
  77. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-ur.php +30 -30
  78. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-vi.php +27 -27
  79. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-zh.php +29 -29
  80. package/src/api/core/vendor/phpmailer/phpmailer/language/phpmailer.lang-zh_cn.php +36 -36
  81. package/src/api/core/vendor/phpmailer/phpmailer/src/DSNConfigurator.php +245 -245
  82. package/src/api/core/vendor/phpmailer/phpmailer/src/Exception.php +40 -40
  83. package/src/api/core/vendor/phpmailer/phpmailer/src/OAuth.php +139 -139
  84. package/src/api/core/vendor/phpmailer/phpmailer/src/OAuthTokenProvider.php +44 -44
  85. package/src/api/core/vendor/phpmailer/phpmailer/src/PHPMailer.php +5525 -5525
  86. package/src/api/core/vendor/phpmailer/phpmailer/src/POP3.php +470 -470
  87. package/src/api/core/vendor/phpmailer/phpmailer/src/SMTP.php +1617 -1617
  88. package/src/api/core/vendor/phpoption/phpoption/LICENSE +200 -200
  89. package/src/api/core/vendor/phpoption/phpoption/composer.json +50 -50
  90. package/src/api/core/vendor/phpoption/phpoption/src/PhpOption/LazyOption.php +175 -175
  91. package/src/api/core/vendor/phpoption/phpoption/src/PhpOption/None.php +136 -136
  92. package/src/api/core/vendor/phpoption/phpoption/src/PhpOption/Option.php +434 -434
  93. package/src/api/core/vendor/phpoption/phpoption/src/PhpOption/Some.php +169 -169
  94. package/src/api/core/vendor/symfony/polyfill-ctype/Ctype.php +232 -232
  95. package/src/api/core/vendor/symfony/polyfill-ctype/LICENSE +19 -19
  96. package/src/api/core/vendor/symfony/polyfill-ctype/README.md +12 -12
  97. package/src/api/core/vendor/symfony/polyfill-ctype/bootstrap.php +50 -50
  98. package/src/api/core/vendor/symfony/polyfill-ctype/bootstrap80.php +46 -46
  99. package/src/api/core/vendor/symfony/polyfill-ctype/composer.json +38 -38
  100. package/src/api/core/vendor/symfony/polyfill-mbstring/LICENSE +19 -19
  101. package/src/api/core/vendor/symfony/polyfill-mbstring/Mbstring.php +1077 -1077
  102. package/src/api/core/vendor/symfony/polyfill-mbstring/README.md +13 -13
  103. package/src/api/core/vendor/symfony/polyfill-mbstring/Resources/unidata/caseFolding.php +119 -119
  104. package/src/api/core/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php +1397 -1397
  105. package/src/api/core/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php +5 -5
  106. package/src/api/core/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php +1489 -1489
  107. package/src/api/core/vendor/symfony/polyfill-mbstring/bootstrap.php +171 -171
  108. package/src/api/core/vendor/symfony/polyfill-mbstring/bootstrap80.php +167 -167
  109. package/src/api/core/vendor/symfony/polyfill-mbstring/composer.json +39 -39
  110. package/src/api/core/vendor/symfony/polyfill-php80/LICENSE +19 -19
  111. package/src/api/core/vendor/symfony/polyfill-php80/Php80.php +115 -115
  112. package/src/api/core/vendor/symfony/polyfill-php80/PhpToken.php +106 -106
  113. package/src/api/core/vendor/symfony/polyfill-php80/README.md +25 -25
  114. package/src/api/core/vendor/symfony/polyfill-php80/Resources/stubs/Attribute.php +31 -31
  115. package/src/api/core/vendor/symfony/polyfill-php80/Resources/stubs/PhpToken.php +16 -16
  116. package/src/api/core/vendor/symfony/polyfill-php80/Resources/stubs/Stringable.php +20 -20
  117. package/src/api/core/vendor/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php +16 -16
  118. package/src/api/core/vendor/symfony/polyfill-php80/Resources/stubs/ValueError.php +16 -16
  119. package/src/api/core/vendor/symfony/polyfill-php80/bootstrap.php +42 -42
  120. package/src/api/core/vendor/symfony/polyfill-php80/composer.json +37 -37
  121. package/src/api/core/vendor/vlucas/phpdotenv/LICENSE +30 -30
  122. package/src/api/core/vendor/vlucas/phpdotenv/composer.json +60 -60
  123. package/src/api/core/vendor/vlucas/phpdotenv/src/Dotenv.php +267 -267
  124. package/src/api/core/vendor/vlucas/phpdotenv/src/Exception/ExceptionInterface.php +12 -12
  125. package/src/api/core/vendor/vlucas/phpdotenv/src/Exception/InvalidEncodingException.php +12 -12
  126. package/src/api/core/vendor/vlucas/phpdotenv/src/Exception/InvalidFileException.php +12 -12
  127. package/src/api/core/vendor/vlucas/phpdotenv/src/Exception/InvalidPathException.php +12 -12
  128. package/src/api/core/vendor/vlucas/phpdotenv/src/Exception/ValidationException.php +12 -12
  129. package/src/api/core/vendor/vlucas/phpdotenv/src/Loader/Loader.php +48 -48
  130. package/src/api/core/vendor/vlucas/phpdotenv/src/Loader/LoaderInterface.php +20 -20
  131. package/src/api/core/vendor/vlucas/phpdotenv/src/Loader/Resolver.php +65 -65
  132. package/src/api/core/vendor/vlucas/phpdotenv/src/Parser/Entry.php +59 -59
  133. package/src/api/core/vendor/vlucas/phpdotenv/src/Parser/EntryParser.php +299 -299
  134. package/src/api/core/vendor/vlucas/phpdotenv/src/Parser/Lexer.php +58 -58
  135. package/src/api/core/vendor/vlucas/phpdotenv/src/Parser/Lines.php +127 -127
  136. package/src/api/core/vendor/vlucas/phpdotenv/src/Parser/Parser.php +53 -53
  137. package/src/api/core/vendor/vlucas/phpdotenv/src/Parser/ParserInterface.php +19 -19
  138. package/src/api/core/vendor/vlucas/phpdotenv/src/Parser/Value.php +88 -88
  139. package/src/api/core/vendor/vlucas/phpdotenv/src/Repository/Adapter/AdapterInterface.php +15 -15
  140. package/src/api/core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ApacheAdapter.php +89 -89
  141. package/src/api/core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ArrayAdapter.php +80 -80
  142. package/src/api/core/vendor/vlucas/phpdotenv/src/Repository/Adapter/EnvConstAdapter.php +88 -88
  143. package/src/api/core/vendor/vlucas/phpdotenv/src/Repository/Adapter/GuardedWriter.php +85 -85
  144. package/src/api/core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ImmutableWriter.php +110 -110
  145. package/src/api/core/vendor/vlucas/phpdotenv/src/Repository/Adapter/MultiReader.php +48 -48
  146. package/src/api/core/vendor/vlucas/phpdotenv/src/Repository/Adapter/MultiWriter.php +64 -64
  147. package/src/api/core/vendor/vlucas/phpdotenv/src/Repository/Adapter/PutenvAdapter.php +91 -91
  148. package/src/api/core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ReaderInterface.php +17 -17
  149. package/src/api/core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ReplacingWriter.php +104 -104
  150. package/src/api/core/vendor/vlucas/phpdotenv/src/Repository/Adapter/ServerConstAdapter.php +88 -88
  151. package/src/api/core/vendor/vlucas/phpdotenv/src/Repository/Adapter/WriterInterface.php +27 -27
  152. package/src/api/core/vendor/vlucas/phpdotenv/src/Repository/AdapterRepository.php +107 -107
  153. package/src/api/core/vendor/vlucas/phpdotenv/src/Repository/RepositoryBuilder.php +272 -272
  154. package/src/api/core/vendor/vlucas/phpdotenv/src/Repository/RepositoryInterface.php +51 -51
  155. package/src/api/core/vendor/vlucas/phpdotenv/src/Store/File/Paths.php +44 -44
  156. package/src/api/core/vendor/vlucas/phpdotenv/src/Store/File/Reader.php +81 -81
  157. package/src/api/core/vendor/vlucas/phpdotenv/src/Store/FileStore.php +72 -72
  158. package/src/api/core/vendor/vlucas/phpdotenv/src/Store/StoreBuilder.php +141 -141
  159. package/src/api/core/vendor/vlucas/phpdotenv/src/Store/StoreInterface.php +17 -17
  160. package/src/api/core/vendor/vlucas/phpdotenv/src/Store/StringStore.php +37 -37
  161. package/src/api/core/vendor/vlucas/phpdotenv/src/Util/Regex.php +112 -112
  162. package/src/api/core/vendor/vlucas/phpdotenv/src/Util/Str.php +108 -108
  163. package/src/api/core/vendor/vlucas/phpdotenv/src/Validator.php +207 -207
  164. package/src/api/endpoints/protected/{secret.php → prova-chiusa.php} +1 -1
  165. package/src/api/endpoints/public/{ping.php → prova-aperta.php} +1 -1
  166. package/src/api/core/vendor/graham-campbell/result-type/.gitattributes +0 -9
  167. package/src/api/core/vendor/graham-campbell/result-type/.github/CODE_OF_CONDUCT.md +0 -132
  168. package/src/api/core/vendor/graham-campbell/result-type/.github/CONTRIBUTING.md +0 -31
  169. package/src/api/core/vendor/graham-campbell/result-type/.github/FUNDING.yml +0 -2
  170. package/src/api/core/vendor/graham-campbell/result-type/.github/SECURITY.md +0 -14
  171. package/src/api/core/vendor/graham-campbell/result-type/.github/workflows/stale.yml +0 -11
  172. package/src/api/core/vendor/graham-campbell/result-type/.github/workflows/tests.yml +0 -40
  173. package/src/api/core/vendor/graham-campbell/result-type/CHANGELOG.md +0 -53
  174. package/src/api/core/vendor/graham-campbell/result-type/README.md +0 -42
  175. package/src/api/core/vendor/graham-campbell/result-type/phpunit.xml.dist +0 -13
  176. package/src/api/core/vendor/graham-campbell/result-type/tests/ResultTest.php +0 -95
  177. package/src/api/core/vendor/phpmailer/phpmailer/.codecov.yml +0 -21
  178. package/src/api/core/vendor/phpmailer/phpmailer/.editorconfig +0 -15
  179. package/src/api/core/vendor/phpmailer/phpmailer/.gitattributes +0 -17
  180. package/src/api/core/vendor/phpmailer/phpmailer/.github/FUNDING.yml +0 -6
  181. package/src/api/core/vendor/phpmailer/phpmailer/.github/ISSUE_TEMPLATE/bug_report.md +0 -23
  182. package/src/api/core/vendor/phpmailer/phpmailer/.github/actions/build-docs/Dockerfile +0 -15
  183. package/src/api/core/vendor/phpmailer/phpmailer/.github/actions/build-docs/entrypoint.sh +0 -5
  184. package/src/api/core/vendor/phpmailer/phpmailer/.github/dependabot.yml +0 -21
  185. package/src/api/core/vendor/phpmailer/phpmailer/.github/workflows/docs.yaml +0 -30
  186. package/src/api/core/vendor/phpmailer/phpmailer/.github/workflows/scorecards.yml +0 -61
  187. package/src/api/core/vendor/phpmailer/phpmailer/.github/workflows/tests.yml +0 -237
  188. package/src/api/core/vendor/phpmailer/phpmailer/.phan/config.php +0 -41
  189. package/src/api/core/vendor/phpmailer/phpmailer/UPGRADING.md +0 -125
  190. package/src/api/core/vendor/phpmailer/phpmailer/changelog.md +0 -1122
  191. package/src/api/core/vendor/phpmailer/phpmailer/docs/README.md +0 -9
  192. package/src/api/core/vendor/phpmailer/phpmailer/examples/DKIM_gen_keys.phps +0 -81
  193. package/src/api/core/vendor/phpmailer/phpmailer/examples/DKIM_sign.phps +0 -46
  194. package/src/api/core/vendor/phpmailer/phpmailer/examples/README.md +0 -96
  195. package/src/api/core/vendor/phpmailer/phpmailer/examples/azure_xoauth2.phps +0 -126
  196. package/src/api/core/vendor/phpmailer/phpmailer/examples/callback.phps +0 -76
  197. package/src/api/core/vendor/phpmailer/phpmailer/examples/contactform-ajax.phps +0 -146
  198. package/src/api/core/vendor/phpmailer/phpmailer/examples/contactform.phps +0 -95
  199. package/src/api/core/vendor/phpmailer/phpmailer/examples/contents.html +0 -17
  200. package/src/api/core/vendor/phpmailer/phpmailer/examples/contentsutf8.html +0 -23
  201. package/src/api/core/vendor/phpmailer/phpmailer/examples/exceptions.phps +0 -40
  202. package/src/api/core/vendor/phpmailer/phpmailer/examples/extending.phps +0 -72
  203. package/src/api/core/vendor/phpmailer/phpmailer/examples/gmail.phps +0 -106
  204. package/src/api/core/vendor/phpmailer/phpmailer/examples/gmail_xoauth.phps +0 -121
  205. package/src/api/core/vendor/phpmailer/phpmailer/examples/images/PHPMailer card logo.afdesign +0 -0
  206. package/src/api/core/vendor/phpmailer/phpmailer/examples/images/PHPMailer card logo.png +0 -0
  207. package/src/api/core/vendor/phpmailer/phpmailer/examples/images/PHPMailer card logo.svg +0 -209
  208. package/src/api/core/vendor/phpmailer/phpmailer/examples/images/phpmailer.png +0 -0
  209. package/src/api/core/vendor/phpmailer/phpmailer/examples/images/phpmailer_mini.png +0 -0
  210. package/src/api/core/vendor/phpmailer/phpmailer/examples/mail.phps +0 -35
  211. package/src/api/core/vendor/phpmailer/phpmailer/examples/mailing_list.phps +0 -96
  212. package/src/api/core/vendor/phpmailer/phpmailer/examples/pop_before_smtp.phps +0 -60
  213. package/src/api/core/vendor/phpmailer/phpmailer/examples/send_file_upload.phps +0 -60
  214. package/src/api/core/vendor/phpmailer/phpmailer/examples/send_multiple_file_upload.phps +0 -60
  215. package/src/api/core/vendor/phpmailer/phpmailer/examples/sendmail.phps +0 -37
  216. package/src/api/core/vendor/phpmailer/phpmailer/examples/sendoauth2.phps +0 -100
  217. package/src/api/core/vendor/phpmailer/phpmailer/examples/simple_contact_form.phps +0 -102
  218. package/src/api/core/vendor/phpmailer/phpmailer/examples/smime_signed_mail.phps +0 -99
  219. package/src/api/core/vendor/phpmailer/phpmailer/examples/smtp.phps +0 -62
  220. package/src/api/core/vendor/phpmailer/phpmailer/examples/smtp_check.phps +0 -60
  221. package/src/api/core/vendor/phpmailer/phpmailer/examples/smtp_low_memory.phps +0 -117
  222. package/src/api/core/vendor/phpmailer/phpmailer/examples/smtp_no_auth.phps +0 -53
  223. package/src/api/core/vendor/phpmailer/phpmailer/examples/ssl_options.phps +0 -81
  224. package/src/api/core/vendor/phpmailer/phpmailer/phpcs.xml.dist +0 -52
  225. package/src/api/core/vendor/phpmailer/phpmailer/phpdoc.dist.xml +0 -20
  226. package/src/api/core/vendor/phpmailer/phpmailer/phpunit.xml.dist +0 -36
  227. package/src/api/core/vendor/phpmailer/phpmailer/test/DebugLogTestListener.php +0 -47
  228. package/src/api/core/vendor/phpmailer/phpmailer/test/Fixtures/FileIsAccessibleTest/accessible.txt +0 -1
  229. package/src/api/core/vendor/phpmailer/phpmailer/test/Fixtures/FileIsAccessibleTest/inaccessible.txt +0 -1
  230. package/src/api/core/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-fr.php +0 -10
  231. package/src/api/core/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-nl.php +0 -10
  232. package/src/api/core/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xa_scri_cc.php +0 -9
  233. package/src/api/core/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xb_scri.php +0 -9
  234. package/src/api/core/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xc_cc.php +0 -9
  235. package/src/api/core/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xd_cc.php +0 -9
  236. package/src/api/core/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xd_scri.php +0 -9
  237. package/src/api/core/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xe.php +0 -9
  238. package/src/api/core/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xx.php +0 -9
  239. package/src/api/core/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-yy.php +0 -16
  240. package/src/api/core/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-yz.php +0 -16
  241. package/src/api/core/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-zz.php +0 -20
  242. package/src/api/core/vendor/phpmailer/phpmailer/test/Language/TranslationCompletenessTest.php +0 -97
  243. package/src/api/core/vendor/phpmailer/phpmailer/test/OAuth/OAuthTest.php +0 -76
  244. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/AddEmbeddedImageTest.php +0 -178
  245. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/AddStringAttachmentTest.php +0 -147
  246. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/AddStringEmbeddedImageTest.php +0 -161
  247. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/AddrFormatTest.php +0 -70
  248. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/AuthCRAMMD5Test.php +0 -48
  249. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/CustomHeaderTest.php +0 -285
  250. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/DKIMTest.php +0 -258
  251. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/DKIMWithoutExceptionsTest.php +0 -46
  252. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/DSNConfiguratorTest.php +0 -221
  253. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/EncodeQTest.php +0 -110
  254. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/EncodeStringTest.php +0 -135
  255. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/FileIsAccessibleTest.php +0 -103
  256. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/FilenameToTypeTest.php +0 -74
  257. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/GenerateIdTest.php +0 -75
  258. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/GetLastMessageIDTest.php +0 -110
  259. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/HasLineLongerThanMaxTest.php +0 -158
  260. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/Html2TextTest.php +0 -231
  261. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/ICalTest.php +0 -126
  262. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/IsPermittedPathTest.php +0 -108
  263. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/IsValidHostTest.php +0 -107
  264. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/LocalizationTest.php +0 -505
  265. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/MailTransportTest.php +0 -261
  266. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/MbPathinfoTest.php +0 -171
  267. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/MimeTypesTest.php +0 -70
  268. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/NormalizeBreaksTest.php +0 -111
  269. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/PHPMailerTest.php +0 -1388
  270. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/ParseAddressesTest.php +0 -321
  271. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/PunyencodeAddressTest.php +0 -141
  272. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/QuotedStringTest.php +0 -70
  273. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/ReplyToGetSetClearTest.php +0 -444
  274. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/SetErrorTest.php +0 -154
  275. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/SetFromTest.php +0 -202
  276. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/SetTest.php +0 -81
  277. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/SetWordWrapTest.php +0 -120
  278. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/Utf8CharBoundaryTest.php +0 -66
  279. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/ValidateAddressCustomValidatorTest.php +0 -116
  280. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/ValidateAddressTest.php +0 -485
  281. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/WrapTextTest.php +0 -125
  282. package/src/api/core/vendor/phpmailer/phpmailer/test/PHPMailer/XMailerTest.php +0 -75
  283. package/src/api/core/vendor/phpmailer/phpmailer/test/POP3/PopBeforeSmtpTest.php +0 -139
  284. package/src/api/core/vendor/phpmailer/phpmailer/test/PreSendTestCase.php +0 -46
  285. package/src/api/core/vendor/phpmailer/phpmailer/test/Security/DenialOfServiceVectorsTest.php +0 -52
  286. package/src/api/core/vendor/phpmailer/phpmailer/test/SendTestCase.php +0 -126
  287. package/src/api/core/vendor/phpmailer/phpmailer/test/TestCase.php +0 -392
  288. package/src/api/core/vendor/phpmailer/phpmailer/test/fakepopserver.sh +0 -126
  289. package/src/api/core/vendor/phpmailer/phpmailer/test/fakesendmail.sh +0 -22
  290. package/src/api/core/vendor/phpmailer/phpmailer/test/runfakepopserver.sh +0 -12
  291. package/src/api/core/vendor/phpmailer/phpmailer/test/testbootstrap-dist.php +0 -8
  292. package/src/api/core/vendor/phpmailer/phpmailer/test/validators.php +0 -12
  293. package/src/api/core/vendor/phpoption/phpoption/.gitattributes +0 -13
  294. package/src/api/core/vendor/phpoption/phpoption/.github/CODE_OF_CONDUCT.md +0 -132
  295. package/src/api/core/vendor/phpoption/phpoption/.github/CONTRIBUTING.md +0 -30
  296. package/src/api/core/vendor/phpoption/phpoption/.github/FUNDING.yml +0 -2
  297. package/src/api/core/vendor/phpoption/phpoption/.github/SECURITY.md +0 -14
  298. package/src/api/core/vendor/phpoption/phpoption/.github/workflows/static.yml +0 -40
  299. package/src/api/core/vendor/phpoption/phpoption/.github/workflows/tests.yml +0 -40
  300. package/src/api/core/vendor/phpoption/phpoption/Makefile +0 -17
  301. package/src/api/core/vendor/phpoption/phpoption/README.md +0 -201
  302. package/src/api/core/vendor/phpoption/phpoption/phpstan-baseline.neon +0 -44
  303. package/src/api/core/vendor/phpoption/phpoption/phpstan.neon.dist +0 -7
  304. package/src/api/core/vendor/phpoption/phpoption/phpunit.xml.dist +0 -13
  305. package/src/api/core/vendor/phpoption/phpoption/tests/PhpOption/Tests/EnsureTest.php +0 -72
  306. package/src/api/core/vendor/phpoption/phpoption/tests/PhpOption/Tests/LazyOptionTest.php +0 -357
  307. package/src/api/core/vendor/phpoption/phpoption/tests/PhpOption/Tests/NoneTest.php +0 -153
  308. package/src/api/core/vendor/phpoption/phpoption/tests/PhpOption/Tests/OptionTest.php +0 -166
  309. package/src/api/core/vendor/phpoption/phpoption/tests/PhpOption/Tests/SomeTest.php +0 -194
  310. package/src/api/core/vendor/phpoption/phpoption/tests/bootstrap.php +0 -8
  311. package/src/api/core/vendor/phpoption/phpoption/vendor-bin/phpstan/composer.json +0 -8
  312. package/src/api/core/vendor/vlucas/phpdotenv/.editorconfig +0 -15
  313. package/src/api/core/vendor/vlucas/phpdotenv/.gitattributes +0 -15
  314. package/src/api/core/vendor/vlucas/phpdotenv/.github/CODE_OF_CONDUCT.md +0 -132
  315. package/src/api/core/vendor/vlucas/phpdotenv/.github/CONTRIBUTING.md +0 -30
  316. package/src/api/core/vendor/vlucas/phpdotenv/.github/FUNDING.yml +0 -2
  317. package/src/api/core/vendor/vlucas/phpdotenv/.github/SECURITY.md +0 -14
  318. package/src/api/core/vendor/vlucas/phpdotenv/.github/workflows/static.yml +0 -40
  319. package/src/api/core/vendor/vlucas/phpdotenv/.github/workflows/tests.yml +0 -70
  320. package/src/api/core/vendor/vlucas/phpdotenv/Makefile +0 -17
  321. package/src/api/core/vendor/vlucas/phpdotenv/README.md +0 -370
  322. package/src/api/core/vendor/vlucas/phpdotenv/UPGRADING.md +0 -196
  323. package/src/api/core/vendor/vlucas/phpdotenv/phpstan-baseline.neon +0 -157
  324. package/src/api/core/vendor/vlucas/phpdotenv/phpstan.neon.dist +0 -7
  325. package/src/api/core/vendor/vlucas/phpdotenv/phpunit.xml.dist +0 -13
  326. package/src/api/core/vendor/vlucas/phpdotenv/tests/Dotenv/DotenvTest.php +0 -387
  327. package/src/api/core/vendor/vlucas/phpdotenv/tests/Dotenv/Loader/LoaderTest.php +0 -86
  328. package/src/api/core/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/EntryParserTest.php +0 -234
  329. package/src/api/core/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/LexerTest.php +0 -40
  330. package/src/api/core/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/LinesTest.php +0 -53
  331. package/src/api/core/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/ParserTest.php +0 -98
  332. package/src/api/core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/ArrayAdapterTest.php +0 -57
  333. package/src/api/core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/EnvConstAdapterTest.php +0 -75
  334. package/src/api/core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/PutenvAdapterTest.php +0 -52
  335. package/src/api/core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/ServerConstAdapterTest.php +0 -75
  336. package/src/api/core/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/RepositoryTest.php +0 -305
  337. package/src/api/core/vendor/vlucas/phpdotenv/tests/Dotenv/Store/StoreTest.php +0 -141
  338. package/src/api/core/vendor/vlucas/phpdotenv/tests/Dotenv/ValidatorTest.php +0 -479
  339. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/.env +0 -5
  340. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/assertions.env +0 -18
  341. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/booleans.env +0 -33
  342. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/commented.env +0 -15
  343. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/empty.env +0 -1
  344. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/example.env +0 -1
  345. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/exported.env +0 -7
  346. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/immutable.env +0 -1
  347. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/integers.env +0 -17
  348. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/large.env +0 -2
  349. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/multibyte.env +0 -3
  350. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/multiline.env +0 -14
  351. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/multiple.env +0 -4
  352. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/mutable.env +0 -1
  353. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/nested.env +0 -15
  354. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/quoted.env +0 -11
  355. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/specialchars.env +0 -8
  356. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/unicodevarnames.env +0 -2
  357. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/utf8-with-bom-encoding.env +0 -3
  358. package/src/api/core/vendor/vlucas/phpdotenv/tests/fixtures/env/windows.env +0 -1
  359. package/src/api/core/vendor/vlucas/phpdotenv/vendor-bin/phpstan/composer.json +0 -15
@@ -1,232 +1,232 @@
1
- [![SWUbanner](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner2-direct.svg)](https://supportukrainenow.org/)
2
-
3
- ![PHPMailer](https://raw.github.com/PHPMailer/PHPMailer/master/examples/images/phpmailer.png)
4
-
5
- # PHPMailer – A full-featured email creation and transfer class for PHP
6
-
7
- [![Test status](https://github.com/PHPMailer/PHPMailer/workflows/Tests/badge.svg)](https://github.com/PHPMailer/PHPMailer/actions)
8
- [![codecov.io](https://codecov.io/gh/PHPMailer/PHPMailer/branch/master/graph/badge.svg?token=iORZpwmYmM)](https://codecov.io/gh/PHPMailer/PHPMailer)
9
- [![Latest Stable Version](https://poser.pugx.org/phpmailer/phpmailer/v/stable.svg)](https://packagist.org/packages/phpmailer/phpmailer)
10
- [![Total Downloads](https://poser.pugx.org/phpmailer/phpmailer/downloads)](https://packagist.org/packages/phpmailer/phpmailer)
11
- [![License](https://poser.pugx.org/phpmailer/phpmailer/license.svg)](https://packagist.org/packages/phpmailer/phpmailer)
12
- [![API Docs](https://github.com/phpmailer/phpmailer/workflows/Docs/badge.svg)](https://phpmailer.github.io/PHPMailer/)
13
- [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/PHPMailer/PHPMailer/badge)](https://api.securityscorecards.dev/projects/github.com/PHPMailer/PHPMailer)
14
-
15
- ## Features
16
- - Probably the world's most popular code for sending email from PHP!
17
- - Used by many open-source projects: WordPress, Drupal, 1CRM, SugarCRM, Yii, Joomla! and many more
18
- - Integrated SMTP support – send without a local mail server
19
- - Send emails with multiple To, CC, BCC, and Reply-to addresses
20
- - Multipart/alternative emails for mail clients that do not read HTML email
21
- - Add attachments, including inline
22
- - Support for UTF-8 content and 8bit, base64, binary, and quoted-printable encodings
23
- - Full UTF-8 support when using servers that support `SMTPUTF8`.
24
- - Support for iCal events in multiparts and attachments
25
- - SMTP authentication with `LOGIN`, `PLAIN`, `CRAM-MD5`, and `XOAUTH2` mechanisms over SMTPS and SMTP+STARTTLS transports
26
- - Validates email addresses automatically
27
- - Protects against header injection attacks
28
- - Error messages in over 50 languages!
29
- - DKIM and S/MIME signing support
30
- - Compatible with PHP 5.5 and later, including PHP 8.5
31
- - Namespaced to prevent name clashes
32
- - Much more!
33
-
34
- ## Why you might need it
35
- Many PHP developers need to send email from their code. The only PHP function that supports this directly is [`mail()`](https://www.php.net/manual/en/function.mail.php). However, it does not provide any assistance for making use of popular features such as authentication, HTML messages, and attachments.
36
-
37
- Formatting email correctly is surprisingly difficult. There are myriad overlapping (and conflicting) standards, requiring tight adherence to horribly complicated formatting and encoding rules – the vast majority of code that you'll find online that uses the `mail()` function directly is just plain wrong, if not unsafe!
38
-
39
- The PHP `mail()` function usually sends via a local mail server, typically fronted by a `sendmail` binary on Linux, BSD, and macOS platforms, however, Windows usually doesn't include a local mail server; PHPMailer's integrated SMTP client allows email sending on all platforms without needing a local mail server. Be aware though, that the `mail()` function should be avoided when possible; it's both faster and [safer](https://exploitbox.io/paper/Pwning-PHP-Mail-Function-For-Fun-And-RCE.html) to use SMTP to localhost.
40
-
41
- *Please* don't be tempted to do it yourself – if you don't use PHPMailer, there are many other excellent libraries that
42
- you should look at before rolling your own. Try [Symfony Mailer](https://symfony.com/doc/current/mailer.html), [Laminas/Mail](https://docs.laminas.dev/laminas-mail/), [ZetaComponents](https://github.com/zetacomponents/Mail), etc.
43
-
44
- ## License
45
- This software is distributed under the [LGPL 2.1](https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html) license, along with the [GPL Cooperation Commitment](https://gplcc.github.io/gplcc/). Please read [LICENSE](https://github.com/PHPMailer/PHPMailer/blob/master/LICENSE) for information on the software availability and distribution.
46
-
47
- ## Installation & loading
48
- PHPMailer is available on [Packagist](https://packagist.org/packages/phpmailer/phpmailer) (using semantic versioning), and installation via [Composer](https://getcomposer.org) is the recommended way to install PHPMailer. Just add this line to your `composer.json` file:
49
-
50
- ```json
51
- "phpmailer/phpmailer": "^7.0.0"
52
- ```
53
-
54
- or run
55
-
56
- ```sh
57
- composer require phpmailer/phpmailer
58
- ```
59
-
60
- Note that the `vendor` folder and the `vendor/autoload.php` script are generated by Composer; they are not part of PHPMailer.
61
-
62
- If you want to use XOAUTH2 authentication, you will also need to add a dependency on the `league/oauth2-client` and appropriate service adapters package in your `composer.json`, or take a look at
63
- by @decomplexity's [SendOauth2 wrapper](https://github.com/decomplexity/SendOauth2), especially if you're using Microsoft services.
64
-
65
- Alternatively, if you're not using Composer, you
66
- can [download PHPMailer as a zip file](https://github.com/PHPMailer/PHPMailer/archive/master.zip), (note that docs and examples are not included in the zip file), then copy the contents of the PHPMailer folder into one of the `include_path` directories specified in your PHP configuration and load each class file manually:
67
-
68
- ```php
69
- <?php
70
- use PHPMailer\PHPMailer\PHPMailer;
71
- use PHPMailer\PHPMailer\Exception;
72
-
73
- require 'path/to/PHPMailer/src/Exception.php';
74
- require 'path/to/PHPMailer/src/PHPMailer.php';
75
- require 'path/to/PHPMailer/src/SMTP.php';
76
- ```
77
-
78
- If you're not using the `SMTP` class explicitly (you're probably not), you don't need a `use` line for it. Even if you're not using exceptions, you do still need to load the `Exception` class as it is used internally.
79
-
80
- ## Legacy versions
81
- PHPMailer 5.2 (which is compatible with PHP 5.0 — 7.0) is no longer supported, even for security updates. You will find the latest version of 5.2 in the [5.2-stable branch](https://github.com/PHPMailer/PHPMailer/tree/5.2-stable). If you're using PHP 5.5 or later (which you should be), switch to the 6.x releases.
82
-
83
- ### Upgrading from 5.2
84
- The biggest changes are that source files are now in the `src/` folder, and PHPMailer now declares the namespace `PHPMailer\PHPMailer`. This has several important effects – [read the upgrade guide](https://github.com/PHPMailer/PHPMailer/tree/master/UPGRADING.md) for more details.
85
-
86
- ### Minimal installation
87
- While installing the entire package manually or with Composer is simple, convenient, and reliable, you may want to include only vital files in your project. At the very least you will need [src/PHPMailer.php](https://github.com/PHPMailer/PHPMailer/tree/master/src/PHPMailer.php). If you're using SMTP, you'll need [src/SMTP.php](https://github.com/PHPMailer/PHPMailer/tree/master/src/SMTP.php), and if you're using POP-before SMTP (*very* unlikely!), you'll need [src/POP3.php](https://github.com/PHPMailer/PHPMailer/tree/master/src/POP3.php). You can skip the [language](https://github.com/PHPMailer/PHPMailer/tree/master/language/) folder if you're not showing errors to users and can make do with English-only errors. If you're using XOAUTH2 you will need [src/OAuth.php](https://github.com/PHPMailer/PHPMailer/tree/master/src/OAuth.php) as well as the Composer dependencies for the services you wish to authenticate with. Really, it's much easier to use Composer!
88
-
89
- ## A Simple Example
90
-
91
- ```php
92
- <?php
93
- //Import PHPMailer classes into the global namespace
94
- //These must be at the top of your script, not inside a function
95
- use PHPMailer\PHPMailer\PHPMailer;
96
- use PHPMailer\PHPMailer\SMTP;
97
- use PHPMailer\PHPMailer\Exception;
98
-
99
- //Load Composer's autoloader (created by composer, not included with PHPMailer)
100
- require 'vendor/autoload.php';
101
-
102
- //Create an instance; passing `true` enables exceptions
103
- $mail = new PHPMailer(true);
104
-
105
- try {
106
- //Server settings
107
- $mail->SMTPDebug = SMTP::DEBUG_SERVER; //Enable verbose debug output
108
- $mail->isSMTP(); //Send using SMTP
109
- $mail->Host = 'smtp.example.com'; //Set the SMTP server to send through
110
- $mail->SMTPAuth = true; //Enable SMTP authentication
111
- $mail->Username = 'user@example.com'; //SMTP username
112
- $mail->Password = 'secret'; //SMTP password
113
- $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; //Enable implicit TLS encryption
114
- $mail->Port = 465; //TCP port to connect to; use 587 if you have set `SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS`
115
-
116
- //Recipients
117
- $mail->setFrom('from@example.com', 'Mailer');
118
- $mail->addAddress('joe@example.net', 'Joe User'); //Add a recipient
119
- $mail->addAddress('ellen@example.com'); //Name is optional
120
- $mail->addReplyTo('info@example.com', 'Information');
121
- $mail->addCC('cc@example.com');
122
- $mail->addBCC('bcc@example.com');
123
-
124
- //Attachments
125
- $mail->addAttachment('/var/tmp/file.tar.gz'); //Add attachments
126
- $mail->addAttachment('/tmp/image.jpg', 'new.jpg'); //Optional name
127
-
128
- //Content
129
- $mail->isHTML(true); //Set email format to HTML
130
- $mail->Subject = 'Here is the subject';
131
- $mail->Body = 'This is the HTML message body <b>in bold!</b>';
132
- $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
133
-
134
- $mail->send();
135
- echo 'Message has been sent';
136
- } catch (Exception $e) {
137
- echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
138
- }
139
- ```
140
-
141
- You'll find plenty to play with in the [examples](https://github.com/PHPMailer/PHPMailer/tree/master/examples) folder, which covers many common scenarios including sending through Gmail, building contact forms, sending to mailing lists, and more.
142
-
143
- If you are re-using the instance (e.g. when sending to a mailing list), you may need to clear the recipient list to avoid sending duplicate messages. See [the mailing list example](https://github.com/PHPMailer/PHPMailer/blob/master/examples/mailing_list.phps) for further guidance.
144
-
145
- That's it. You should now be ready to use PHPMailer!
146
-
147
- ## Localization
148
- PHPMailer defaults to English, but in the [language](https://github.com/PHPMailer/PHPMailer/tree/master/language/) folder, you'll find many translations for PHPMailer error messages that you may encounter. Their filenames contain [ISO 639-1](https://en.wikipedia.org/wiki/ISO_639-1) language code for the translations, for example `fr` for French. To specify a language, you need to tell PHPMailer which one to use, like this:
149
-
150
- ```php
151
- //To load the French version
152
- $mail->setLanguage('fr', '/optional/path/to/language/directory/');
153
- ```
154
-
155
- We welcome corrections and new languages – if you're looking for corrections, run the [Language/TranslationCompletenessTest.php](https://github.com/PHPMailer/PHPMailer/blob/master/test/Language/TranslationCompletenessTest.php) script in the tests folder and it will show any missing translations.
156
-
157
- ## Documentation
158
- Start reading at the [GitHub wiki](https://github.com/PHPMailer/PHPMailer/wiki). If you're having trouble, head for [the troubleshooting guide](https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting) as it's frequently updated.
159
-
160
- Examples of how to use PHPMailer for common scenarios can be found in the [examples](https://github.com/PHPMailer/PHPMailer/tree/master/examples) folder. If you're looking for a good starting point, we recommend you start with [the Gmail example](https://github.com/PHPMailer/PHPMailer/tree/master/examples/gmail.phps).
161
-
162
- To reduce PHPMailer's deployed code footprint, examples are not included if you load PHPMailer via Composer or via [GitHub's zip file download](https://github.com/PHPMailer/PHPMailer/archive/master.zip), so you'll need to either clone the git repository or use the above links to get to the examples directly.
163
-
164
- Complete generated API documentation is [available online](https://phpmailer.github.io/PHPMailer/).
165
-
166
- You can generate complete API-level documentation by running `phpdoc` in the top-level folder, and documentation will appear in the `docs` folder, though you'll need to have [PHPDocumentor](https://www.phpdoc.org) installed. You may find [the unit tests](https://github.com/PHPMailer/PHPMailer/blob/master/test/PHPMailer/PHPMailerTest.php) a good reference for how to do various operations such as encryption.
167
-
168
- If the documentation doesn't cover what you need, search the [many questions on Stack Overflow](https://stackoverflow.com/questions/tagged/phpmailer), and before you ask a question about "SMTP Error: Could not connect to SMTP host.", [read the troubleshooting guide](https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting).
169
-
170
- ## Tests
171
- [PHPMailer tests](https://github.com/PHPMailer/PHPMailer/tree/master/test/) use PHPUnit 9, with [a polyfill](https://github.com/Yoast/PHPUnit-Polyfills) to let 9-style tests run on older PHPUnit and PHP versions.
172
-
173
- [![Test status](https://github.com/PHPMailer/PHPMailer/workflows/Tests/badge.svg)](https://github.com/PHPMailer/PHPMailer/actions)
174
-
175
- If this isn't passing, is there something you can do to help?
176
-
177
- ## Security
178
- Please disclose any vulnerabilities found responsibly – report security issues to the maintainers privately.
179
-
180
- See [SECURITY](https://github.com/PHPMailer/PHPMailer/tree/master/SECURITY.md) and [PHPMailer's security advisories on GitHub](https://github.com/PHPMailer/PHPMailer/security).
181
-
182
- ## Contributing
183
- Please submit bug reports, suggestions, and pull requests to the [GitHub issue tracker](https://github.com/PHPMailer/PHPMailer/issues).
184
-
185
- We're particularly interested in fixing edge cases, expanding test coverage, and updating translations.
186
-
187
- If you found a mistake in the docs, or want to add something, go ahead and amend the wiki – anyone can edit it.
188
-
189
- If you have git clones from prior to the move to the PHPMailer GitHub organisation, you'll need to update any remote URLs referencing the old GitHub location with a command like this from within your clone:
190
-
191
- ```sh
192
- git remote set-url upstream https://github.com/PHPMailer/PHPMailer.git
193
- ```
194
-
195
- Please *don't* use the SourceForge or Google Code projects any more; they are obsolete and no longer maintained.
196
-
197
- ## Sponsorship
198
- Development time and resources for PHPMailer are provided by [Smartmessages.net](https://info.smartmessages.net/), the world's only privacy-first email marketing system.
199
-
200
- <a href="https://info.smartmessages.net/"><img src="https://www.smartmessages.net/img/smartmessages-logo.svg" width="550" alt="Smartmessages.net privacy-first email marketing logo"></a>
201
-
202
- Donations are very welcome, whether in beer 🍺, T-shirts 👕, or cold, hard cash 💰. Sponsorship through GitHub is a simple and convenient way to say "thank you" to PHPMailer's maintainers and contributors – just click the "Sponsor" button [on the project page](https://github.com/PHPMailer/PHPMailer). If your company uses PHPMailer, consider taking part in Tidelift's enterprise support programme.
203
-
204
- ## PHPMailer For Enterprise
205
-
206
- Available as part of the Tidelift Subscription.
207
-
208
- The maintainers of PHPMailer and thousands of other packages are working with Tidelift to deliver commercial
209
- support and maintenance for the open-source packages you use to build your applications. Save time, reduce risk, and
210
- improve code health, while paying the maintainers of the exact packages you
211
- use. [Learn more.](https://tidelift.com/subscription/pkg/packagist-phpmailer-phpmailer?utm_source=packagist-phpmailer-phpmailer&utm_medium=referral&utm_campaign=enterprise&utm_term=repo)
212
-
213
- ## Changelog
214
- See [changelog](changelog.md).
215
-
216
- ## History
217
- - PHPMailer was originally written in 2001 by Brent R. Matzelle as a [SourceForge project](https://sourceforge.net/projects/phpmailer/).
218
- - [Marcus Bointon](https://github.com/Synchro) (`coolbru` on SF) and Andy Prevost (`codeworxtech`) took over the project in 2004.
219
- - Became an Apache incubator project on Google Code in 2010, managed by Jim Jagielski.
220
- - Marcus created [his fork on GitHub](https://github.com/Synchro/PHPMailer) in 2008.
221
- - Jim and Marcus decide to join forces and use GitHub as the canonical and official repo for PHPMailer in 2013.
222
- - PHPMailer moves to [the PHPMailer organisation](https://github.com/PHPMailer) on GitHub in 2013.
223
-
224
- ### What's changed since moving from SourceForge?
225
- - Official successor to the SourceForge and Google Code projects.
226
- - Test suite.
227
- - Continuous integration with GitHub Actions.
228
- - Composer support.
229
- - Public development.
230
- - Additional languages and language strings.
231
- - CRAM-MD5 authentication support.
232
- - Preserves full repo history of authors, commits, and branches from the original SourceForge project.
1
+ [![SWUbanner](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner2-direct.svg)](https://supportukrainenow.org/)
2
+
3
+ ![PHPMailer](https://raw.github.com/PHPMailer/PHPMailer/master/examples/images/phpmailer.png)
4
+
5
+ # PHPMailer – A full-featured email creation and transfer class for PHP
6
+
7
+ [![Test status](https://github.com/PHPMailer/PHPMailer/workflows/Tests/badge.svg)](https://github.com/PHPMailer/PHPMailer/actions)
8
+ [![codecov.io](https://codecov.io/gh/PHPMailer/PHPMailer/branch/master/graph/badge.svg?token=iORZpwmYmM)](https://codecov.io/gh/PHPMailer/PHPMailer)
9
+ [![Latest Stable Version](https://poser.pugx.org/phpmailer/phpmailer/v/stable.svg)](https://packagist.org/packages/phpmailer/phpmailer)
10
+ [![Total Downloads](https://poser.pugx.org/phpmailer/phpmailer/downloads)](https://packagist.org/packages/phpmailer/phpmailer)
11
+ [![License](https://poser.pugx.org/phpmailer/phpmailer/license.svg)](https://packagist.org/packages/phpmailer/phpmailer)
12
+ [![API Docs](https://github.com/phpmailer/phpmailer/workflows/Docs/badge.svg)](https://phpmailer.github.io/PHPMailer/)
13
+ [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/PHPMailer/PHPMailer/badge)](https://api.securityscorecards.dev/projects/github.com/PHPMailer/PHPMailer)
14
+
15
+ ## Features
16
+ - Probably the world's most popular code for sending email from PHP!
17
+ - Used by many open-source projects: WordPress, Drupal, 1CRM, SugarCRM, Yii, Joomla! and many more
18
+ - Integrated SMTP support – send without a local mail server
19
+ - Send emails with multiple To, CC, BCC, and Reply-to addresses
20
+ - Multipart/alternative emails for mail clients that do not read HTML email
21
+ - Add attachments, including inline
22
+ - Support for UTF-8 content and 8bit, base64, binary, and quoted-printable encodings
23
+ - Full UTF-8 support when using servers that support `SMTPUTF8`.
24
+ - Support for iCal events in multiparts and attachments
25
+ - SMTP authentication with `LOGIN`, `PLAIN`, `CRAM-MD5`, and `XOAUTH2` mechanisms over SMTPS and SMTP+STARTTLS transports
26
+ - Validates email addresses automatically
27
+ - Protects against header injection attacks
28
+ - Error messages in over 50 languages!
29
+ - DKIM and S/MIME signing support
30
+ - Compatible with PHP 5.5 and later, including PHP 8.5
31
+ - Namespaced to prevent name clashes
32
+ - Much more!
33
+
34
+ ## Why you might need it
35
+ Many PHP developers need to send email from their code. The only PHP function that supports this directly is [`mail()`](https://www.php.net/manual/en/function.mail.php). However, it does not provide any assistance for making use of popular features such as authentication, HTML messages, and attachments.
36
+
37
+ Formatting email correctly is surprisingly difficult. There are myriad overlapping (and conflicting) standards, requiring tight adherence to horribly complicated formatting and encoding rules – the vast majority of code that you'll find online that uses the `mail()` function directly is just plain wrong, if not unsafe!
38
+
39
+ The PHP `mail()` function usually sends via a local mail server, typically fronted by a `sendmail` binary on Linux, BSD, and macOS platforms, however, Windows usually doesn't include a local mail server; PHPMailer's integrated SMTP client allows email sending on all platforms without needing a local mail server. Be aware though, that the `mail()` function should be avoided when possible; it's both faster and [safer](https://exploitbox.io/paper/Pwning-PHP-Mail-Function-For-Fun-And-RCE.html) to use SMTP to localhost.
40
+
41
+ *Please* don't be tempted to do it yourself – if you don't use PHPMailer, there are many other excellent libraries that
42
+ you should look at before rolling your own. Try [Symfony Mailer](https://symfony.com/doc/current/mailer.html), [Laminas/Mail](https://docs.laminas.dev/laminas-mail/), [ZetaComponents](https://github.com/zetacomponents/Mail), etc.
43
+
44
+ ## License
45
+ This software is distributed under the [LGPL 2.1](https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html) license, along with the [GPL Cooperation Commitment](https://gplcc.github.io/gplcc/). Please read [LICENSE](https://github.com/PHPMailer/PHPMailer/blob/master/LICENSE) for information on the software availability and distribution.
46
+
47
+ ## Installation & loading
48
+ PHPMailer is available on [Packagist](https://packagist.org/packages/phpmailer/phpmailer) (using semantic versioning), and installation via [Composer](https://getcomposer.org) is the recommended way to install PHPMailer. Just add this line to your `composer.json` file:
49
+
50
+ ```json
51
+ "phpmailer/phpmailer": "^7.0.0"
52
+ ```
53
+
54
+ or run
55
+
56
+ ```sh
57
+ composer require phpmailer/phpmailer
58
+ ```
59
+
60
+ Note that the `vendor` folder and the `vendor/autoload.php` script are generated by Composer; they are not part of PHPMailer.
61
+
62
+ If you want to use XOAUTH2 authentication, you will also need to add a dependency on the `league/oauth2-client` and appropriate service adapters package in your `composer.json`, or take a look at
63
+ by @decomplexity's [SendOauth2 wrapper](https://github.com/decomplexity/SendOauth2), especially if you're using Microsoft services.
64
+
65
+ Alternatively, if you're not using Composer, you
66
+ can [download PHPMailer as a zip file](https://github.com/PHPMailer/PHPMailer/archive/master.zip), (note that docs and examples are not included in the zip file), then copy the contents of the PHPMailer folder into one of the `include_path` directories specified in your PHP configuration and load each class file manually:
67
+
68
+ ```php
69
+ <?php
70
+ use PHPMailer\PHPMailer\PHPMailer;
71
+ use PHPMailer\PHPMailer\Exception;
72
+
73
+ require 'path/to/PHPMailer/src/Exception.php';
74
+ require 'path/to/PHPMailer/src/PHPMailer.php';
75
+ require 'path/to/PHPMailer/src/SMTP.php';
76
+ ```
77
+
78
+ If you're not using the `SMTP` class explicitly (you're probably not), you don't need a `use` line for it. Even if you're not using exceptions, you do still need to load the `Exception` class as it is used internally.
79
+
80
+ ## Legacy versions
81
+ PHPMailer 5.2 (which is compatible with PHP 5.0 — 7.0) is no longer supported, even for security updates. You will find the latest version of 5.2 in the [5.2-stable branch](https://github.com/PHPMailer/PHPMailer/tree/5.2-stable). If you're using PHP 5.5 or later (which you should be), switch to the 6.x releases.
82
+
83
+ ### Upgrading from 5.2
84
+ The biggest changes are that source files are now in the `src/` folder, and PHPMailer now declares the namespace `PHPMailer\PHPMailer`. This has several important effects – [read the upgrade guide](https://github.com/PHPMailer/PHPMailer/tree/master/UPGRADING.md) for more details.
85
+
86
+ ### Minimal installation
87
+ While installing the entire package manually or with Composer is simple, convenient, and reliable, you may want to include only vital files in your project. At the very least you will need [src/PHPMailer.php](https://github.com/PHPMailer/PHPMailer/tree/master/src/PHPMailer.php). If you're using SMTP, you'll need [src/SMTP.php](https://github.com/PHPMailer/PHPMailer/tree/master/src/SMTP.php), and if you're using POP-before SMTP (*very* unlikely!), you'll need [src/POP3.php](https://github.com/PHPMailer/PHPMailer/tree/master/src/POP3.php). You can skip the [language](https://github.com/PHPMailer/PHPMailer/tree/master/language/) folder if you're not showing errors to users and can make do with English-only errors. If you're using XOAUTH2 you will need [src/OAuth.php](https://github.com/PHPMailer/PHPMailer/tree/master/src/OAuth.php) as well as the Composer dependencies for the services you wish to authenticate with. Really, it's much easier to use Composer!
88
+
89
+ ## A Simple Example
90
+
91
+ ```php
92
+ <?php
93
+ //Import PHPMailer classes into the global namespace
94
+ //These must be at the top of your script, not inside a function
95
+ use PHPMailer\PHPMailer\PHPMailer;
96
+ use PHPMailer\PHPMailer\SMTP;
97
+ use PHPMailer\PHPMailer\Exception;
98
+
99
+ //Load Composer's autoloader (created by composer, not included with PHPMailer)
100
+ require 'vendor/autoload.php';
101
+
102
+ //Create an instance; passing `true` enables exceptions
103
+ $mail = new PHPMailer(true);
104
+
105
+ try {
106
+ //Server settings
107
+ $mail->SMTPDebug = SMTP::DEBUG_SERVER; //Enable verbose debug output
108
+ $mail->isSMTP(); //Send using SMTP
109
+ $mail->Host = 'smtp.example.com'; //Set the SMTP server to send through
110
+ $mail->SMTPAuth = true; //Enable SMTP authentication
111
+ $mail->Username = 'user@example.com'; //SMTP username
112
+ $mail->Password = 'secret'; //SMTP password
113
+ $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; //Enable implicit TLS encryption
114
+ $mail->Port = 465; //TCP port to connect to; use 587 if you have set `SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS`
115
+
116
+ //Recipients
117
+ $mail->setFrom('from@example.com', 'Mailer');
118
+ $mail->addAddress('joe@example.net', 'Joe User'); //Add a recipient
119
+ $mail->addAddress('ellen@example.com'); //Name is optional
120
+ $mail->addReplyTo('info@example.com', 'Information');
121
+ $mail->addCC('cc@example.com');
122
+ $mail->addBCC('bcc@example.com');
123
+
124
+ //Attachments
125
+ $mail->addAttachment('/var/tmp/file.tar.gz'); //Add attachments
126
+ $mail->addAttachment('/tmp/image.jpg', 'new.jpg'); //Optional name
127
+
128
+ //Content
129
+ $mail->isHTML(true); //Set email format to HTML
130
+ $mail->Subject = 'Here is the subject';
131
+ $mail->Body = 'This is the HTML message body <b>in bold!</b>';
132
+ $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
133
+
134
+ $mail->send();
135
+ echo 'Message has been sent';
136
+ } catch (Exception $e) {
137
+ echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
138
+ }
139
+ ```
140
+
141
+ You'll find plenty to play with in the [examples](https://github.com/PHPMailer/PHPMailer/tree/master/examples) folder, which covers many common scenarios including sending through Gmail, building contact forms, sending to mailing lists, and more.
142
+
143
+ If you are re-using the instance (e.g. when sending to a mailing list), you may need to clear the recipient list to avoid sending duplicate messages. See [the mailing list example](https://github.com/PHPMailer/PHPMailer/blob/master/examples/mailing_list.phps) for further guidance.
144
+
145
+ That's it. You should now be ready to use PHPMailer!
146
+
147
+ ## Localization
148
+ PHPMailer defaults to English, but in the [language](https://github.com/PHPMailer/PHPMailer/tree/master/language/) folder, you'll find many translations for PHPMailer error messages that you may encounter. Their filenames contain [ISO 639-1](https://en.wikipedia.org/wiki/ISO_639-1) language code for the translations, for example `fr` for French. To specify a language, you need to tell PHPMailer which one to use, like this:
149
+
150
+ ```php
151
+ //To load the French version
152
+ $mail->setLanguage('fr', '/optional/path/to/language/directory/');
153
+ ```
154
+
155
+ We welcome corrections and new languages – if you're looking for corrections, run the [Language/TranslationCompletenessTest.php](https://github.com/PHPMailer/PHPMailer/blob/master/test/Language/TranslationCompletenessTest.php) script in the tests folder and it will show any missing translations.
156
+
157
+ ## Documentation
158
+ Start reading at the [GitHub wiki](https://github.com/PHPMailer/PHPMailer/wiki). If you're having trouble, head for [the troubleshooting guide](https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting) as it's frequently updated.
159
+
160
+ Examples of how to use PHPMailer for common scenarios can be found in the [examples](https://github.com/PHPMailer/PHPMailer/tree/master/examples) folder. If you're looking for a good starting point, we recommend you start with [the Gmail example](https://github.com/PHPMailer/PHPMailer/tree/master/examples/gmail.phps).
161
+
162
+ To reduce PHPMailer's deployed code footprint, examples are not included if you load PHPMailer via Composer or via [GitHub's zip file download](https://github.com/PHPMailer/PHPMailer/archive/master.zip), so you'll need to either clone the git repository or use the above links to get to the examples directly.
163
+
164
+ Complete generated API documentation is [available online](https://phpmailer.github.io/PHPMailer/).
165
+
166
+ You can generate complete API-level documentation by running `phpdoc` in the top-level folder, and documentation will appear in the `docs` folder, though you'll need to have [PHPDocumentor](https://www.phpdoc.org) installed. You may find [the unit tests](https://github.com/PHPMailer/PHPMailer/blob/master/test/PHPMailer/PHPMailerTest.php) a good reference for how to do various operations such as encryption.
167
+
168
+ If the documentation doesn't cover what you need, search the [many questions on Stack Overflow](https://stackoverflow.com/questions/tagged/phpmailer), and before you ask a question about "SMTP Error: Could not connect to SMTP host.", [read the troubleshooting guide](https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting).
169
+
170
+ ## Tests
171
+ [PHPMailer tests](https://github.com/PHPMailer/PHPMailer/tree/master/test/) use PHPUnit 9, with [a polyfill](https://github.com/Yoast/PHPUnit-Polyfills) to let 9-style tests run on older PHPUnit and PHP versions.
172
+
173
+ [![Test status](https://github.com/PHPMailer/PHPMailer/workflows/Tests/badge.svg)](https://github.com/PHPMailer/PHPMailer/actions)
174
+
175
+ If this isn't passing, is there something you can do to help?
176
+
177
+ ## Security
178
+ Please disclose any vulnerabilities found responsibly – report security issues to the maintainers privately.
179
+
180
+ See [SECURITY](https://github.com/PHPMailer/PHPMailer/tree/master/SECURITY.md) and [PHPMailer's security advisories on GitHub](https://github.com/PHPMailer/PHPMailer/security).
181
+
182
+ ## Contributing
183
+ Please submit bug reports, suggestions, and pull requests to the [GitHub issue tracker](https://github.com/PHPMailer/PHPMailer/issues).
184
+
185
+ We're particularly interested in fixing edge cases, expanding test coverage, and updating translations.
186
+
187
+ If you found a mistake in the docs, or want to add something, go ahead and amend the wiki – anyone can edit it.
188
+
189
+ If you have git clones from prior to the move to the PHPMailer GitHub organisation, you'll need to update any remote URLs referencing the old GitHub location with a command like this from within your clone:
190
+
191
+ ```sh
192
+ git remote set-url upstream https://github.com/PHPMailer/PHPMailer.git
193
+ ```
194
+
195
+ Please *don't* use the SourceForge or Google Code projects any more; they are obsolete and no longer maintained.
196
+
197
+ ## Sponsorship
198
+ Development time and resources for PHPMailer are provided by [Smartmessages.net](https://info.smartmessages.net/), the world's only privacy-first email marketing system.
199
+
200
+ <a href="https://info.smartmessages.net/"><img src="https://www.smartmessages.net/img/smartmessages-logo.svg" width="550" alt="Smartmessages.net privacy-first email marketing logo"></a>
201
+
202
+ Donations are very welcome, whether in beer 🍺, T-shirts 👕, or cold, hard cash 💰. Sponsorship through GitHub is a simple and convenient way to say "thank you" to PHPMailer's maintainers and contributors – just click the "Sponsor" button [on the project page](https://github.com/PHPMailer/PHPMailer). If your company uses PHPMailer, consider taking part in Tidelift's enterprise support programme.
203
+
204
+ ## PHPMailer For Enterprise
205
+
206
+ Available as part of the Tidelift Subscription.
207
+
208
+ The maintainers of PHPMailer and thousands of other packages are working with Tidelift to deliver commercial
209
+ support and maintenance for the open-source packages you use to build your applications. Save time, reduce risk, and
210
+ improve code health, while paying the maintainers of the exact packages you
211
+ use. [Learn more.](https://tidelift.com/subscription/pkg/packagist-phpmailer-phpmailer?utm_source=packagist-phpmailer-phpmailer&utm_medium=referral&utm_campaign=enterprise&utm_term=repo)
212
+
213
+ ## Changelog
214
+ See [changelog](changelog.md).
215
+
216
+ ## History
217
+ - PHPMailer was originally written in 2001 by Brent R. Matzelle as a [SourceForge project](https://sourceforge.net/projects/phpmailer/).
218
+ - [Marcus Bointon](https://github.com/Synchro) (`coolbru` on SF) and Andy Prevost (`codeworxtech`) took over the project in 2004.
219
+ - Became an Apache incubator project on Google Code in 2010, managed by Jim Jagielski.
220
+ - Marcus created [his fork on GitHub](https://github.com/Synchro/PHPMailer) in 2008.
221
+ - Jim and Marcus decide to join forces and use GitHub as the canonical and official repo for PHPMailer in 2013.
222
+ - PHPMailer moves to [the PHPMailer organisation](https://github.com/PHPMailer) on GitHub in 2013.
223
+
224
+ ### What's changed since moving from SourceForge?
225
+ - Official successor to the SourceForge and Google Code projects.
226
+ - Test suite.
227
+ - Continuous integration with GitHub Actions.
228
+ - Composer support.
229
+ - Public development.
230
+ - Additional languages and language strings.
231
+ - CRAM-MD5 authentication support.
232
+ - Preserves full repo history of authors, commits, and branches from the original SourceForge project.
@@ -1,37 +1,37 @@
1
- # Security notices relating to PHPMailer
2
-
3
- Please disclose any security issues or vulnerabilities found through [Tidelift's coordinated disclosure system](https://tidelift.com/security) or to the maintainers privately.
4
-
5
- PHPMailer 6.4.1 and earlier contain a vulnerability that can result in untrusted code being called (if such code is injected into the host project's scope by other means). If the `$patternselect` parameter to `validateAddress()` is set to `'php'` (the default, defined by `PHPMailer::$validator`), and the global namespace contains a function called `php`, it will be called in preference to the built-in validator of the same name. Mitigated in PHPMailer 6.5.0 by denying the use of simple strings as validator function names. Recorded as [CVE-2021-3603](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2021-3603). Reported by [Vikrant Singh Chauhan](mailto:vi@hackberry.xyz) via [huntr.dev](https://www.huntr.dev/).
6
-
7
- PHPMailer versions 6.4.1 and earlier contain a possible remote code execution vulnerability through the `$lang_path` parameter of the `setLanguage()` method. If the `$lang_path` parameter is passed unfiltered from user input, it can be set to [a UNC path](https://docs.microsoft.com/en-us/dotnet/standard/io/file-path-formats#unc-paths), and if an attacker is also able to persuade the server to load a file from that UNC path, a script file under their control may be executed. This vulnerability only applies to systems that resolve UNC paths, typically only Microsoft Windows.
8
- PHPMailer 6.5.0 mitigates this by no longer treating translation files as PHP code, but by parsing their text content directly. This approach avoids the possibility of executing unknown code while retaining backward compatibility. This isn't ideal, so the current translation format is deprecated and will be replaced in the next major release. Recorded as [CVE-2021-34551](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2021-34551). Reported by [Jilin Diting Information Technology Co., Ltd](https://listensec.com) via Tidelift.
9
-
10
- PHPMailer versions between 6.1.8 and 6.4.0 contain a regression of the earlier CVE-2018-19296 object injection vulnerability as a result of [a fix for Windows UNC paths in 6.1.8](https://github.com/PHPMailer/PHPMailer/commit/e2e07a355ee8ff36aba21d0242c5950c56e4c6f9). Recorded as [CVE-2020-36326](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2020-36326). Reported by Fariskhi Vidyan via Tidelift. 6.4.1 fixes this issue, and also enforces stricter checks for URL schemes in local path contexts.
11
-
12
- PHPMailer versions 6.1.5 and earlier contain an output escaping bug that occurs in `Content-Type` and `Content-Disposition` when filenames passed into `addAttachment` and other methods that accept attachment names contain double quote characters, in contravention of RFC822 3.4.1. No specific vulnerability has been found relating to this, but it could allow file attachments to bypass attachment filters that are based on matching filename extensions. Recorded as [CVE-2020-13625](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2020-13625). Reported by Elar Lang of Clarified Security.
13
-
14
- PHPMailer versions prior to 6.0.6 and 5.2.27 are vulnerable to an object injection attack by passing `phar://` paths into `addAttachment()` and other functions that may receive unfiltered local paths, possibly leading to RCE. Recorded as [CVE-2018-19296](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2018-19296). See [this article](https://knasmueller.net/5-answers-about-php-phar-exploitation) for more info on this type of vulnerability. Mitigated by blocking the use of paths containing URL-protocol style prefixes such as `phar://`. Reported by Sehun Oh of cyberone.kr.
15
-
16
- PHPMailer versions prior to 5.2.24 (released July 26th 2017) have an XSS vulnerability in one of the code examples, [CVE-2017-11503](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2017-11503). The `code_generator.phps` example did not filter user input prior to output. This file is distributed with a `.phps` extension, so it is not normally executable unless it is explicitly renamed, and the file is not included when PHPMailer is loaded through composer, so it is safe by default. There was also an undisclosed potential XSS vulnerability in the default exception handler (unused by default). Patches for both issues kindly provided by Patrick Monnerat of the Fedora Project.
17
-
18
- PHPMailer versions prior to 5.2.22 (released January 9th 2017) have a local file disclosure vulnerability, [CVE-2017-5223](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2017-5223). If content passed into `msgHTML()` is sourced from unfiltered user input, relative paths can map to absolute local file paths and added as attachments. Also note that `addAttachment` (just like `file_get_contents`, `passthru`, `unlink`, etc) should not be passed user-sourced params either! Reported by Yongxiang Li of Asiasecurity.
19
-
20
- PHPMailer versions prior to 5.2.20 (released December 28th 2016) are vulnerable to [CVE-2016-10045](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-10045) a remote code execution vulnerability, responsibly reported by [Dawid Golunski](https://legalhackers.com/advisories/PHPMailer-Exploit-Remote-Code-Exec-CVE-2016-10045-Vuln-Patch-Bypass.html), and patched by Paul Buonopane (@Zenexer).
21
-
22
- PHPMailer versions prior to 5.2.18 (released December 2016) are vulnerable to [CVE-2016-10033](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-10033) a remote code execution vulnerability, responsibly reported by [Dawid Golunski](https://legalhackers.com/advisories/PHPMailer-Exploit-Remote-Code-Exec-CVE-2016-10033-Vuln.html).
23
-
24
- PHPMailer versions prior to 5.2.14 (released November 2015) are vulnerable to [CVE-2015-8476](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2015-8476) an SMTP CRLF injection bug permitting arbitrary message sending.
25
-
26
- PHPMailer versions prior to 5.2.10 (released May 2015) are vulnerable to [CVE-2008-5619](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2008-5619), a remote code execution vulnerability in the bundled html2text library. This file was removed in 5.2.10, so if you are using a version prior to that and make use of the html2text function, it's vitally important that you upgrade and remove this file.
27
-
28
- PHPMailer versions prior to 2.0.7 and 2.2.1 are vulnerable to [CVE-2012-0796](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-0796), an email header injection attack.
29
-
30
- Joomla 1.6.0 uses PHPMailer in an unsafe way, allowing it to reveal local file paths, reported in [CVE-2011-3747](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2011-3747).
31
-
32
- PHPMailer didn't sanitise the `$lang_path` parameter in `SetLanguage`. This wasn't a problem in itself, but some apps (PHPClassifieds, ATutor) also failed to sanitise user-provided parameters passed to it, permitting semi-arbitrary local file inclusion, reported in [CVE-2010-4914](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-4914), [CVE-2007-2021](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2007-2021) and [CVE-2006-5734](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2006-5734).
33
-
34
- PHPMailer 1.7.2 and earlier contained a possible DDoS vulnerability reported in [CVE-2005-1807](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2005-1807).
35
-
36
- PHPMailer 1.7 and earlier (June 2003) have a possible vulnerability in the `SendmailSend` method where shell commands may not be sanitised. Reported in [CVE-2007-3215](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2007-3215).
37
-
1
+ # Security notices relating to PHPMailer
2
+
3
+ Please disclose any security issues or vulnerabilities found through [Tidelift's coordinated disclosure system](https://tidelift.com/security) or to the maintainers privately.
4
+
5
+ PHPMailer 6.4.1 and earlier contain a vulnerability that can result in untrusted code being called (if such code is injected into the host project's scope by other means). If the `$patternselect` parameter to `validateAddress()` is set to `'php'` (the default, defined by `PHPMailer::$validator`), and the global namespace contains a function called `php`, it will be called in preference to the built-in validator of the same name. Mitigated in PHPMailer 6.5.0 by denying the use of simple strings as validator function names. Recorded as [CVE-2021-3603](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2021-3603). Reported by [Vikrant Singh Chauhan](mailto:vi@hackberry.xyz) via [huntr.dev](https://www.huntr.dev/).
6
+
7
+ PHPMailer versions 6.4.1 and earlier contain a possible remote code execution vulnerability through the `$lang_path` parameter of the `setLanguage()` method. If the `$lang_path` parameter is passed unfiltered from user input, it can be set to [a UNC path](https://docs.microsoft.com/en-us/dotnet/standard/io/file-path-formats#unc-paths), and if an attacker is also able to persuade the server to load a file from that UNC path, a script file under their control may be executed. This vulnerability only applies to systems that resolve UNC paths, typically only Microsoft Windows.
8
+ PHPMailer 6.5.0 mitigates this by no longer treating translation files as PHP code, but by parsing their text content directly. This approach avoids the possibility of executing unknown code while retaining backward compatibility. This isn't ideal, so the current translation format is deprecated and will be replaced in the next major release. Recorded as [CVE-2021-34551](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2021-34551). Reported by [Jilin Diting Information Technology Co., Ltd](https://listensec.com) via Tidelift.
9
+
10
+ PHPMailer versions between 6.1.8 and 6.4.0 contain a regression of the earlier CVE-2018-19296 object injection vulnerability as a result of [a fix for Windows UNC paths in 6.1.8](https://github.com/PHPMailer/PHPMailer/commit/e2e07a355ee8ff36aba21d0242c5950c56e4c6f9). Recorded as [CVE-2020-36326](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2020-36326). Reported by Fariskhi Vidyan via Tidelift. 6.4.1 fixes this issue, and also enforces stricter checks for URL schemes in local path contexts.
11
+
12
+ PHPMailer versions 6.1.5 and earlier contain an output escaping bug that occurs in `Content-Type` and `Content-Disposition` when filenames passed into `addAttachment` and other methods that accept attachment names contain double quote characters, in contravention of RFC822 3.4.1. No specific vulnerability has been found relating to this, but it could allow file attachments to bypass attachment filters that are based on matching filename extensions. Recorded as [CVE-2020-13625](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2020-13625). Reported by Elar Lang of Clarified Security.
13
+
14
+ PHPMailer versions prior to 6.0.6 and 5.2.27 are vulnerable to an object injection attack by passing `phar://` paths into `addAttachment()` and other functions that may receive unfiltered local paths, possibly leading to RCE. Recorded as [CVE-2018-19296](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2018-19296). See [this article](https://knasmueller.net/5-answers-about-php-phar-exploitation) for more info on this type of vulnerability. Mitigated by blocking the use of paths containing URL-protocol style prefixes such as `phar://`. Reported by Sehun Oh of cyberone.kr.
15
+
16
+ PHPMailer versions prior to 5.2.24 (released July 26th 2017) have an XSS vulnerability in one of the code examples, [CVE-2017-11503](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2017-11503). The `code_generator.phps` example did not filter user input prior to output. This file is distributed with a `.phps` extension, so it is not normally executable unless it is explicitly renamed, and the file is not included when PHPMailer is loaded through composer, so it is safe by default. There was also an undisclosed potential XSS vulnerability in the default exception handler (unused by default). Patches for both issues kindly provided by Patrick Monnerat of the Fedora Project.
17
+
18
+ PHPMailer versions prior to 5.2.22 (released January 9th 2017) have a local file disclosure vulnerability, [CVE-2017-5223](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2017-5223). If content passed into `msgHTML()` is sourced from unfiltered user input, relative paths can map to absolute local file paths and added as attachments. Also note that `addAttachment` (just like `file_get_contents`, `passthru`, `unlink`, etc) should not be passed user-sourced params either! Reported by Yongxiang Li of Asiasecurity.
19
+
20
+ PHPMailer versions prior to 5.2.20 (released December 28th 2016) are vulnerable to [CVE-2016-10045](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-10045) a remote code execution vulnerability, responsibly reported by [Dawid Golunski](https://legalhackers.com/advisories/PHPMailer-Exploit-Remote-Code-Exec-CVE-2016-10045-Vuln-Patch-Bypass.html), and patched by Paul Buonopane (@Zenexer).
21
+
22
+ PHPMailer versions prior to 5.2.18 (released December 2016) are vulnerable to [CVE-2016-10033](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-10033) a remote code execution vulnerability, responsibly reported by [Dawid Golunski](https://legalhackers.com/advisories/PHPMailer-Exploit-Remote-Code-Exec-CVE-2016-10033-Vuln.html).
23
+
24
+ PHPMailer versions prior to 5.2.14 (released November 2015) are vulnerable to [CVE-2015-8476](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2015-8476) an SMTP CRLF injection bug permitting arbitrary message sending.
25
+
26
+ PHPMailer versions prior to 5.2.10 (released May 2015) are vulnerable to [CVE-2008-5619](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2008-5619), a remote code execution vulnerability in the bundled html2text library. This file was removed in 5.2.10, so if you are using a version prior to that and make use of the html2text function, it's vitally important that you upgrade and remove this file.
27
+
28
+ PHPMailer versions prior to 2.0.7 and 2.2.1 are vulnerable to [CVE-2012-0796](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-0796), an email header injection attack.
29
+
30
+ Joomla 1.6.0 uses PHPMailer in an unsafe way, allowing it to reveal local file paths, reported in [CVE-2011-3747](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2011-3747).
31
+
32
+ PHPMailer didn't sanitise the `$lang_path` parameter in `SetLanguage`. This wasn't a problem in itself, but some apps (PHPClassifieds, ATutor) also failed to sanitise user-provided parameters passed to it, permitting semi-arbitrary local file inclusion, reported in [CVE-2010-4914](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-4914), [CVE-2007-2021](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2007-2021) and [CVE-2006-5734](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2006-5734).
33
+
34
+ PHPMailer 1.7.2 and earlier contained a possible DDoS vulnerability reported in [CVE-2005-1807](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2005-1807).
35
+
36
+ PHPMailer 1.7 and earlier (June 2003) have a possible vulnerability in the `SendmailSend` method where shell commands may not be sanitised. Reported in [CVE-2007-3215](https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2007-3215).
37
+