Billionmail/BillionMail · error
Postfix service 'postfix-billionmail' configuration does not
Error message
Postfix service 'postfix-billionmail' configuration does not exist
What it means
Type assertion guard in rebuildPostfixServiceNetworks1: the services map was found, but the value under 'postfix-billionmail' is not a map[string]interface{} (either absent or a scalar/sequence). The Postfix service configuration needed for network rewriting therefore does not exist in usable form.
Source
Thrown at core/internal/service/multi_ip_domain/config_manager.go:616
}
customNet["ipam"] = ipamConfig
networks[networkName] = customNet
}
return nil
}
// rebuildPostfixServiceNetworks Rebuild network configuration for Postfix service
func (m *ConfigManager) rebuildPostfixServiceNetworks1(dockerConfig map[string]interface{}, configs []map[string]interface{}) error {
services, ok := dockerConfig["services"].(map[string]interface{})
if !ok {
return fmt.Errorf("missing 'services' section in docker-compose.yml")
}
postfixService, ok := services["postfix-billionmail"].(map[string]interface{})
if !ok {
return fmt.Errorf("Postfix service 'postfix-billionmail' configuration does not exist")
}
// Create a new network mapping, starting with the default network
newNetworks := map[string]interface{}{
"billionmail-network": map[string]interface{}{
"aliases": []string{"postfix"},
},
}
// Add all active custom networks
for _, config := range configs {
networkName := gconv.String(config["network_name"])
postfixIP := gconv.String(config["postfix_ip"])
alias := gconv.String(config["aliases"])
if networkName == "" || postfixIP == "" || alias == "" {
continue
}View on GitHub (pinned to fc36c76c05)
Solutions
- Confirm the compose file defines postfix-billionmail as a proper service mapping (not null or a list item)
- Restore the service definition from a known-good compose template
- Guard the lookup with a descriptive error that includes the actual type found
Defensive patterns
Strategy: type-guard
When it happens
Trigger: Thrown at core/internal/service/multi_ip_domain/config_manager.go:616 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of Billionmail/BillionMail@fc36c76c05 (2026-09-05).
Data as JSON: /api/errors/62ae48f369c92fcc.
Report an issue: GitHub.