selectMXServerAddress method
Implementation
InternetAddress selectMXServerAddress(List<MXRecord> mxRecords) {
if (mxRecords.isEmpty) {
throw ArgumentError('MX records list cannot be empty');
}
mxRecords.sort();
// Find the lowest preference value
final lowestPref = mxRecords.first.preference;
// Filter MX records with the lowest preference
final bestServers = mxRecords
.where((r) => r.preference == lowestPref)
.toList();
// Randomly select one for load balancing
final selected = bestServers[Random().nextInt(bestServers.length)];
return selected.address;
}