added missing file
Bernd Wurst authored 1 year ago
|
1) <?php
2) /*
3) This file belongs to the Webinterface of schokokeks.org Hosting
4)
5) Written by schokokeks.org Hosting, namely
6) Bernd Wurst <bernd@schokokeks.org>
7) Hanno Böck <hanno@schokokeks.org>
8)
9) This code is published under a 0BSD license.
10)
11) Nevertheless, in case you use a significant part of this code, we ask (but not require, see the license) that you keep the authors' names in place and return your changes to the public. We would be especially happy if you tell us what you're going to do with this code.
12) */
13)
14) require_once('inc/debug.php');
15) require_once('inc/icons.php');
16)
17) require_once('class/domain.php');
18) require_once('domains.php');
19)
20) require_role([ROLE_CUSTOMER, ROLE_SYSTEMUSER]);
21)
22) $dom = null;
23) if (isset($_REQUEST['dom'])) {
24) $dom = new Domain((int) $_REQUEST['dom']);
25) } else {
26) system_failure("Keine Domain angegeben");
27) }
28) if (have_role(ROLE_CUSTOMER)) {
29) $dom->ensure_customerdomain();
30) } else {
31) $dom->ensure_userdomain();
32) }
33)
34) title("E-Mail-Einstellungen für {$dom->fqdn}");
|
Erster Entwurf nomail-Feature
Bernd Wurst authored 1 year ago
|
35) $section = 'domains_domains';
|
added missing file
Bernd Wurst authored 1 year ago
|
36)
37) if (!have_module('email')) {
38) system_failure("email settings not available");
39) }
40)
41) if ($dom->provider != 'terions') {
42) $mxresult = dns_get_record($dom->fqdn, DNS_MX);
43) $found = false;
44) foreach ($mxresult as $mx) {
45) if (substr_compare($mx['target'], config('masterdomain'), -strlen(config('masterdomain'))) === 0) {
46) $found = true;
47) }
48) }
|
Fix codingstyle
Hanno Böck authored 1 year ago
|
49) if (!$found) {
50) DEBUG('MX für ' . $dom->fqdn . ':');
|
added missing file
Bernd Wurst authored 1 year ago
|
51) DEBUG($mxresult);
52) warning('Bei dieser Domain ist der Mail-Empfang aktiviert, jedoch verweist das DNS-System scheinbar nicht auf unsere Anlagen. Wenn Sie keine E-Mails empfangen möchten, schalten Sie die Mail-Verarbeitung für diese Domain aus.');
53) }
54) }
55)
56) output('<p>Die Verarbeitung eingehender E-Mail kann bei schokokeks.org auf zwei unterschiedliche Weisen erfolgen.<p>
57) <ol><li>Sie können mit der <strong>Webinterface-Verwaltung</strong> einfache E-Mail-Konten erstellen, die ankommende E-Mails speichern oder weiterleiten.</li>
58) <li>Sie können die manuelle Verwaltung wählen, bei der Sie passende .courier-Dateien für den Empfang und manuelle POP3/IMAP-Konten für den Abruf selbst verwalten.</li></ol>
59) <p>Eine parallel Nutzung beider Verfahren mit der selben Domain ist nicht möglich. Wenn Sie eine Domain auf Webinterface-Verwaltung einrichten, dann werden eventuell vorhandene .courier-Dateien nicht mehr beachtet.</p>
60) <p>Der Mail-Empfang auf Subdomains muss grundsätzlich durch Administratoren eingerichtet und verändert werden.</p>');
61)
62) output('<h4>Aktuelle Einstellung</h4>');
63) $setting = mail_setting($dom->id);
64) if ($setting == 'none') {
65) output('<div class="error">E-Mail-Empfang abgeschaltet</div>
|
Fix codingstyle
Hanno Böck authored 1 year ago
|
66) <p>Aktuell ist der Empfang von E-Mail für die Domain <strong>' . $dom->fqdn . '</strong> ausgeschaltet.</p>
|
added missing file
Bernd Wurst authored 1 year ago
|
67) <ul>
68) <li>Die E-Mail-spezifischen DNS-Records wie z.B. MX, SPF, DKIM und Autoconfig werden nicht erstellt.</li>
69) <li>Sie können keine Postfächer unter der Domain anlegen.</li>
70) <li>Der Mail-Server wird E-Mails an diese Domain nicht annehmen.</li>
71) </ul>');
|
Erster Entwurf nomail-Feature
Bernd Wurst authored 1 year ago
|
72) //addnew('email_save', 'Mail-Empfang einschalten (Webinterface-Verwaltung)', "dom=" . $dom->id . "&mail=vmail");
73) //addnew('email_save', 'Mail-Empfang einschalten (Manuelle Verwaltung)', "dom=" . $dom->id . "&mail=manual", 'class="grey"');
|
added missing file
Bernd Wurst authored 1 year ago
|
74) } elseif ($setting == 'vmail') {
75) output('<div class="success">E-Mail-Empfang eingeschaltet (Webinterface-Verwaltung)</div>
76) <p>Aktuell können Sie Ihre Postfächer ganz einfach über unser Webinterface verwalten. Dies ist die Standardeinstellung.</p>
77) <ul>
78) <li>Nachrichten werden vom Server angenommen, sofern die zugehörige Adresse eingerichtet ist.</li>
79) <li>Die DNS-Records (z.B. MX, SPF, DKIM und Autoconfig) werden erstellt, sofern Sie keinen dazu widersprüchlichen DNS-Record selbst angelegt haben.</li>
80) <li>Um neue Postfächer und Weiterleitungen für diese Domain anzulegen, besuchen Sie bitte den Bereich "E-Mail" in diesem Webinterface.</li>
81) </ul>');
82) if (count_vmail($dom->id) > 0) {
83) output('<p>So lange noch E-Mail-Adressen unter dieser Domain eingerichtet sind, können Sie diese Einstellung nicht ändern.</p>');
84) } else {
|
Erster Entwurf nomail-Feature
Bernd Wurst authored 1 year ago
|
85) //output('<p class="delete">' . internal_link("email_save", "Mail-Empfang für diese Domain ausschalten", "dom=" . $dom->id . '&mail=none') . '</p>');
|
added missing file
Bernd Wurst authored 1 year ago
|
86) }
87) } elseif ($setting == 'manual') {
88) output('<div class="warning">E-Mail-Empfang aktiv (Manuelle Verwaltung)</div>
89) <p>Für diese Domain müssen Sie selbst die passenden .courier-Dateien verwalten, damit die Mails zugestellt werden.</p>
90) <ul>
91) <li>Nachrichten werden vom Server angenommen, sofern die zugehörige Adresse eingerichtet ist.</li>
92) <li>Die DNS-Records (z.B. MX, SPF, DKIM und Autoconfig) werden erstellt, sofern Sie keinen dazu widersprüchlichen DNS-Record selbst angelegt haben.</li>
93) <li>Hilfestellung zu den damit verbundenen Möglichkeiten erhalten Sie <a href="https://wiki.schokokeks.org/E-Mail/Manuelle_Konfiguration">in unserem Wiki</a></li>
94) </ul>');
|
Erster Entwurf nomail-Feature
Bernd Wurst authored 1 year ago
|
95) //output('<p class="delete">' . internal_link("email_save", "Mail-Empfang für diese Domain ausschalten", "dom=" . $dom->id . '&mail=none') . '</p>');
96) } elseif ($setting == 'nomail') {
97) output('<div class="error">E-Mail-Empfang abgeschaltet und <strong>unterbunden</strong></div>
98) <p>Aktuell ist der Empfang von E-Mail für die Domain <strong>' . $dom->fqdn . '</strong> ausgeschaltet und es wird mittels spezielle DNS-Records dafür gesorgt, dass E-Mails dieser Domain grundsätzlich als Spam eingestuft werden.</p>
99) <ul>
100) <li>Es wird ein leerer MX-Record erstellt.</li>
101) <li>Der SPF- und der DMARC-Record werden auf "immer abweisen" gesetzt.</li>
102) <li>Die DNS-Records für DKIM und Autoconfig werden nicht erstellt.</li>
103) <li>Sie können keine Postfächer unter der Domain anlegen.</li>
104) <li>Der Mail-Server wird E-Mails an diese Domain nicht annehmen.</li>
105) </ul>');
106) } else {
|
added missing file
Bernd Wurst authored 1 year ago
|
107) system_failure('unbekannter Zustand der Domain');
108) }
109)
|
Erster Entwurf nomail-Feature
Bernd Wurst authored 1 year ago
|
110) output('<p>' . internal_link('../email/domains', 'Änderungen an der Mail-Verarbeitung vornehmen') . '</p>');
|
added missing file
Bernd Wurst authored 1 year ago
|
111)
112)
|