49 lines
826 B
Markdown
49 lines
826 B
Markdown
# MailChecker
|
|
|
|
## Requirement
|
|
- swipl: SWI-Prolog version 9.2.3 for x86_64-linux
|
|
- npm: 10.5.2
|
|
- nodejs: v18.18.2
|
|
|
|
## How to run it
|
|
``` shell
|
|
npm install
|
|
npm start
|
|
```
|
|
then visit localhost:3000
|
|
|
|
## Example input
|
|
```
|
|
google.com
|
|
renge.io
|
|
gmail.com
|
|
outlook.com
|
|
cs.stonybrook.edu
|
|
```
|
|
|
|
## Expected result
|
|
```
|
|
a:
|
|
[
|
|
"1.1.1.1" //list of IPs the input domain pointed to
|
|
]
|
|
mx:
|
|
[
|
|
//list of mx domain and priority that the domain points to
|
|
{
|
|
"exchange": "example.com",
|
|
"priority": 10
|
|
}
|
|
]
|
|
spf:
|
|
{
|
|
"spf": "v=spf1 mx -all", //spf record of the domain
|
|
"allowedIP4": [
|
|
"1.1.1.1" //lists of ipv4 ips that is allowed to send email from this domain
|
|
],
|
|
"allowedIP6": [
|
|
"2001:4860:4000::/36" //lists of ipv6 ips that is allowed to send email from this domain
|
|
]
|
|
}
|
|
```
|