Bernd Wurst commited on 2023-05-16 16:13:27
Zeige 5 geänderte Dateien mit 51 Einfügungen und 4 Löschungen.
| ... | ... |
@@ -111,12 +111,12 @@ if ($is_current_user) {
|
| 111 | 111 |
$vmail = count_vmail($dom->id); |
| 112 | 112 |
if ($used) {
|
| 113 | 113 |
if ($vmail > 0) {
|
| 114 |
- output("<div class=\"tile usage used\"><p><strong>".internal_link('../email/vmail', "E-Mail", 'filter='.$dom->fqdn)."</strong></p><p>E-Mail-Postfächer unter dieser Domain: <strong>{$vmail}</strong></p></div>");
|
|
| 114 |
+ output("<div class=\"tile usage used\"><p><strong>".internal_link('email', "E-Mail", 'dom='.$dom->id)."</strong></p><p>E-Mail-Postfächer unter dieser Domain: <strong>{$vmail}</strong></p><p>".internal_link('../email/vmail', "Postfächer verwalten", 'filter='.$dom->fqdn)."</p></div>");
|
|
| 115 | 115 |
} else {
|
| 116 |
- output("<div class=\"tile usage unused\"><p><strong>".internal_link('../email/imap', "E-Mail")."</strong></p><p>Manuelle Mail-Konfiguration ist aktiv</p></div>");
|
|
| 116 |
+ output("<div class=\"tile usage unused\"><p><strong>".internal_link('email', "E-Mail", "dom=".$dom->id)."</strong></p><p>Manuelle Mail-Konfiguration ist aktiv</p><p>".internal_link('../email/imap', "Accounts verwalten")."</p></div>");
|
|
| 117 | 117 |
} |
| 118 | 118 |
} else {
|
| 119 |
- output("<div class=\"tile usage unused\"><p><strong>".internal_link('../email/vmail', "E-Mail", 'filter='.$dom->fqdn)."</strong></p><p>Bisher keine E-Mail-Postfächer unter dieser Domain.</p></div>");
|
|
| 119 |
+ output("<div class=\"tile usage unused\"><p><strong>".internal_link('email', "E-Mail", 'dom='.$dom->id)."</strong></p><p>Bisher keine E-Mail-Postfächer unter dieser Domain.</p><p>".internal_link('../email/vmail', "Postfächer verwalten", "filter=".$dom->fqdn)."</p></div>");
|
|
| 120 | 120 |
} |
| 121 | 121 |
$everused = true; |
| 122 | 122 |
} |
| ... | ... |
@@ -38,6 +38,27 @@ function dns_in_use($domain) |
| 38 | 38 |
return ($result->rowCount() > 0); |
| 39 | 39 |
} |
| 40 | 40 |
|
| 41 |
+function mail_setting($domain) |
|
| 42 |
+{
|
|
| 43 |
+ if (! in_array('email', config('modules'))) {
|
|
| 44 |
+ return null; |
|
| 45 |
+ } |
|
| 46 |
+ $domain = (int) $domain; |
|
| 47 |
+ $result = db_query("SELECT mail FROM kundendaten.domains WHERE id=?", [$domain]);
|
|
| 48 |
+ if ($result->rowCount() < 1) {
|
|
| 49 |
+ system_failure("Domain not found");
|
|
| 50 |
+ } |
|
| 51 |
+ $d = $result->fetch(); |
|
| 52 |
+ if ($d['mail'] == 'none') {
|
|
| 53 |
+ return 'none'; |
|
| 54 |
+ } // manually disabled |
|
| 55 |
+ $result = db_query("SELECT id FROM mail.virtual_mail_domains WHERE domain=?", [$domain]);
|
|
| 56 |
+ if ($result->rowCount() > 0) {
|
|
| 57 |
+ return 'vmail'; |
|
| 58 |
+ } |
|
| 59 |
+ return 'manual'; |
|
| 60 |
+} |
|
| 61 |
+ |
|
| 41 | 62 |
|
| 42 | 63 |
function mail_in_use($domain) |
| 43 | 64 |
{
|
| ... | ... |
@@ -72,6 +72,28 @@ foreach ($domains as $id => $dom) {
|
| 72 | 72 |
<label for="option-'.$id.'-off">Ausgeschaltet</label> |
| 73 | 73 |
<input type="submit" value="Speichern" /> |
| 74 | 74 |
</span>'; |
| 75 |
+ |
|
| 76 |
+ if ($dom['type'] != 'none') {
|
|
| 77 |
+ $check_dmarc = ($dom['dkim'] == 'dmarc' ? ' checked="checked"' : ''); |
|
| 78 |
+ $check_dkim = ($dom['dkim'] == 'dkim' ? ' checked="checked"' : ''); |
|
| 79 |
+ $check_dkimoff = ($dom['dkim'] == 'none' ? ' checked="checked"' : ''); |
|
| 80 |
+ $buttons .= ' <p><label for="dkim-select">DKIM-Einstellung: </label><select name="dkim" id="dkim-select"> |
|
| 81 |
+ <option value="dmarc" '.($dom['dkim'] == 'dmarc' ? 'selected' : '').'>DKIM + DMARC</option> |
|
| 82 |
+ <option value="dkim" '.($dom['dkim'] == 'dkim' ? 'selected' : '').'>Nur DKIM</option> |
|
| 83 |
+ <option value="none" '.($dom['dkim'] == 'none' ? 'selected' : '').'>DKIM ausgeschaltet</option> |
|
| 84 |
+ </select></p> |
|
| 85 |
+ <p>Werden E-Mails nur über unsere Anlagen versendet oder nutzen Sie für den Versand unter dieser Domain auch andere Anbieter?</p> |
|
| 86 |
+ <p><span class="buttonset" id="buttonset-dkim-'.$id.'"> |
|
| 87 |
+ <input type="radio" name="dkim-'.$id.'" id="dkim-'.$id.'-dmarc" value="dmarc"'.$check_dmarc.' /> |
|
| 88 |
+ <label for="dkim-'.$id.'-dmarc">Nur schokokeks.org</label> |
|
| 89 |
+ <input type="radio" name="dkim-'.$id.'" id="dkim-'.$id.'-dkim" value="dkim"'.$check_dkim.' /> |
|
| 90 |
+ <label for="dkim-'.$id.'-dkim">Auch andere Anbieter</label> |
|
| 91 |
+ <input type="radio" name="dkim-'.$id.'" id="dkim-'.$id.'-off" value="off"'.$check_dkimoff.' /> |
|
| 92 |
+ <label for="dkim-'.$id.'-off">DKIM Ausgeschaltet</label> |
|
| 93 |
+ <input type="submit" value="Speichern" /> |
|
| 94 |
+ </span>'; |
|
| 95 |
+ |
|
| 96 |
+ } |
|
| 75 | 97 |
output("<tr{$trextra}><td>{$dom['name']}</td><td>".html_form('vmail_domainchange', 'domainchange', '', $buttons)."</td><td>{$notice}</td></tr>\n");
|
| 76 | 98 |
if (array_key_exists($id, $subdomains)) {
|
| 77 | 99 |
foreach ($subdomains[$id] as $subdom) {
|
| ... | ... |
@@ -466,7 +466,7 @@ function domainsettings($only_domain=null) |
| 466 | 466 |
$subdomains = []; |
| 467 | 467 |
|
| 468 | 468 |
// Domains |
| 469 |
- $result = db_query("SELECT d.id, CONCAT_WS('.',d.domainname,d.tld) AS name, d.mail, d.mailserver_lock, m.id AS m_id, v.id AS v_id FROM kundendaten.domains AS d LEFT JOIN mail.virtual_mail_domains AS v ON (d.id=v.domain AND v.hostname IS NULL) LEFT JOIN mail.custom_mappings AS m ON (d.id=m.domain AND m.subdomain IS NULL) WHERE d.useraccount=:uid OR m.uid=:uid ORDER BY CONCAT_WS('.',d.domainname,d.tld);", [":uid" => $uid]);
|
|
| 469 |
+ $result = db_query("SELECT d.id, CONCAT_WS('.',d.domainname,d.tld) AS name, d.mail, d.dkim, d.mailserver_lock, m.id AS m_id, v.id AS v_id FROM kundendaten.domains AS d LEFT JOIN mail.virtual_mail_domains AS v ON (d.id=v.domain AND v.hostname IS NULL) LEFT JOIN mail.custom_mappings AS m ON (d.id=m.domain AND m.subdomain IS NULL) WHERE d.useraccount=:uid OR m.uid=:uid ORDER BY CONCAT_WS('.',d.domainname,d.tld);", [":uid" => $uid]);
|
|
| 470 | 470 |
|
| 471 | 471 |
while ($mydom = $result->fetch()) {
|
| 472 | 472 |
if (! array_key_exists($mydom['id'], $domains)) {
|
| ... | ... |
@@ -476,6 +476,7 @@ function domainsettings($only_domain=null) |
| 476 | 476 |
$domains[$mydom['id']] = [ |
| 477 | 477 |
"name" => $mydom['name'], |
| 478 | 478 |
"type" => $mydom['mail'], |
| 479 |
+ "dkim" => $mydom['dkim'], |
|
| 479 | 480 |
"mailserver_lock" => $mydom['mailserver_lock'], |
| 480 | 481 |
]; |
| 481 | 482 |
if ($only_domain && $only_domain == $mydom['id']) {
|