feat(PROJ-28): FQDN + smtp_out Konfiguration
- config: server.fqdn, SMTPOutConfig, smtp_out Abschnitt - config: IMAPServerConfig.FQDN (runtime-gesetzt) - main: FQDN-Fallback für SMTP EHLO, FQDN an IMAP-Server - imapserver: Greeting nutzt server.fqdn (RFC 3501) - smtpd/imapserver Modulversion 1.3 fix: Superadmin sieht keine Suche/IMAP/POP3 Nav-Links - Navbar: Suche, IMAP Import, POP3 Import nur für non-superadmin - Superadmin landet direkt auf Admin-Dashboard Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -209,6 +209,7 @@ func main() {
|
||||
|
||||
// PROJ-26: IMAP Archive Server (read-only access for IMAP clients)
|
||||
if cfg.IMAPServer.Enabled {
|
||||
cfg.IMAPServer.FQDN = cfg.Server.FQDN
|
||||
imapSrv := imapserver.New(cfg.IMAPServer, mailStore, users, labelSt, audlog, authMgr, logger, tenantSt)
|
||||
if err := imapSrv.Start(); err != nil {
|
||||
logger.Error("IMAP server failed to start", "err", err)
|
||||
@@ -226,6 +227,10 @@ func main() {
|
||||
if cfg.SMTP.Bind == "" {
|
||||
cfg.SMTP.Bind = fmt.Sprintf(":%d", cfg.Server.SMTPPort)
|
||||
}
|
||||
// PROJ-28: FQDN fallback for SMTP EHLO banner
|
||||
if cfg.SMTP.Domain == "" && cfg.Server.FQDN != "" {
|
||||
cfg.SMTP.Domain = cfg.Server.FQDN
|
||||
}
|
||||
smtpDaemon := smtpd.New(cfg.SMTP, mailStore, logger)
|
||||
smtpDaemon.SetIndexCallback(func(raw []byte, id string) {
|
||||
// Look up the tenant_id for this email from DB metadata.
|
||||
|
||||
@@ -13,8 +13,8 @@ const AppVersion = "0.9.1"
|
||||
// MINOR: Neue Funktionen, Bugfixes, Security-Patches
|
||||
var Modules = map[string]string{
|
||||
"storage": "1.7", // PROJ-33 MailWithUID, GetMailsWithUID, GetMailsByRecipient
|
||||
"smtpd": "1.2", // IP-Allowlist fail-closed, Domain→Tenant-Routing
|
||||
"imapserver": "1.2", // PROJ-33 UID-Stabilität, shared/personal IMAP-Modus
|
||||
"smtpd": "1.3", // PROJ-28 FQDN-Fallback für EHLO-Banner
|
||||
"imapserver": "1.3", // PROJ-28 FQDN-Greeting (RFC 3501)
|
||||
"auth": "1.3", // JWT, bcrypt cost 12, TOTP
|
||||
"audit": "1.1", // PostgreSQL append-only, QueryFilter
|
||||
"index": "1.0", // Xapian-Wrapper, Async-Worker, Tenant-Index
|
||||
|
||||
Reference in New Issue
Block a user