Hanno Böck commited on 2024-03-22 16:01:41
Zeige 3 geänderte Dateien mit 127 Einfügungen und 6 Löschungen.
| ... | ... |
@@ -4,7 +4,7 @@ |
| 4 | 4 |
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", |
| 5 | 5 |
"This file is @generated automatically" |
| 6 | 6 |
], |
| 7 |
- "content-hash": "b0c98221403e75acf2b0b6fe680d633b", |
|
| 7 |
+ "content-hash": "a7e89de443bff6f9a4ae7acf87cce0a6", |
|
| 8 | 8 |
"packages": [ |
| 9 | 9 |
{
|
| 10 | 10 |
"name": "bjeavons/zxcvbn-php", |
| ... | ... |
@@ -594,6 +594,87 @@ |
| 594 | 594 |
}, |
| 595 | 595 |
"time": "2019-03-20T00:55:58+00:00" |
| 596 | 596 |
}, |
| 597 |
+ {
|
|
| 598 |
+ "name": "phpmailer/phpmailer", |
|
| 599 |
+ "version": "v6.9.1", |
|
| 600 |
+ "source": {
|
|
| 601 |
+ "type": "git", |
|
| 602 |
+ "url": "https://github.com/PHPMailer/PHPMailer.git", |
|
| 603 |
+ "reference": "039de174cd9c17a8389754d3b877a2ed22743e18" |
|
| 604 |
+ }, |
|
| 605 |
+ "dist": {
|
|
| 606 |
+ "type": "zip", |
|
| 607 |
+ "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/039de174cd9c17a8389754d3b877a2ed22743e18", |
|
| 608 |
+ "reference": "039de174cd9c17a8389754d3b877a2ed22743e18", |
|
| 609 |
+ "shasum": "" |
|
| 610 |
+ }, |
|
| 611 |
+ "require": {
|
|
| 612 |
+ "ext-ctype": "*", |
|
| 613 |
+ "ext-filter": "*", |
|
| 614 |
+ "ext-hash": "*", |
|
| 615 |
+ "php": ">=5.5.0" |
|
| 616 |
+ }, |
|
| 617 |
+ "require-dev": {
|
|
| 618 |
+ "dealerdirect/phpcodesniffer-composer-installer": "^1.0", |
|
| 619 |
+ "doctrine/annotations": "^1.2.6 || ^1.13.3", |
|
| 620 |
+ "php-parallel-lint/php-console-highlighter": "^1.0.0", |
|
| 621 |
+ "php-parallel-lint/php-parallel-lint": "^1.3.2", |
|
| 622 |
+ "phpcompatibility/php-compatibility": "^9.3.5", |
|
| 623 |
+ "roave/security-advisories": "dev-latest", |
|
| 624 |
+ "squizlabs/php_codesniffer": "^3.7.2", |
|
| 625 |
+ "yoast/phpunit-polyfills": "^1.0.4" |
|
| 626 |
+ }, |
|
| 627 |
+ "suggest": {
|
|
| 628 |
+ "decomplexity/SendOauth2": "Adapter for using XOAUTH2 authentication", |
|
| 629 |
+ "ext-mbstring": "Needed to send email in multibyte encoding charset or decode encoded addresses", |
|
| 630 |
+ "ext-openssl": "Needed for secure SMTP sending and DKIM signing", |
|
| 631 |
+ "greew/oauth2-azure-provider": "Needed for Microsoft Azure XOAUTH2 authentication", |
|
| 632 |
+ "hayageek/oauth2-yahoo": "Needed for Yahoo XOAUTH2 authentication", |
|
| 633 |
+ "league/oauth2-google": "Needed for Google XOAUTH2 authentication", |
|
| 634 |
+ "psr/log": "For optional PSR-3 debug logging", |
|
| 635 |
+ "symfony/polyfill-mbstring": "To support UTF-8 if the Mbstring PHP extension is not enabled (^1.2)", |
|
| 636 |
+ "thenetworg/oauth2-azure": "Needed for Microsoft XOAUTH2 authentication" |
|
| 637 |
+ }, |
|
| 638 |
+ "type": "library", |
|
| 639 |
+ "autoload": {
|
|
| 640 |
+ "psr-4": {
|
|
| 641 |
+ "PHPMailer\\PHPMailer\\": "src/" |
|
| 642 |
+ } |
|
| 643 |
+ }, |
|
| 644 |
+ "notification-url": "https://packagist.org/downloads/", |
|
| 645 |
+ "license": [ |
|
| 646 |
+ "LGPL-2.1-only" |
|
| 647 |
+ ], |
|
| 648 |
+ "authors": [ |
|
| 649 |
+ {
|
|
| 650 |
+ "name": "Marcus Bointon", |
|
| 651 |
+ "email": "phpmailer@synchromedia.co.uk" |
|
| 652 |
+ }, |
|
| 653 |
+ {
|
|
| 654 |
+ "name": "Jim Jagielski", |
|
| 655 |
+ "email": "jimjag@gmail.com" |
|
| 656 |
+ }, |
|
| 657 |
+ {
|
|
| 658 |
+ "name": "Andy Prevost", |
|
| 659 |
+ "email": "codeworxtech@users.sourceforge.net" |
|
| 660 |
+ }, |
|
| 661 |
+ {
|
|
| 662 |
+ "name": "Brent R. Matzelle" |
|
| 663 |
+ } |
|
| 664 |
+ ], |
|
| 665 |
+ "description": "PHPMailer is a full-featured email creation and transfer class for PHP", |
|
| 666 |
+ "support": {
|
|
| 667 |
+ "issues": "https://github.com/PHPMailer/PHPMailer/issues", |
|
| 668 |
+ "source": "https://github.com/PHPMailer/PHPMailer/tree/v6.9.1" |
|
| 669 |
+ }, |
|
| 670 |
+ "funding": [ |
|
| 671 |
+ {
|
|
| 672 |
+ "url": "https://github.com/Synchro", |
|
| 673 |
+ "type": "github" |
|
| 674 |
+ } |
|
| 675 |
+ ], |
|
| 676 |
+ "time": "2023-11-25T22:23:28+00:00" |
|
| 677 |
+ }, |
|
| 597 | 678 |
{
|
| 598 | 679 |
"name": "psr/http-message", |
| 599 | 680 |
"version": "2.0", |
| ... | ... |
@@ -14,6 +14,11 @@ Nevertheless, in case you use a significant part of this code, we ask (but not r |
| 14 | 14 |
require_once('class/database.php');
|
| 15 | 15 |
require_once('inc/debug.php');
|
| 16 | 16 |
|
| 17 |
+use PHPMailer\PHPMailer\PHPMailer; |
|
| 18 |
+use PHPMailer\PHPMailer\Exception; |
|
| 19 |
+ |
|
| 20 |
+require_once('vendor/autoload.php');
|
|
| 21 |
+ |
|
| 17 | 22 |
function config($key, $localonly = false) |
| 18 | 23 |
{
|
| 19 | 24 |
global $config; |
| ... | ... |
@@ -451,16 +456,50 @@ function send_mail($address, $subject, $body, $msgtype = "adminmail") |
| 451 | 456 |
if (strstr($subject, "\n") !== false) {
|
| 452 | 457 |
die("Zeilenumbruch im subject!");
|
| 453 | 458 |
} |
| 454 |
- $header = "From: " . config('company_name') . " Web Administration <" . config('adminmail') . ">\r\n";
|
|
| 459 |
+ if (config("smtp_server")) {
|
|
| 460 |
+ // If we have smtp credentials we use phpmailer |
|
| 461 |
+ $mail = new PHPMailer(true); |
|
| 462 |
+ try {
|
|
| 463 |
+ $mail->isSMTP(); |
|
| 464 |
+ $mail->Host = config("smtp_server");
|
|
| 465 |
+ $mail->SMTPAuth = true; |
|
| 466 |
+ $mail->Username = config("smtp_user");
|
|
| 467 |
+ $mail->Password = config("smtp_pass");
|
|
| 468 |
+ $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; |
|
| 469 |
+ $mail->Port = 465; |
|
| 470 |
+ $mail->CharSet = 'UTF-8'; |
|
| 471 |
+ $mail->Encoding = 'quoted-printable'; |
|
| 472 |
+ $mail->setFrom(config("adminmail"), config('company_name') . " Web Administration");
|
|
| 473 |
+ $mail->addAddress($address); |
|
| 474 |
+ if ($address !== config('adminmail')) {
|
|
| 475 |
+ $mail->addCC(config('adminmail'));
|
|
| 476 |
+ } |
|
| 477 |
+ $mail->Subject = $subject; |
|
| 478 |
+ $mail->Body = $body; |
|
| 479 |
+ $mail->addCustomHeader("X-schokokeks-org-message", $msgtype);
|
|
| 480 |
+ $mail->XMailer = ' '; |
|
| 481 |
+ $mail->send(); |
|
| 482 |
+ } catch (Exception $e) {
|
|
| 483 |
+ $adminmsg = "PHPMailer error:\n" . $mail->ErrorInfo . "\n\n"; |
|
| 484 |
+ $adminmsg .= "SERVER info:\n" . print_r($_SERVER, 1); |
|
| 485 |
+ mail(config('adminmail'), $_SERVER['SERVER_NAME'] . ": error sending mail", $adminmsg);
|
|
| 486 |
+ system_failure("Mail konnte nicht verschickt werden, die Administratoren werden informiert.");
|
|
| 487 |
+ } |
|
| 488 |
+ } else {
|
|
| 489 |
+ $header = []; |
|
| 490 |
+ $header["From"] = config('company_name') . " Web Administration <" . config('adminmail') . ">";
|
|
| 455 | 491 |
if ($address !== config('adminmail')) {
|
| 456 |
- $header .= "Cc: " . config('adminmail') . "\r\n";
|
|
| 492 |
+ $header["Cc"] = config('adminmail');
|
|
| 457 | 493 |
} |
| 458 |
- $header .= "X-schokokeks-org-message: " . $msgtype . "\r\n"; |
|
| 459 |
- $header .= "Content-Type: text/plain; charset=\"utf-8\"\r\nContent-Transfer-Encoding: quoted-printable\r\n"; |
|
| 494 |
+ $header["X-schokokeks-org-message"] = $msgtype; |
|
| 495 |
+ $header["Content-Type"] = "text/plain; charset=\"utf-8\""; |
|
| 496 |
+ $header["Content-Transfer-Encoding"] = "quoted-printable"; |
|
| 497 |
+ $header["MIME-Version"] = "1.0"; |
|
| 460 | 498 |
$subject = mb_encode_mimeheader($subject, "utf-8", "Q"); |
| 461 | 499 |
$body = quoted_printable_encode($body); |
| 462 | 500 |
mail($address, $subject, $body, $header); |
| 463 | 501 |
} |
| 502 |
+} |
|
| 464 | 503 |
|
| 465 | 504 |
function handle_exception($e) |
| 466 | 505 |
{
|
| 467 | 506 |