Improve Format HELO/EHLO Name

- [+] feat(email.go): add formatHeloName function to format HELO identifier and update getHeloName to use it
This commit is contained in:
H0llyW00dzZ 2025-04-14 15:42:54 +07:00
parent f35d9ace06
commit e83d5a0695
No known key found for this signature in database
GPG Key ID: A0F9424A7002343A

View File

@ -16,20 +16,28 @@ func shouldAuth() bool {
return config.SMTPAccount != "" || config.SMTPToken != ""
}
// formatHeloName formats a string to be HELO compatible:
// - Converts to lowercase (for English compatibility)
// - Replaces spaces with hyphens
func formatHeloName(name string) string {
// Convert to lowercase and replace spaces with hyphens
return strings.ReplaceAll(strings.ToLower(name), " ", "-")
}
// getHeloName returns a HELO identifier combining system name and pod name
func getHeloName() string {
// Get pod name from environment (Kubernetes sets this automatically)
podName := os.Getenv("HOSTNAME")
// Create a HELO-compatible string (replace spaces with hyphens)
systemName := strings.ReplaceAll(config.SystemName, " ", "-")
// Format the system name to be HELO compatible
formattedName := formatHeloName(config.SystemName)
if podName != "" {
return fmt.Sprintf("%s-%s", systemName, podName)
return fmt.Sprintf("%s-%s", formattedName, podName)
}
// Fallback if not running in Kubernetes
return systemName
return formattedName
}
// SendEmail sends an email with the given subject, receiver, and content