PoshCode Archive  Artifact [d61fd7800a]

Artifact d61fd7800a4fae24b8980af820936d4d3fcc94e191c82ae4be63288efbebff68:

  • File Get-MX.ps1 — part of check-in [da7886329c] at 2018-06-10 13:59:00 on branch trunk — Returns the priority mail server (SMTP) to send email directly to the SMTP server of a particular domain/email address. Uses NetCmdlets (get-dns). (user: irvingriveramx size: 1119)

# encoding: ascii
# api: powershell
# title: Get-MX
# description: Returns the priority mail server (SMTP) to send email directly to the SMTP server of a particular domain/email address.  Uses NetCmdlets (get-dns).
# version: 0.1
# type: function
# author: irvingriveramx
# license: CC0
# function: Get-MX
# x-poshcode-id: 5673
# x-archived: 2015-01-15T20:02:47
# x-published: 2015-01-08T16:51:00
#
#
#Returns the priority mail server (SMTP) for a particular email address.
function Get-MX {
param([string] $domain = $( Throw "Query required in the format domain.com or email@domain.com.") )
	
	#rip domain out of full email address if necessary:
	if ($domain.IndexOf("@")) { $domain = $domain.SubString($domain.IndexOf("@")+1) } 
	  	
  #get all the MX records for this domain, sorted by descending preference 
  $mxrecords = @(get-dns $domain -type MX | sort-object -Property PREFERENCE -des)
  
  #verify that there are some records
  if ($mxrecords.Length -eq 0) { Throw "No records found." }
  	
  #The correct record is the one with the lowest preference:
  $mxrecords[0].EXCHANGE
}