99
1010from __future__ import annotations
1111
12+ import logging
1213import socket
1314from typing import Callable
1415
2223from mailvalidator .checks .smtp import check_smtp
2324from mailvalidator .checks .spf import check_spf
2425from mailvalidator .checks .tlsrpt import check_tlsrpt
25- from mailvalidator .models import FullReport , MXRecord , SMTPDiagResult
26+ from mailvalidator .models import MailReport , MXRecord , SMTPDiagResult
27+
28+ logger = logging .getLogger ("mailvalidator" )
2629
2730
2831def _resolve_mx_ips (records : list [MXRecord ]) -> list [str ]:
@@ -48,8 +51,9 @@ def assess(
4851 run_smtp : bool = True ,
4952 run_dnssec : bool = True ,
5053 progress_cb : Callable [[str ], None ] | None = None ,
51- ) -> FullReport :
52- """Run all mail server checks for *domain* and return a :class:`~mailvalidator.models.FullReport`.
54+ timeout : float = 5.0 ,
55+ ) -> MailReport :
56+ """Run all mail server checks for *domain* and return a :class:`~mailvalidator.models.MailReport`.
5357
5458 :param domain: The target domain name to assess (e.g. ``"example.com"``).
5559 :param smtp_port: TCP port used for SMTP diagnostics. Defaults to ``25``.
@@ -63,16 +67,17 @@ def assess(
6367 :param progress_cb: Optional callable invoked with a short status string
6468 before each check group. Useful for driving a progress spinner in
6569 the CLI.
66- :returns: Populated :class:`~mailvalidator.models.FullReport`; individual
70+ :param timeout: DNS/network timeout in seconds. Defaults to ``5.0``.
71+ :returns: Populated :class:`~mailvalidator.models.MailReport`; individual
6772 fields are ``None`` when the corresponding check was skipped.
68- :rtype: ~mailvalidator.models.FullReport
73+ :rtype: ~mailvalidator.models.MailReport
6974 """
7075
7176 def _cb (msg : str ) -> None :
7277 if progress_cb :
7378 progress_cb (msg )
7479
75- report = FullReport (domain = domain )
80+ report = MailReport (domain = domain )
7681
7782 _cb ("Checking MX records…" )
7883 report .mx = check_mx (domain )
0 commit comments