-
-
Save ciaranmahoney/414ad3252212f37c48652a8fb724d89f to your computer and use it in GitHub Desktop.
function MXLookup(domain) { | |
try { | |
var url = "https://dns.google.com/resolve?name=%FQDN%&type=MX".replace("%FQDN%",domain); | |
//var url = "https://dns.google.com/resolve?name=e-mercy.com&type=MX"; // USED FOR TESTING ONLY | |
Utilities.sleep(100); | |
var result = UrlFetchApp.fetch(url,{muteHttpExceptions:true}); | |
var rc = result.getResponseCode(); | |
var response = JSON.parse(result.getContentText()); | |
if (rc !== 200) { | |
throw new Error( response.message ); | |
} | |
if (response.Answer[0].data == null) { | |
var mxRaw = response.Authority[0].data; | |
} else { | |
var mxRaw = response.Answer[0].data; | |
} | |
var mx = mxRaw.toLowerCase(); | |
if (mx.indexOf("google.com") >= 0 || mx.indexOf("googlemail.com") >= 0) { | |
var emailProvider = "Google Apps"; | |
} | |
else if (mx.indexOf("outlook.com") >= 0) { | |
var emailProvider = "Office 365"; | |
} | |
else emailProvider = "Other"; | |
return emailProvider; | |
} | |
catch (e) { | |
return "ERROR"; | |
} | |
} | |
function MXLookupArray(input) { | |
if (input.map) { | |
return input.map(MXLookup); | |
} else { | |
try { | |
var url = "https://dns.google.com/resolve?name=%FQDN%&type=MX".replace("%FQDN%",domain); | |
//var url = "https://dns.google.com/resolve?name=e-mercy.com&type=MX"; // USED FOR TESTING ONLY | |
var result = UrlFetchApp.fetch(url,{muteHttpExceptions:true}); | |
var rc = result.getResponseCode(); | |
var response = JSON.parse(result.getContentText()); | |
if (rc !== 200) { | |
throw new Error( response.message ); | |
} | |
if (response.Answer[0].data == null) { | |
var mxRaw = response.Authority[0].data; | |
} else { | |
var mxRaw = response.Answer[0].data; | |
} | |
var mx = mxRaw.toLowerCase(); | |
if (mx.indexOf("google.com") >= 0 || mx.indexOf("googlemail.com") >= 0) { | |
var emailProvider = "Google Apps"; | |
} | |
else if (mx.indexOf("outlook.com") >= 0) { | |
var emailProvider = "Office 365"; | |
} | |
else emailProvider = "Other"; | |
return emailProvider; | |
} | |
catch (e) { | |
return "ERROR"; | |
} | |
} | |
} |
Hi,
I have found this tool to be very helpful as well. However, today I am only receiving an "ERROR" response even when it is looking up domains that I know are either Google or Office etc. Can anyone help with this? Thanks.
Incredible.
works perfectly
How can I find new codes for google sheet for network functions, pint, tracert, whois, nslookup, among others
It works perfectly, thanks a lot.
I added some providers in the script (yahoo, comcast, proofpoint...) and it's perfect.
Perfect! Thank you so so much!
Thanks for this script.
It helped me a lot.
I made some changes to it to be able to get A record and NS record for a domain.
5 Starts ๐
Thanks for this script. It helped me a lot. I made some changes to it to be able to get A record and NS record for a domain.
5 Starts ๐
Link?
@Jrosales2019 At Row 75: instead of
return emailProvider;
just usereturn mx;