<div role="tabpanel" class="tab-pane fade show active" id="tab-user-auth" role="tabpanel" aria-labelledby="tab-user-auth"> <div class="card"> <div class="card-header">{{ lang.user.mailbox_general }}</div> <div class="card-body"> {% if not skip_sogo %} <div class="row"> <div class="d-none d-sm-flex col-md-3 col-5 text-end"></div> <div class="col-md-3 col-12"> {% if dual_login and allow_admin_email_login == 'n' %} <button disabled class="btn btn-secondary btn-block btn-xs-lg"> <i class="bi bi-inbox-fill"></i> {{ lang.user.open_webmail_sso }} </button> {% else %} <a target="_blank" href="/sogo-auth.php?login={{ mailcow_cc_username }}" role="button" class="btn btn-secondary btn-block btn-xs-lg"> <i class="bi bi-inbox-fill"></i> {{ lang.user.open_webmail_sso }} </a> {% endif %} </div> </div> <hr> <div class="row"> <div class="d-none d-sm-flex col-md-3 col-5 text-end"></div> <div class="col-md-9 col-12"> <p class="text-muted text-muted-mt-0">{{ lang.user.direct_protocol_access|raw }}</p> {% if mailboxdata.attributes.imap_access == 1 %}<div class="badge fs-5 bg-success label-protocol-access">IMAP <i class="bi bi-check-lg"></i></div>{% else %}<div class="badge fs-5 bg-danger label-protocol-access">IMAP <i class="bi bi-x-lg"></i></div>{% endif %} {% if mailboxdata.attributes.smtp_access == 1 %}<div class="badge fs-5 bg-success label-protocol-access">SMTP <i class="bi bi-check-lg"></i></div>{% else %}<div class="badge fs-5 bg-danger label-protocol-access">SMTP <i class="bi bi-x-lg"></i></div>{% endif %} {% if mailboxdata.attributes.sieve_access == 1 %}<div class="badge fs-5 bg-success label-protocol-access">Sieve <i class="bi bi-check-lg"></i></div>{% else %}<div class="badge fs-5 bg-danger label-protocol-access">Sieve <i class="bi bi-x-lg"></i></div>{% endif %} {% if mailboxdata.attributes.pop3_access == 1 %}<div class="badge fs-5 bg-success label-protocol-access">POP3 <i class="bi bi-check-lg"></i></div>{% else %}<div class="badge fs-5 bg-danger label-protocol-access">POP3 <i class="bi bi-x-lg"></i></div>{% endif %} {% if mailboxdata.attributes.sogo_access == 1 %}<div class="badge fs-5 bg-success label-protocol-access">SOGo <i class="bi bi-check-lg"></i></div>{% else %}<div class="badge fs-5 bg-danger label-protocol-access">SOGo <i class="bi bi-x-lg"></i></div>{% endif %} </div> </div> <hr> {% endif %} <div class="row"> <div class="col-md-3 col-12 text-sm-end text-start mb-4">{{ lang.user.in_use }}:</div> <div class="col-md-5 col-12"> <div class="progress"> <div class="progress-bar bg-{{ mailboxdata.percent_class }}" role="progressbar" aria-valuenow="{{ mailboxdata.percent_in_use }}" aria-valuemin="0" aria-valuemax="100" style="min-width:2em;width: {{ mailboxdata.percent_in_use }}%;"> {{ mailboxdata.percent_in_use }}% </div> </div> <p>{{ mailboxdata.quota_used|formatBytes(2) }} / {% if mailboxdata.quota == 0 %}∞{% else %}{{ mailboxdata.quota|formatBytes(2) }}{% endif %}<br>{{ mailboxdata.messages }} {{ lang.user.messages }}</p> <hr> <p><a href="#pwChangeModal" data-bs-toggle="modal"><i class="bi bi-pencil-fill"></i> {{ lang.user.change_password }}</a></p> </div> </div> <hr> {# FIDO2 #} <div class="row"> <div class="col-sm-3 col-12 text-sm-end text-start"> <p><i class="bi bi-shield-fill-check"></i> {{ lang.fido2.fido2_auth }}</p> </div> </div> <div class="row"> <div class="col-sm-3 col-12 text-sm-end text-start mb-4"> {{ lang.fido2.known_ids }}: </div> <div class="col-sm-9 col-12"> <div class="table-responsive"> <table class="table table-striped table-hover table-condensed" id="fido2_keys"> <tr> <th>ID</th> <th style="min-width:240px;text-align: right">{{ lang.admin.action }}</th> </tr> {% include 'fido2.twig' %} </table> </div> <br> </div> </div> <div class="row"> <div class="offset-sm-3 col-sm-9"> <div class="btn-group nowrap"> <button class="btn btn-sm btn-primary d-block d-sm-inline" id="register-fido2">{{ lang.fido2.set_fido2 }}</button> <button type="button" class="btn btn-sm btn-xs-lg btn-primary dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"></button> <ul class="dropdown-menu"> <li><a class="dropdown-item" href="#" id="register-fido2-touchid"><i class="bi bi-apple"></i> {{ lang.fido2.set_fido2_touchid }}</a></li> </ul> </div> </div> </div> <br> <div class="row" id="status-fido2"> <div class="col-sm-3 col-5 text-end">{{ lang.fido2.register_status }}:</div> <div class="col-sm-9 col-7"> <div id="fido2-alerts">-</div> </div> <br> </div> <hr> <div class="row"> <div class="col-md-3 col-12 text-sm-end text-start mb-4"><i class="bi bi-file-earmark-text"></i> {{ lang.user.apple_connection_profile }}:</div> <div class="col-md-9 col-12"> <p><i class="bi bi-file-earmark-post"></i> <a href="/mobileconfig.php?only_email">{{ lang.user.email }}</a> <small>IMAP, SMTP</small></p> <p class="text-muted">{{ lang.user.apple_connection_profile_mailonly }}</p> {% if not skip_sogo %} <p><i class="bi bi-file-earmark-post"></i> <a href="/mobileconfig.php">{{ lang.user.email_and_dav }}</a> <small>IMAP, SMTP, Cal/CardDAV</small></p> <p class="text-muted">{{ lang.user.apple_connection_profile_complete }}</p> {% endif %} </div> </div> <div class="row"> <div class="col-md-3 col-12 text-sm-end text-start mb-4"><i class="bi bi-file-earmark-text"></i> {{ lang.user.apple_connection_profile }}<br />{{ lang.user.with_app_password }}:</div> <div class="col-md-9 col-12"> <p><i class="bi bi-file-earmark-post"></i> <a href="/mobileconfig.php?only_email&app_password">{{ lang.user.email }}</a> <small>IMAP, SMTP</small></p> <p class="text-muted">{{ lang.user.apple_connection_profile_mailonly }} {{ lang.user.apple_connection_profile_with_app_password }}</p> {% if not skip_sogo %} <p><i class="bi bi-file-earmark-post"></i> <a href="/mobileconfig.php?app_password">{{ lang.user.email_and_dav }}</a> <small>IMAP, SMTP, Cal/CardDAV</small></p> <p class="text-muted">{{ lang.user.apple_connection_profile_complete }} {{ lang.user.apple_connection_profile_with_app_password }}</p> {% endif %} </div> </div> <hr> <div class="row"> <div class="offset-sm-3 col-sm-9"> {% if mailboxdata.attributes.force_pw_update == '1' %} <div class="alert alert-danger">{{ lang.user.force_pw_update|raw }}</div> {% endif %} <p><a target="_blank" href="https://mailcow.github.io/mailcow-dockerized-docs/client/client/#{{ clientconfigstr }}">[{{ lang.user.client_configuration }}]</a></p> <p><a href="#userFilterModal" data-bs-toggle="modal">[{{ lang.user.show_sieve_filters }}]</a></p> <hr> <h4 class="recent-login-success pull-left">{{ lang.user.recent_successful_connections }}</h4> <div class="dropdown pull-left pull-xs-right"> <button class="btn btn-secondary btn-xs btn-xs-lg dropdown-toggle" type="button" id="history_sasl_days" data-bs-toggle="dropdown">{{ lang.user.login_history }}</button> <ul class="dropdown-menu"> <li class="login-history" data-days="1"><a class="dropdown-item" href="#">1 {{ lang.user.day }}</a></li> <li class="login-history" data-days="7"><a class="dropdown-item active" href="#">1 {{ lang.user.week }}</a></li> <li class="login-history" data-days="14"><a class="dropdown-item" href="#">2 {{ lang.user.weeks }}</a></li> <li class="login-history" data-days="31"><a class="dropdown-item" href="#">1 {{ lang.user.month }}</a></li> </ul> </div> <div class="last-login"></div> <span class="clear-last-logins"> {{ lang.user.clear_recent_successful_connections }} </span> </div> </div> </div> </div> </div>