create-berna-stencil 1.0.8 → 1.0.10
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.
- package/.eleventy.js +3 -1
- package/.env.example +8 -0
- package/.gitignore +2 -1
- package/README.md +1 -5
- package/bin/create.js +2 -1
- package/package.json +71 -70
- package/src/.htaccess +18 -0
- package/src/api/.htaccess +12 -0
- package/src/api/composer.json +6 -0
- package/src/api/composer.lock +574 -0
- package/src/api/endpoints/protected/secret.php +16 -0
- package/src/api/endpoints/protected/send-mail.php +75 -0
- package/src/api/endpoints/public/ping.php +16 -0
- package/src/api/index.php +95 -0
- package/src/api/init.php +43 -0
- package/src/api/modules/Response.php +37 -0
- package/src/api/vendor/autoload.php +22 -0
- package/src/api/vendor/composer/ClassLoader.php +579 -0
- package/src/api/vendor/composer/InstalledVersions.php +396 -0
- package/src/api/vendor/composer/LICENSE +21 -0
- package/src/api/vendor/composer/autoload_classmap.php +15 -0
- package/src/api/vendor/composer/autoload_files.php +12 -0
- package/src/api/vendor/composer/autoload_namespaces.php +9 -0
- package/src/api/vendor/composer/autoload_psr4.php +16 -0
- package/src/api/vendor/composer/autoload_real.php +50 -0
- package/src/api/vendor/composer/autoload_static.php +86 -0
- package/src/api/vendor/composer/installed.json +582 -0
- package/src/api/vendor/composer/installed.php +86 -0
- package/src/api/vendor/composer/platform_check.php +25 -0
- package/src/api/vendor/graham-campbell/result-type/.gitattributes +9 -0
- package/src/api/vendor/graham-campbell/result-type/.github/CODE_OF_CONDUCT.md +132 -0
- package/src/api/vendor/graham-campbell/result-type/.github/CONTRIBUTING.md +31 -0
- package/src/api/vendor/graham-campbell/result-type/.github/FUNDING.yml +2 -0
- package/src/api/vendor/graham-campbell/result-type/.github/SECURITY.md +14 -0
- package/src/api/vendor/graham-campbell/result-type/.github/workflows/stale.yml +11 -0
- package/src/api/vendor/graham-campbell/result-type/.github/workflows/tests.yml +40 -0
- package/src/api/vendor/graham-campbell/result-type/CHANGELOG.md +53 -0
- package/src/api/vendor/graham-campbell/result-type/LICENSE +21 -0
- package/src/api/vendor/graham-campbell/result-type/README.md +42 -0
- package/src/api/vendor/graham-campbell/result-type/composer.json +33 -0
- package/src/api/vendor/graham-campbell/result-type/phpunit.xml.dist +13 -0
- package/src/api/vendor/graham-campbell/result-type/src/Error.php +121 -0
- package/src/api/vendor/graham-campbell/result-type/src/Result.php +69 -0
- package/src/api/vendor/graham-campbell/result-type/src/Success.php +120 -0
- package/src/api/vendor/graham-campbell/result-type/tests/ResultTest.php +95 -0
- package/src/api/vendor/phpmailer/phpmailer/.codecov.yml +21 -0
- package/src/api/vendor/phpmailer/phpmailer/.editorconfig +15 -0
- package/src/api/vendor/phpmailer/phpmailer/.gitattributes +17 -0
- package/src/api/vendor/phpmailer/phpmailer/.github/FUNDING.yml +6 -0
- package/src/api/vendor/phpmailer/phpmailer/.github/ISSUE_TEMPLATE/bug_report.md +23 -0
- package/src/api/vendor/phpmailer/phpmailer/.github/actions/build-docs/Dockerfile +15 -0
- package/src/api/vendor/phpmailer/phpmailer/.github/actions/build-docs/entrypoint.sh +5 -0
- package/src/api/vendor/phpmailer/phpmailer/.github/dependabot.yml +21 -0
- package/src/api/vendor/phpmailer/phpmailer/.github/workflows/docs.yaml +30 -0
- package/src/api/vendor/phpmailer/phpmailer/.github/workflows/scorecards.yml +61 -0
- package/src/api/vendor/phpmailer/phpmailer/.github/workflows/tests.yml +237 -0
- package/src/api/vendor/phpmailer/phpmailer/.phan/config.php +41 -0
- package/src/api/vendor/phpmailer/phpmailer/COMMITMENT +46 -0
- package/src/api/vendor/phpmailer/phpmailer/LICENSE +502 -0
- package/src/api/vendor/phpmailer/phpmailer/README.md +232 -0
- package/src/api/vendor/phpmailer/phpmailer/SECURITY.md +37 -0
- package/src/api/vendor/phpmailer/phpmailer/SMTPUTF8.md +48 -0
- package/src/api/vendor/phpmailer/phpmailer/UPGRADING.md +125 -0
- package/src/api/vendor/phpmailer/phpmailer/VERSION +1 -0
- package/src/api/vendor/phpmailer/phpmailer/changelog.md +1122 -0
- package/src/api/vendor/phpmailer/phpmailer/composer.json +84 -0
- package/src/api/vendor/phpmailer/phpmailer/docs/README.md +9 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/DKIM_gen_keys.phps +81 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/DKIM_sign.phps +46 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/README.md +96 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/azure_xoauth2.phps +126 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/callback.phps +76 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/contactform-ajax.phps +146 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/contactform.phps +95 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/contents.html +17 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/contentsutf8.html +23 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/exceptions.phps +40 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/extending.phps +72 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/gmail.phps +106 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/gmail_xoauth.phps +121 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/images/PHPMailer card logo.afdesign +0 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/images/PHPMailer card logo.png +0 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/images/PHPMailer card logo.svg +209 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/images/phpmailer.png +0 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/images/phpmailer_mini.png +0 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/mail.phps +35 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/mailing_list.phps +96 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/pop_before_smtp.phps +60 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/send_file_upload.phps +60 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/send_multiple_file_upload.phps +60 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/sendmail.phps +37 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/sendoauth2.phps +100 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/simple_contact_form.phps +102 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/smime_signed_mail.phps +99 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/smtp.phps +62 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/smtp_check.phps +60 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/smtp_low_memory.phps +117 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/smtp_no_auth.phps +53 -0
- package/src/api/vendor/phpmailer/phpmailer/examples/ssl_options.phps +81 -0
- package/src/api/vendor/phpmailer/phpmailer/get_oauth_token.php +182 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-af.php +26 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ar.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-as.php +35 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-az.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ba.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-be.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-bg.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-bn.php +35 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ca.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-cs.php +28 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-da.php +39 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-de.php +28 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-el.php +33 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-eo.php +37 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-es.php +38 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-et.php +28 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-fa.php +28 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-fi.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-fo.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-fr.php +36 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-gl.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-he.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-hi.php +35 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-hr.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-hu.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-hy.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-id.php +31 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-it.php +28 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ja.php +37 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ka.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ko.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ku.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-lt.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-lv.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-mg.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-mn.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ms.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-nb.php +37 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-nl.php +38 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-pl.php +33 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-pt.php +34 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-pt_br.php +38 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ro.php +33 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ru.php +36 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-si.php +34 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-sk.php +30 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-sl.php +36 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-sr.php +28 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-sr_latn.php +28 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-sv.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-tl.php +28 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-tr.php +38 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-uk.php +28 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-ur.php +30 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-vi.php +27 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-zh.php +29 -0
- package/src/api/vendor/phpmailer/phpmailer/language/phpmailer.lang-zh_cn.php +36 -0
- package/src/api/vendor/phpmailer/phpmailer/phpcs.xml.dist +52 -0
- package/src/api/vendor/phpmailer/phpmailer/phpdoc.dist.xml +20 -0
- package/src/api/vendor/phpmailer/phpmailer/phpunit.xml.dist +36 -0
- package/src/api/vendor/phpmailer/phpmailer/src/DSNConfigurator.php +245 -0
- package/src/api/vendor/phpmailer/phpmailer/src/Exception.php +40 -0
- package/src/api/vendor/phpmailer/phpmailer/src/OAuth.php +139 -0
- package/src/api/vendor/phpmailer/phpmailer/src/OAuthTokenProvider.php +44 -0
- package/src/api/vendor/phpmailer/phpmailer/src/PHPMailer.php +5525 -0
- package/src/api/vendor/phpmailer/phpmailer/src/POP3.php +470 -0
- package/src/api/vendor/phpmailer/phpmailer/src/SMTP.php +1617 -0
- package/src/api/vendor/phpmailer/phpmailer/test/DebugLogTestListener.php +47 -0
- package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/FileIsAccessibleTest/accessible.txt +1 -0
- package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/FileIsAccessibleTest/inaccessible.txt +1 -0
- package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-fr.php +10 -0
- package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-nl.php +10 -0
- package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xa_scri_cc.php +9 -0
- package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xb_scri.php +9 -0
- package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xc_cc.php +9 -0
- package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xd_cc.php +9 -0
- package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xd_scri.php +9 -0
- package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xe.php +9 -0
- package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-xx.php +9 -0
- package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-yy.php +16 -0
- package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-yz.php +16 -0
- package/src/api/vendor/phpmailer/phpmailer/test/Fixtures/LocalizationTest/phpmailer.lang-zz.php +20 -0
- package/src/api/vendor/phpmailer/phpmailer/test/Language/TranslationCompletenessTest.php +97 -0
- package/src/api/vendor/phpmailer/phpmailer/test/OAuth/OAuthTest.php +76 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/AddEmbeddedImageTest.php +178 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/AddStringAttachmentTest.php +147 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/AddStringEmbeddedImageTest.php +161 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/AddrFormatTest.php +70 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/AuthCRAMMD5Test.php +48 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/CustomHeaderTest.php +285 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/DKIMTest.php +258 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/DKIMWithoutExceptionsTest.php +46 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/DSNConfiguratorTest.php +221 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/EncodeQTest.php +110 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/EncodeStringTest.php +135 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/FileIsAccessibleTest.php +103 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/FilenameToTypeTest.php +74 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/GenerateIdTest.php +75 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/GetLastMessageIDTest.php +110 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/HasLineLongerThanMaxTest.php +158 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/Html2TextTest.php +231 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/ICalTest.php +126 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/IsPermittedPathTest.php +108 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/IsValidHostTest.php +107 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/LocalizationTest.php +505 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/MailTransportTest.php +261 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/MbPathinfoTest.php +171 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/MimeTypesTest.php +70 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/NormalizeBreaksTest.php +111 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/PHPMailerTest.php +1388 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/ParseAddressesTest.php +321 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/PunyencodeAddressTest.php +141 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/QuotedStringTest.php +70 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/ReplyToGetSetClearTest.php +444 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/SetErrorTest.php +154 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/SetFromTest.php +202 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/SetTest.php +81 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/SetWordWrapTest.php +120 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/Utf8CharBoundaryTest.php +66 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/ValidateAddressCustomValidatorTest.php +116 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/ValidateAddressTest.php +485 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/WrapTextTest.php +125 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PHPMailer/XMailerTest.php +75 -0
- package/src/api/vendor/phpmailer/phpmailer/test/POP3/PopBeforeSmtpTest.php +139 -0
- package/src/api/vendor/phpmailer/phpmailer/test/PreSendTestCase.php +46 -0
- package/src/api/vendor/phpmailer/phpmailer/test/Security/DenialOfServiceVectorsTest.php +52 -0
- package/src/api/vendor/phpmailer/phpmailer/test/SendTestCase.php +126 -0
- package/src/api/vendor/phpmailer/phpmailer/test/TestCase.php +392 -0
- package/src/api/vendor/phpmailer/phpmailer/test/fakepopserver.sh +126 -0
- package/src/api/vendor/phpmailer/phpmailer/test/fakesendmail.sh +22 -0
- package/src/api/vendor/phpmailer/phpmailer/test/runfakepopserver.sh +12 -0
- package/src/api/vendor/phpmailer/phpmailer/test/testbootstrap-dist.php +8 -0
- package/src/api/vendor/phpmailer/phpmailer/test/validators.php +12 -0
- package/src/api/vendor/phpoption/phpoption/.gitattributes +13 -0
- package/src/api/vendor/phpoption/phpoption/.github/CODE_OF_CONDUCT.md +132 -0
- package/src/api/vendor/phpoption/phpoption/.github/CONTRIBUTING.md +30 -0
- package/src/api/vendor/phpoption/phpoption/.github/FUNDING.yml +2 -0
- package/src/api/vendor/phpoption/phpoption/.github/SECURITY.md +14 -0
- package/src/api/vendor/phpoption/phpoption/.github/workflows/static.yml +40 -0
- package/src/api/vendor/phpoption/phpoption/.github/workflows/tests.yml +40 -0
- package/src/api/vendor/phpoption/phpoption/LICENSE +201 -0
- package/src/api/vendor/phpoption/phpoption/Makefile +17 -0
- package/src/api/vendor/phpoption/phpoption/README.md +201 -0
- package/src/api/vendor/phpoption/phpoption/composer.json +50 -0
- package/src/api/vendor/phpoption/phpoption/phpstan-baseline.neon +44 -0
- package/src/api/vendor/phpoption/phpoption/phpstan.neon.dist +7 -0
- package/src/api/vendor/phpoption/phpoption/phpunit.xml.dist +13 -0
- package/src/api/vendor/phpoption/phpoption/src/PhpOption/LazyOption.php +175 -0
- package/src/api/vendor/phpoption/phpoption/src/PhpOption/None.php +136 -0
- package/src/api/vendor/phpoption/phpoption/src/PhpOption/Option.php +434 -0
- package/src/api/vendor/phpoption/phpoption/src/PhpOption/Some.php +169 -0
- package/src/api/vendor/phpoption/phpoption/tests/PhpOption/Tests/EnsureTest.php +72 -0
- package/src/api/vendor/phpoption/phpoption/tests/PhpOption/Tests/LazyOptionTest.php +357 -0
- package/src/api/vendor/phpoption/phpoption/tests/PhpOption/Tests/NoneTest.php +153 -0
- package/src/api/vendor/phpoption/phpoption/tests/PhpOption/Tests/OptionTest.php +166 -0
- package/src/api/vendor/phpoption/phpoption/tests/PhpOption/Tests/SomeTest.php +194 -0
- package/src/api/vendor/phpoption/phpoption/tests/bootstrap.php +8 -0
- package/src/api/vendor/phpoption/phpoption/vendor-bin/phpstan/composer.json +8 -0
- package/src/api/vendor/symfony/polyfill-ctype/Ctype.php +232 -0
- package/src/api/vendor/symfony/polyfill-ctype/LICENSE +19 -0
- package/src/api/vendor/symfony/polyfill-ctype/README.md +12 -0
- package/src/api/vendor/symfony/polyfill-ctype/bootstrap.php +50 -0
- package/src/api/vendor/symfony/polyfill-ctype/bootstrap80.php +46 -0
- package/src/api/vendor/symfony/polyfill-ctype/composer.json +38 -0
- package/src/api/vendor/symfony/polyfill-mbstring/LICENSE +19 -0
- package/src/api/vendor/symfony/polyfill-mbstring/Mbstring.php +1077 -0
- package/src/api/vendor/symfony/polyfill-mbstring/README.md +13 -0
- package/src/api/vendor/symfony/polyfill-mbstring/Resources/unidata/caseFolding.php +119 -0
- package/src/api/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php +1397 -0
- package/src/api/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php +5 -0
- package/src/api/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php +1489 -0
- package/src/api/vendor/symfony/polyfill-mbstring/bootstrap.php +171 -0
- package/src/api/vendor/symfony/polyfill-mbstring/bootstrap80.php +167 -0
- package/src/api/vendor/symfony/polyfill-mbstring/composer.json +39 -0
- package/src/api/vendor/symfony/polyfill-php80/LICENSE +19 -0
- package/src/api/vendor/symfony/polyfill-php80/Php80.php +115 -0
- package/src/api/vendor/symfony/polyfill-php80/PhpToken.php +106 -0
- package/src/api/vendor/symfony/polyfill-php80/README.md +25 -0
- package/src/api/vendor/symfony/polyfill-php80/Resources/stubs/Attribute.php +31 -0
- package/src/api/vendor/symfony/polyfill-php80/Resources/stubs/PhpToken.php +16 -0
- package/src/api/vendor/symfony/polyfill-php80/Resources/stubs/Stringable.php +20 -0
- package/src/api/vendor/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php +16 -0
- package/src/api/vendor/symfony/polyfill-php80/Resources/stubs/ValueError.php +16 -0
- package/src/api/vendor/symfony/polyfill-php80/bootstrap.php +42 -0
- package/src/api/vendor/symfony/polyfill-php80/composer.json +37 -0
- package/src/api/vendor/vlucas/phpdotenv/.editorconfig +15 -0
- package/src/api/vendor/vlucas/phpdotenv/.gitattributes +15 -0
- package/src/api/vendor/vlucas/phpdotenv/.github/CODE_OF_CONDUCT.md +132 -0
- package/src/api/vendor/vlucas/phpdotenv/.github/CONTRIBUTING.md +30 -0
- package/src/api/vendor/vlucas/phpdotenv/.github/FUNDING.yml +2 -0
- package/src/api/vendor/vlucas/phpdotenv/.github/SECURITY.md +14 -0
- package/src/api/vendor/vlucas/phpdotenv/.github/workflows/static.yml +40 -0
- package/src/api/vendor/vlucas/phpdotenv/.github/workflows/tests.yml +70 -0
- package/src/api/vendor/vlucas/phpdotenv/LICENSE +30 -0
- package/src/api/vendor/vlucas/phpdotenv/Makefile +17 -0
- package/src/api/vendor/vlucas/phpdotenv/README.md +370 -0
- package/src/api/vendor/vlucas/phpdotenv/UPGRADING.md +196 -0
- package/src/api/vendor/vlucas/phpdotenv/composer.json +60 -0
- package/src/api/vendor/vlucas/phpdotenv/phpstan-baseline.neon +157 -0
- package/src/api/vendor/vlucas/phpdotenv/phpstan.neon.dist +7 -0
- package/src/api/vendor/vlucas/phpdotenv/phpunit.xml.dist +13 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Dotenv.php +267 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Exception/ExceptionInterface.php +12 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Exception/InvalidEncodingException.php +12 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Exception/InvalidFileException.php +12 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Exception/InvalidPathException.php +12 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Exception/ValidationException.php +12 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Loader/Loader.php +48 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Loader/LoaderInterface.php +20 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Loader/Resolver.php +65 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Parser/Entry.php +59 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Parser/EntryParser.php +299 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Parser/Lexer.php +58 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Parser/Lines.php +127 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Parser/Parser.php +53 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Parser/ParserInterface.php +19 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Parser/Value.php +88 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/AdapterInterface.php +15 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/ApacheAdapter.php +89 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/ArrayAdapter.php +80 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/EnvConstAdapter.php +88 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/GuardedWriter.php +85 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/ImmutableWriter.php +110 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/MultiReader.php +48 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/MultiWriter.php +64 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/PutenvAdapter.php +91 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/ReaderInterface.php +17 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/ReplacingWriter.php +104 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/ServerConstAdapter.php +88 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Repository/Adapter/WriterInterface.php +27 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Repository/AdapterRepository.php +107 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Repository/RepositoryBuilder.php +272 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Repository/RepositoryInterface.php +51 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Store/File/Paths.php +44 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Store/File/Reader.php +81 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Store/FileStore.php +72 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Store/StoreBuilder.php +141 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Store/StoreInterface.php +17 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Store/StringStore.php +37 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Util/Regex.php +112 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Util/Str.php +108 -0
- package/src/api/vendor/vlucas/phpdotenv/src/Validator.php +207 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/DotenvTest.php +387 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Loader/LoaderTest.php +86 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/EntryParserTest.php +234 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/LexerTest.php +40 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/LinesTest.php +53 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Parser/ParserTest.php +98 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/ArrayAdapterTest.php +57 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/EnvConstAdapterTest.php +75 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/PutenvAdapterTest.php +52 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/Adapter/ServerConstAdapterTest.php +75 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Repository/RepositoryTest.php +305 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/Store/StoreTest.php +141 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/Dotenv/ValidatorTest.php +479 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/.env +5 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/assertions.env +18 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/booleans.env +33 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/commented.env +15 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/empty.env +1 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/example.env +1 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/exported.env +7 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/immutable.env +1 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/integers.env +17 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/large.env +2 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/multibyte.env +3 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/multiline.env +14 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/multiple.env +4 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/mutable.env +1 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/nested.env +15 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/quoted.env +11 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/specialchars.env +8 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/unicodevarnames.env +2 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/utf8-with-bom-encoding.env +3 -0
- package/src/api/vendor/vlucas/phpdotenv/tests/fixtures/env/windows.env +1 -0
- package/src/api/vendor/vlucas/phpdotenv/vendor-bin/phpstan/composer.json +15 -0
- package/src/api/configExample.php +0 -28
- package/src/api/sendEmail.php +0 -131
|
@@ -0,0 +1,392 @@
|
|
|
1
|
+
<?php
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* PHPMailer - Base test class.
|
|
5
|
+
* PHP version 5.5.
|
|
6
|
+
*
|
|
7
|
+
* @author Marcus Bointon <phpmailer@synchromedia.co.uk>
|
|
8
|
+
* @author Andy Prevost
|
|
9
|
+
* @copyright 2012 - 2020 Marcus Bointon
|
|
10
|
+
* @copyright 2004 - 2009 Andy Prevost
|
|
11
|
+
* @license https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html GNU Lesser General Public License
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
namespace PHPMailer\Test;
|
|
15
|
+
|
|
16
|
+
use PHPMailer\PHPMailer\PHPMailer;
|
|
17
|
+
use PHPMailer\PHPMailer\SMTP;
|
|
18
|
+
use ReflectionClass;
|
|
19
|
+
use ReflectionProperty;
|
|
20
|
+
use Yoast\PHPUnitPolyfills\TestCases\TestCase as PolyfillTestCase;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* PHPMailer - Base test class.
|
|
24
|
+
*/
|
|
25
|
+
abstract class TestCase extends PolyfillTestCase
|
|
26
|
+
{
|
|
27
|
+
/**
|
|
28
|
+
* Whether or not to initialize the PHPMailer object to throw exceptions.
|
|
29
|
+
*
|
|
30
|
+
* Overload this constant in a concrete test class and set the value to `true`
|
|
31
|
+
* to initialize PHPMailer with Exceptions turned on.
|
|
32
|
+
*
|
|
33
|
+
* @var bool|null
|
|
34
|
+
*/
|
|
35
|
+
const USE_EXCEPTIONS = null;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Property names and their values for the test instance of the PHPMailer class.
|
|
39
|
+
*
|
|
40
|
+
* These (public) properties will be set in the `set_up()` method.
|
|
41
|
+
*
|
|
42
|
+
* This property can be enhanced/overloaded in concrete test classes to change the presets
|
|
43
|
+
* or add additional properties.
|
|
44
|
+
*
|
|
45
|
+
* It is the responsibility of the individual test classes to ensure that
|
|
46
|
+
* property values of the correct type are passed.
|
|
47
|
+
*
|
|
48
|
+
* @var array Key is the property name, value the desired value for the PHPMailer instance.
|
|
49
|
+
*/
|
|
50
|
+
protected $propertyChanges = [
|
|
51
|
+
'SMTPDebug' => SMTP::DEBUG_CONNECTION, // Full debug output.
|
|
52
|
+
'Debugoutput' => ['PHPMailer\Test\DebugLogTestListener', 'debugLog'],
|
|
53
|
+
];
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Holds the PHPMailer instance.
|
|
57
|
+
*
|
|
58
|
+
* @var PHPMailer
|
|
59
|
+
*/
|
|
60
|
+
protected $Mail;
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Holds the change log.
|
|
64
|
+
*
|
|
65
|
+
* @var string[]
|
|
66
|
+
*/
|
|
67
|
+
private $ChangeLog = [];
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Holds the note log.
|
|
71
|
+
*
|
|
72
|
+
* @var string[]
|
|
73
|
+
*/
|
|
74
|
+
private $NoteLog = [];
|
|
75
|
+
|
|
76
|
+
/*
|
|
77
|
+
* List of *public* properties which we don't want listed in the changelog
|
|
78
|
+
* as they will already be included in the mail/debug information
|
|
79
|
+
* created in `buildBody()` anyway.
|
|
80
|
+
*
|
|
81
|
+
* Note: no need to include protected or private properties as the tests don't
|
|
82
|
+
* have access to those anyway.
|
|
83
|
+
*
|
|
84
|
+
* @var array Key is the property name, value irrelevant.
|
|
85
|
+
*/
|
|
86
|
+
private $changelogExclude = [
|
|
87
|
+
// These are always set in set_up().
|
|
88
|
+
'SMTPDebug' => true,
|
|
89
|
+
'Debugoutput' => true,
|
|
90
|
+
|
|
91
|
+
// These are part of the message body anyway.
|
|
92
|
+
'Subject' => true,
|
|
93
|
+
'Body' => true,
|
|
94
|
+
'AltBody' => true,
|
|
95
|
+
'Ical' => true,
|
|
96
|
+
|
|
97
|
+
// These will always change.
|
|
98
|
+
'MessageID' => true,
|
|
99
|
+
'MessageDate' => true,
|
|
100
|
+
|
|
101
|
+
// These are always explicitly added via buildBody() anyway.
|
|
102
|
+
'ContentType' => true,
|
|
103
|
+
'CharSet' => true,
|
|
104
|
+
'Host' => true,
|
|
105
|
+
];
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* List of *static* properties in the PHPMailer class which _may_ be changed from within a test,
|
|
109
|
+
* with their default values.
|
|
110
|
+
*
|
|
111
|
+
* This list is used by the {@see `TestCase::resetStaticProperties()`} method, as well as
|
|
112
|
+
* in the {@see `TestCase::checkChanges()`} method.
|
|
113
|
+
*
|
|
114
|
+
* {@internal The default values have to be (manually) maintained here as the Reflection
|
|
115
|
+
* extension does not provide accurate information on the default values of static properties.}
|
|
116
|
+
*
|
|
117
|
+
* @var array Key is the property name, value the default as per the PHPMailer class.
|
|
118
|
+
*/
|
|
119
|
+
private $PHPMailerStaticProps = [
|
|
120
|
+
'LE' => PHPMailer::CRLF,
|
|
121
|
+
'validator' => 'php',
|
|
122
|
+
'language' => [],
|
|
123
|
+
];
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Run before each test class.
|
|
127
|
+
*/
|
|
128
|
+
public static function set_up_before_class()
|
|
129
|
+
{
|
|
130
|
+
if (defined('PHPMAILER_INCLUDE_DIR') === false) {
|
|
131
|
+
/*
|
|
132
|
+
* Set up default include path.
|
|
133
|
+
* Default to the dir above the test dir, i.e. the project home dir.
|
|
134
|
+
*/
|
|
135
|
+
define('PHPMAILER_INCLUDE_DIR', dirname(__DIR__));
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Run before each test is started.
|
|
141
|
+
*/
|
|
142
|
+
protected function set_up()
|
|
143
|
+
{
|
|
144
|
+
// Initialize the PHPMailer class.
|
|
145
|
+
if (is_bool(static::USE_EXCEPTIONS)) {
|
|
146
|
+
$this->Mail = new PHPMailer(static::USE_EXCEPTIONS);
|
|
147
|
+
} else {
|
|
148
|
+
$this->Mail = new PHPMailer();
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
// Set initial property values.
|
|
152
|
+
foreach ($this->propertyChanges as $key => $value) {
|
|
153
|
+
if ($key === 'to' || $key === 'cc' || $key === 'bcc' || $key === 'ReplyTo') {
|
|
154
|
+
if (is_array($value) && isset($value['address'], $value['name'])) {
|
|
155
|
+
$this->setAddress($value['address'], $value['name'], $key);
|
|
156
|
+
} elseif (is_string($value)) {
|
|
157
|
+
$this->setAddress($value, '', $key);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
continue;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
$this->Mail->{$key} = $value;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
if ($this->Mail->Host != '') {
|
|
167
|
+
$this->Mail->isSMTP();
|
|
168
|
+
} else {
|
|
169
|
+
$this->Mail->isMail();
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* Run after each test is completed.
|
|
175
|
+
*/
|
|
176
|
+
protected function tear_down()
|
|
177
|
+
{
|
|
178
|
+
// Make sure that any changes to static variables are undone after each test.
|
|
179
|
+
$this->resetStaticProperties();
|
|
180
|
+
|
|
181
|
+
// Clean test class native properties between tests.
|
|
182
|
+
$this->Mail = null;
|
|
183
|
+
$this->ChangeLog = [];
|
|
184
|
+
$this->NoteLog = [];
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* Reset the static properties in the PHPMailer class to their default values.
|
|
189
|
+
*/
|
|
190
|
+
protected function resetStaticProperties()
|
|
191
|
+
{
|
|
192
|
+
$reflClass = new ReflectionClass(PHPMailer::class);
|
|
193
|
+
$staticPropValues = $reflClass->getStaticProperties();
|
|
194
|
+
|
|
195
|
+
foreach ($this->PHPMailerStaticProps as $name => $default) {
|
|
196
|
+
if (isset($staticPropValues[$name]) && $staticPropValues[$name] === $default) {
|
|
197
|
+
continue;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
self::updateStaticProperty(PHPMailer::class, $name, $default);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
/**
|
|
205
|
+
* Update the value of a - potentially inaccessible - static property in a class.
|
|
206
|
+
*
|
|
207
|
+
* @param string $className The target class.
|
|
208
|
+
* @param string $propertyName The name of the static property.
|
|
209
|
+
* @param mixed $value The new value for the property.
|
|
210
|
+
*/
|
|
211
|
+
public static function updateStaticProperty($className, $propertyName, $value)
|
|
212
|
+
{
|
|
213
|
+
$reflProp = new ReflectionProperty($className, $propertyName);
|
|
214
|
+
if (PHP_VERSION_ID < 80100) {
|
|
215
|
+
//setAccessible is only needed in PHP < 8.1
|
|
216
|
+
$isPublic = $reflProp->isPublic();
|
|
217
|
+
if ($isPublic !== true) {
|
|
218
|
+
$reflProp->setAccessible(true);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
$reflProp->setValue(null, $value);
|
|
223
|
+
|
|
224
|
+
if (PHP_VERSION_ID < 80100) {
|
|
225
|
+
if ($isPublic !== true) {
|
|
226
|
+
$reflProp->setAccessible(false);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
/**
|
|
232
|
+
* Build the body of the message in the appropriate format.
|
|
233
|
+
*/
|
|
234
|
+
protected function buildBody()
|
|
235
|
+
{
|
|
236
|
+
$this->checkChanges();
|
|
237
|
+
|
|
238
|
+
// Determine line endings for message.
|
|
239
|
+
if ('text/html' === $this->Mail->ContentType || $this->Mail->AltBody !== '') {
|
|
240
|
+
$eol = "<br>\r\n";
|
|
241
|
+
$bullet_start = '<li>';
|
|
242
|
+
$bullet_end = "</li>\r\n";
|
|
243
|
+
$list_start = "<ul>\r\n";
|
|
244
|
+
$list_end = "</ul>\r\n";
|
|
245
|
+
} else {
|
|
246
|
+
$eol = "\r\n";
|
|
247
|
+
$bullet_start = ' - ';
|
|
248
|
+
$bullet_end = "\r\n";
|
|
249
|
+
$list_start = '';
|
|
250
|
+
$list_end = '';
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
$ReportBody = '';
|
|
254
|
+
|
|
255
|
+
$ReportBody .= '---------------------' . $eol;
|
|
256
|
+
$ReportBody .= 'Unit Test Information' . $eol;
|
|
257
|
+
$ReportBody .= '---------------------' . $eol;
|
|
258
|
+
$ReportBody .= 'phpmailer version: ' . PHPMailer::VERSION . $eol;
|
|
259
|
+
$ReportBody .= 'Content Type: ' . $this->Mail->ContentType . $eol;
|
|
260
|
+
$ReportBody .= 'CharSet: ' . $this->Mail->CharSet . $eol;
|
|
261
|
+
|
|
262
|
+
if ($this->Mail->Host !== '') {
|
|
263
|
+
$ReportBody .= 'Host: ' . $this->Mail->Host . $eol;
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
// If attachments then create an attachment list.
|
|
267
|
+
$attachments = $this->Mail->getAttachments();
|
|
268
|
+
if (count($attachments) > 0) {
|
|
269
|
+
$ReportBody .= 'Attachments:' . $eol;
|
|
270
|
+
$ReportBody .= $list_start;
|
|
271
|
+
foreach ($attachments as $attachment) {
|
|
272
|
+
$ReportBody .= $bullet_start . 'Name: ' . $attachment[1] . ', ';
|
|
273
|
+
$ReportBody .= 'Encoding: ' . $attachment[3] . ', ';
|
|
274
|
+
$ReportBody .= 'Type: ' . $attachment[4] . $bullet_end;
|
|
275
|
+
}
|
|
276
|
+
$ReportBody .= $list_end . $eol;
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
// If there are changes then list them.
|
|
280
|
+
if (count($this->ChangeLog) > 0) {
|
|
281
|
+
$ReportBody .= 'Changes' . $eol;
|
|
282
|
+
$ReportBody .= '-------' . $eol;
|
|
283
|
+
|
|
284
|
+
$ReportBody .= $list_start;
|
|
285
|
+
foreach ($this->ChangeLog as $iValue) {
|
|
286
|
+
$ReportBody .= $bullet_start . $iValue[0] . ' was changed to [' .
|
|
287
|
+
$iValue[1] . ']' . $bullet_end;
|
|
288
|
+
}
|
|
289
|
+
$ReportBody .= $list_end . $eol . $eol;
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
// If there are notes then list them.
|
|
293
|
+
if (count($this->NoteLog) > 0) {
|
|
294
|
+
$ReportBody .= 'Notes' . $eol;
|
|
295
|
+
$ReportBody .= '-----' . $eol;
|
|
296
|
+
|
|
297
|
+
$ReportBody .= $list_start;
|
|
298
|
+
foreach ($this->NoteLog as $iValue) {
|
|
299
|
+
$ReportBody .= $bullet_start . $iValue . $bullet_end;
|
|
300
|
+
}
|
|
301
|
+
$ReportBody .= $list_end;
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
// Re-attach the original body.
|
|
305
|
+
$this->Mail->Body .= $eol . $ReportBody;
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
/**
|
|
309
|
+
* Check which default settings have been changed for the report.
|
|
310
|
+
*/
|
|
311
|
+
protected function checkChanges()
|
|
312
|
+
{
|
|
313
|
+
// Get the default values of all public properties.
|
|
314
|
+
$defaults = get_class_vars(PHPMailer::class);
|
|
315
|
+
|
|
316
|
+
foreach ($defaults as $propertyName => $value) {
|
|
317
|
+
if (isset($this->changelogExclude[$propertyName])) {
|
|
318
|
+
continue;
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
if (isset($this->PHPMailerStaticProps[$propertyName])) {
|
|
322
|
+
// Nested static access is not supported in PHP < 7.0, so we need an interim variable.
|
|
323
|
+
$mail = $this->Mail;
|
|
324
|
+
if ($mail::${$propertyName} !== $this->PHPMailerStaticProps[$propertyName]) {
|
|
325
|
+
$this->addChange($propertyName, var_export($mail::${$propertyName}, true));
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
continue;
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
// Check against the TestCase specific defaults.
|
|
332
|
+
if (
|
|
333
|
+
isset($this->propertyChanges[$propertyName])
|
|
334
|
+
&& $this->Mail->{$propertyName} !== $this->propertyChanges[$propertyName]
|
|
335
|
+
) {
|
|
336
|
+
$this->addChange($propertyName, var_export($this->Mail->{$propertyName}, true));
|
|
337
|
+
continue;
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
// Check against the PHPMailer class defaults.
|
|
341
|
+
if ($this->Mail->{$propertyName} !== $value) {
|
|
342
|
+
$this->addChange($propertyName, var_export($this->Mail->{$propertyName}, true));
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
/**
|
|
348
|
+
* Add a changelog entry.
|
|
349
|
+
*
|
|
350
|
+
* @param string $sName
|
|
351
|
+
* @param string $sNewValue
|
|
352
|
+
*/
|
|
353
|
+
protected function addChange($sName, $sNewValue)
|
|
354
|
+
{
|
|
355
|
+
$this->ChangeLog[] = [$sName, $sNewValue];
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
/**
|
|
359
|
+
* Adds a simple note to the message.
|
|
360
|
+
*
|
|
361
|
+
* @param string $sValue
|
|
362
|
+
*/
|
|
363
|
+
protected function addNote($sValue)
|
|
364
|
+
{
|
|
365
|
+
$this->NoteLog[] = $sValue;
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
/**
|
|
369
|
+
* Adds all of the addresses.
|
|
370
|
+
*
|
|
371
|
+
* @param string $sAddress
|
|
372
|
+
* @param string $sName
|
|
373
|
+
* @param string $sType
|
|
374
|
+
*
|
|
375
|
+
* @return bool
|
|
376
|
+
*/
|
|
377
|
+
protected function setAddress($sAddress, $sName = '', $sType = 'to')
|
|
378
|
+
{
|
|
379
|
+
switch ($sType) {
|
|
380
|
+
case 'to':
|
|
381
|
+
return $this->Mail->addAddress($sAddress, $sName);
|
|
382
|
+
case 'cc':
|
|
383
|
+
return $this->Mail->addCC($sAddress, $sName);
|
|
384
|
+
case 'bcc':
|
|
385
|
+
return $this->Mail->addBCC($sAddress, $sName);
|
|
386
|
+
case 'ReplyTo':
|
|
387
|
+
return $this->Mail->addReplyTo($sAddress, $sName);
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
return false;
|
|
391
|
+
}
|
|
392
|
+
}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
# Fake POP3 server
|
|
4
|
+
# By Marcus Bointon <phpmailer@synchromedia.co.uk>
|
|
5
|
+
# Copyright 2010 - 2020 Marcus Bointon
|
|
6
|
+
# Based on code by 'Frater' found at https://www.linuxquestions.org/questions/programming-9/fake-pop3-server-to-capture-pop3-passwords-933733/
|
|
7
|
+
# Does not actually serve any mail, but supports commands sufficient to test POP-before SMTP
|
|
8
|
+
# Can be run directly from a shell like this:
|
|
9
|
+
# mkfifo fifo; nc -l 1100 <fifo |./fakepopserver.sh >fifo; rm fifo
|
|
10
|
+
# It will accept any user name and will return a positive response for the password 'test'
|
|
11
|
+
|
|
12
|
+
# Licensed under the GNU Lesser General Public License: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html
|
|
13
|
+
|
|
14
|
+
# Enable debug output
|
|
15
|
+
#set -xv
|
|
16
|
+
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
|
|
17
|
+
|
|
18
|
+
LOGFOLDER=/tmp
|
|
19
|
+
|
|
20
|
+
LOGFILE=${LOGFOLDER}/fakepop.log
|
|
21
|
+
|
|
22
|
+
LOGGING=1
|
|
23
|
+
DEBUG=1
|
|
24
|
+
TIMEOUT=60
|
|
25
|
+
|
|
26
|
+
POP_USER=
|
|
27
|
+
POP_PASSWRD=test
|
|
28
|
+
|
|
29
|
+
LINES=1
|
|
30
|
+
BREAK=0
|
|
31
|
+
|
|
32
|
+
write_log () {
|
|
33
|
+
if [ ${LINES} -eq 1 ] ; then
|
|
34
|
+
echo '---' >>${LOGFILE}
|
|
35
|
+
fi
|
|
36
|
+
let LINES+=1
|
|
37
|
+
[ ${LOGGING} = 0 ] || echo -e "`date '+%b %d %H:%M'` pop3 $*" >>${LOGFILE}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
ANSWER="+OK Fake POP3 Service Ready"
|
|
41
|
+
|
|
42
|
+
while [ ${BREAK} -eq 0 ] ; do
|
|
43
|
+
echo -en "${ANSWER}\r\n"
|
|
44
|
+
|
|
45
|
+
REPLY=""
|
|
46
|
+
|
|
47
|
+
#Input appears in $REPLY
|
|
48
|
+
read -t ${TIMEOUT}
|
|
49
|
+
|
|
50
|
+
ANSWER="+OK "
|
|
51
|
+
COMMAND=""
|
|
52
|
+
ARGS=""
|
|
53
|
+
TIMEOUT=30
|
|
54
|
+
|
|
55
|
+
if [ "$REPLY" ] ; then
|
|
56
|
+
write_log "RAW input: '`echo "${REPLY}" | tr -cd '[ -~]'`'"
|
|
57
|
+
|
|
58
|
+
COMMAND="`echo "${REPLY}" | awk '{print $1}' | tr -cd '\40-\176' | tr 'a-z' 'A-Z'`"
|
|
59
|
+
ARGS="`echo "${REPLY}" | tr -cd '\40-\176' | awk '{for(i=2;i<=NF;i++){printf "%s ", $i};printf "\n"}' | sed 's/ $//'`"
|
|
60
|
+
|
|
61
|
+
write_log "Command: \"${COMMAND}\""
|
|
62
|
+
write_log "Arguments: \"${ARGS}\""
|
|
63
|
+
|
|
64
|
+
case "$COMMAND" in
|
|
65
|
+
QUIT)
|
|
66
|
+
break
|
|
67
|
+
;;
|
|
68
|
+
USER)
|
|
69
|
+
if [ -n "${ARGS}" ] ; then
|
|
70
|
+
POP_USER="${ARGS}"
|
|
71
|
+
ANSWER="+OK Please send PASS command"
|
|
72
|
+
fi
|
|
73
|
+
;;
|
|
74
|
+
AUTH)
|
|
75
|
+
ANSWER="+OK \r\n."
|
|
76
|
+
;;
|
|
77
|
+
CAPA)
|
|
78
|
+
ANSWER="+OK Capabilities include\r\nUSER\r\nCAPA\r\n."
|
|
79
|
+
;;
|
|
80
|
+
PASS)
|
|
81
|
+
if [ "${POP_PASSWRD}" == "${ARGS}" ] ; then
|
|
82
|
+
ANSWER="+OK Logged in."
|
|
83
|
+
AUTH=1
|
|
84
|
+
else
|
|
85
|
+
ANSWER="-ERR Login failed."
|
|
86
|
+
fi
|
|
87
|
+
;;
|
|
88
|
+
LIST)
|
|
89
|
+
if [ "${AUTH}" = 0 ] ; then
|
|
90
|
+
ANSWER="-ERR Not authenticated"
|
|
91
|
+
else
|
|
92
|
+
if [ -z "${ARGS}" ] ; then
|
|
93
|
+
ANSWER="+OK No messages, really\r\n."
|
|
94
|
+
else
|
|
95
|
+
ANSWER="-ERR No messages, no list, no status"
|
|
96
|
+
fi
|
|
97
|
+
fi
|
|
98
|
+
;;
|
|
99
|
+
RSET)
|
|
100
|
+
ANSWER="+OK Resetting or whatever\r\n."
|
|
101
|
+
;;
|
|
102
|
+
LAST)
|
|
103
|
+
if [ "${AUTH}" = 0 ] ; then
|
|
104
|
+
ANSWER="-ERR Not authenticated"
|
|
105
|
+
else
|
|
106
|
+
ANSWER="+OK 0"
|
|
107
|
+
fi
|
|
108
|
+
;;
|
|
109
|
+
STAT)
|
|
110
|
+
if [ "${AUTH}" = 0 ] ; then
|
|
111
|
+
ANSWER="-ERR Not authenticated"
|
|
112
|
+
else
|
|
113
|
+
ANSWER="+OK 0 0"
|
|
114
|
+
fi
|
|
115
|
+
;;
|
|
116
|
+
NOOP)
|
|
117
|
+
ANSWER="+OK Hang on, doing nothing"
|
|
118
|
+
;;
|
|
119
|
+
esac
|
|
120
|
+
else
|
|
121
|
+
echo "+OK Connection timed out"
|
|
122
|
+
break
|
|
123
|
+
fi
|
|
124
|
+
done
|
|
125
|
+
|
|
126
|
+
echo -en "+OK Bye!\r\n"
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
#Fake sendmail script, adapted from:
|
|
3
|
+
#https://github.com/mrded/MNPP/blob/ee64fb2a88efc70ba523b78e9ce61f9f1ed3b4a9/init/fake-sendmail.sh
|
|
4
|
+
|
|
5
|
+
#Create a temp folder to put messages in
|
|
6
|
+
numPath="${TMPDIR-/tmp/}fakemail"
|
|
7
|
+
umask 037
|
|
8
|
+
mkdir -p ${numPath}
|
|
9
|
+
|
|
10
|
+
if [ ! -f ${numPath}/num ]; then
|
|
11
|
+
echo "0" > ${numPath}/num
|
|
12
|
+
fi
|
|
13
|
+
num=`cat ${numPath}/num`
|
|
14
|
+
num=$((${num} + 1))
|
|
15
|
+
echo ${num} > ${numPath}/num
|
|
16
|
+
|
|
17
|
+
name="${numPath}/message_${num}.eml"
|
|
18
|
+
while read line
|
|
19
|
+
do
|
|
20
|
+
echo ${line} >> ${name}
|
|
21
|
+
done
|
|
22
|
+
exit 0
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
set -xv
|
|
4
|
+
|
|
5
|
+
# Run the fake pop server from bash
|
|
6
|
+
# Defaults to port 1100 so it can be run by unpriv users and not clash with a real server
|
|
7
|
+
# Optionally, pass in a port number as the first arg
|
|
8
|
+
|
|
9
|
+
rm -f fifo
|
|
10
|
+
mkfifo fifo
|
|
11
|
+
nc -l ${1:-1100} <fifo |bash ./fakepopserver.sh >fifo
|
|
12
|
+
rm fifo
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
* text=auto
|
|
2
|
+
|
|
3
|
+
/tests export-ignore
|
|
4
|
+
/.gitattributes export-ignore
|
|
5
|
+
/.github export-ignore
|
|
6
|
+
/.gitignore export-ignore
|
|
7
|
+
/.travis.yml export-ignore
|
|
8
|
+
/Makefile export-ignore
|
|
9
|
+
/phpstan-baseline.neon export-ignore
|
|
10
|
+
/phpstan.neon.dist export-ignore
|
|
11
|
+
/phpunit.xml.dist export-ignore
|
|
12
|
+
/README.md export-ignore
|
|
13
|
+
/vendor-bin export-ignore
|