I tried to change the first expect to ^220 ([^ ]+) ESMTP$. But I'm not sure if the change is acceptable from blackbox's view.
smtp_starttls:
prober: tcp
timeout: 20s
tcp:
query_response:
#- expect: "^220 ([^ ]+) ESMTP (.+)$"
- expect: "^220 ([^ ]+) ESMTP$"
send: "EHLO prober\r"
- expect: "^250-STARTTLS"
- expect: "^250 .*$"
send: "STARTTLS\r"
- expect: "^220"
starttls: true
- send: "EHLO prober\r"
- expect: "^250 .*$"
send: "QUIT\r"
Curled and got the following error. Does it mean the mail server doesn't contain any IP SANs? And on mail server certificate cannot be validated?
ts=2022-07-05T04:18:10.539326118Z caller=main.go:130 module=smtp_starttls target=
1.1.1.1:25 level=error msg="TLS Handshake (client) failed" err="x509: cannot validate certificate for 1.1.1.1 because it doesn't contain any IP SANs"
ts=2022-07-05T04:18:10.527958378Z caller=main.go:320 module=smtp_starttls target=
1.1.1.1:25 level=info msg="Beginning probe" probe=tcp timeout_seconds=20
ts=2022-07-05T04:18:10.528040568Z caller=tcp.go:40 module=smtp_starttls target=
1.1.1.1:25 level=info msg="Resolving target address" ip_protocol=ip6
ts=2022-07-05T04:18:10.528063021Z caller=tcp.go:40 module=smtp_starttls target=
1.1.1.1:25 level=info msg="Resolving target address" ip_protocol=ip4
ts=2022-07-05T04:18:10.528076698Z caller=tcp.go:40 module=smtp_starttls target=
1.1.1.1:25 level=info msg="Resolved target address" ip=1.1.1.1
ts=2022-07-05T04:18:10.528115109Z caller=tcp.go:121 module=smtp_starttls target=
1.1.1.1:25 level=info msg="Dialing TCP without TLS"
ts=2022-07-05T04:18:10.529223463Z caller=main.go:130 module=smtp_starttls target=
1.1.1.1:25 level=info msg="Successfully dialed"
ts=2022-07-05T04:18:10.529258037Z caller=main.go:130 module=smtp_starttls target=
1.1.1.1:25 level=info msg="Processing query response entry" entry_number=0
ts=2022-07-05T04:18:10.530236839Z caller=main.go:130 module=smtp_starttls target=
1.1.1.1:25 level=debug msg="Read line" line="220
mail.com ESMTP"
ts=2022-07-05T04:18:10.530278493Z caller=main.go:130 module=smtp_starttls target=
1.1.1.1:25 level=info msg="Regexp matched" regexp="^220 ([^ ]+) ESMTP$" line="220
mail.com ESMTP"
ts=2022-07-05T04:18:10.53030557Z caller=main.go:130 module=smtp_starttls target=
1.1.1.1:25 level=debug msg="Sending line" line="EHLO prober\r"
ts=2022-07-05T04:18:10.530348868Z caller=main.go:130 module=smtp_starttls target=
1.1.1.1:25 level=info msg="Processing query response entry" entry_number=1
ts=2022-07-05T04:18:10.530919204Z caller=main.go:130 module=smtp_starttls target=
1.1.1.1:25 level=debug msg="Read line" line=
250-mail.comts=2022-07-05T04:18:10.530955761Z caller=main.go:130 module=smtp_starttls target=
1.1.1.1:25 level=debug msg="Read line" line=250-PIPELINING
ts=2022-07-05T04:18:10.530971243Z caller=main.go:130 module=smtp_starttls target=
1.1.1.1:25 level=debug msg="Read line" line="250-SIZE 10240000"
ts=2022-07-05T04:18:10.530985701Z caller=main.go:130 module=smtp_starttls target=
1.1.1.1:25 level=debug msg="Read line" line=250-ETRN
ts=2022-07-05T04:18:10.531006196Z caller=main.go:130 module=smtp_starttls target=
1.1.1.1:25 level=debug msg="Read line" line=250-STARTTLS
ts=2022-07-05T04:18:10.531025088Z caller=main.go:130 module=smtp_starttls target=
1.1.1.1:25 level=info msg="Regexp matched" regexp=^250-STARTTLS line=250-STARTTLS
ts=2022-07-05T04:18:10.531045174Z caller=main.go:130 module=smtp_starttls target=
1.1.1.1:25 level=info msg="Processing query response entry" entry_number=2
ts=2022-07-05T04:18:10.531064549Z caller=main.go:130 module=smtp_starttls target=
1.1.1.1:25 level=debug msg="Read line" line="250-AUTH PLAIN LOGIN"
ts=2022-07-05T04:18:10.531077325Z caller=main.go:130 module=smtp_starttls target=
1.1.1.1:25 level=debug msg="Read line" line=250-ENHANCEDSTATUSCODES
ts=2022-07-05T04:18:10.531088466Z caller=main.go:130 module=smtp_starttls target=
1.1.1.1:25 level=debug msg="Read line" line=250-8BITMIME
ts=2022-07-05T04:18:10.53110099Z caller=main.go:130 module=smtp_starttls target=
1.1.1.1:25 level=debug msg="Read line" line="250 DSN"
ts=2022-07-05T04:18:10.531134286Z caller=main.go:130 module=smtp_starttls target=
1.1.1.1:25 level=info msg="Regexp matched" regexp="^250 .*$" line="250 DSN"
ts=2022-07-05T04:18:10.531186418Z caller=main.go:130 module=smtp_starttls target=
1.1.1.1:25 level=debug msg="Sending line" line="STARTTLS\r"
ts=2022-07-05T04:18:10.531234743Z caller=main.go:130 module=smtp_starttls target=
1.1.1.1:25 level=info msg="Processing query response entry" entry_number=3
ts=2022-07-05T04:18:10.531762621Z caller=main.go:130 module=smtp_starttls target=
1.1.1.1:25 level=debug msg="Read line" line="220 2.0.0 Ready to start TLS"
ts=2022-07-05T04:18:10.531779841Z caller=main.go:130 module=smtp_starttls target=
1.1.1.1:25 level=info msg="Regexp matched" regexp=^220 line="220 2.0.0 Ready to start TLS"
ts=2022-07-05T04:18:10.539326118Z caller=main.go:130 module=smtp_starttls target=
1.1.1.1:25 level=error msg="TLS Handshake (client) failed" err="x509: cannot validate certificate for 1.1.1.1 because it doesn't contain any IP SANs"
ts=2022-07-05T04:18:10.53937693Z caller=main.go:320 module=smtp_starttls target=
1.1.1.1:25 level=error msg="Probe failed" duration_seconds=0.011375261