reacherhq / check-if-email-exists

Check if an email address exists without sending any email, written in Rust. Comes with a ⚙️ HTTP backend.
https://reacher.email
Other
4.28k stars 327 forks source link

yahoo API error sometimes #1308

Open Nyceane opened 1 year ago

Nyceane commented 1 year ago

Email Provider

yahoo

Version of check-if-email-exists (if running it yourself)

docker latest

What happened?

I am getting this yahoo error sometimes, below is the error log from the docker log

Relevant log output

CheckEmailOutput {
    input: "***@yahoo.com",
    is_reachable: Unknown,
    misc: Ok(
        MiscDetails {
            is_disposable: false,
            is_role_account: false,
        },
    ),
    mx: Ok(
        MxDetails {
            lookup: Ok(
                MxLookup(
                    Lookup {
                        query: Query {
                            name: Name {
                                is_fqdn: false,
                                label_data: [
                                    121,
                                    97,
                                    104,
                                    111,
                                    111,
                                    99,
                                    111,
                                    109,
                                ],
                                label_ends: [
                                    5,
                                    8,
                                ],
                            },
                            query_type: MX,
                            query_class: IN,
                        },
                        records: [
                            Record {
                                name_labels: Name {
                                    is_fqdn: true,
                                    label_data: [
                                        121,
                                        97,
                                        104,
                                        111,
                                        111,
                                        99,
                                        111,
                                        109,
                                    ],
                                    label_ends: [
                                        5,
                                        8,
                                    ],
                                },
                                rr_type: MX,
                                dns_class: IN,
                                ttl: 300,
                                rdata: MX(
                                    MX {
                                        preference: 1,
                                        exchange: Name {
                                            is_fqdn: true,
                                            label_data: [
                                                109,
                                                116,
                                                97,
                                                55,
                                                97,
                                                109,
                                                48,
                                                121,
                                                97,
                                                104,
                                                111,
                                                111,
                                                100,
                                                110,
                                                115,
                                                110,
                                                101,
                                                116,
                                            ],
                                            label_ends: [
                                                4,
                                                7,
                                                15,
                                                18,
                                            ],
                                        },
                                    },
                                ),
                            },
                            Record {
                                name_labels: Name {
                                    is_fqdn: true,
                                    label_data: [
                                        121,
                                        97,
                                        104,
                                        111,
                                        111,
                                        99,
                                        111,
                                        109,
                                    ],
                                    label_ends: [
                                        5,
                                        8,
                                    ],
                                },
                                rr_type: MX,
                                dns_class: IN,
                                ttl: 300,
                                rdata: MX(
                                    MX {
                                        preference: 1,
                                        exchange: Name {
                                            is_fqdn: true,
                                            label_data: [
                                                109,
                                                116,
                                                97,
                                                53,
                                                97,
                                                109,
                                                48,
                                                121,
                                                97,
                                                104,
                                                111,
                                                111,
                                                100,
                                                110,
                                                115,
                                                110,
                                                101,
                                                116,
                                            ],
                                            label_ends: [
                                                4,
                                                7,
                                                15,
                                                18,
                                            ],
                                        },
                                    },
                                ),
                            },
                            Record {
                                name_labels: Name {
                                    is_fqdn: true,
                                    label_data: [
                                        121,
                                        97,
                                        104,
                                        111,
                                        111,
                                        99,
                                        111,
                                        109,
                                    ],
                                    label_ends: [
                                        5,
                                        8,
                                    ],
                                },
                                rr_type: MX,
                                dns_class: IN,
                                ttl: 300,
                                rdata: MX(
                                    MX {
                                        preference: 1,
                                        exchange: Name {
                                            is_fqdn: true,
                                            label_data: [
                                                109,
                                                116,
                                                97,
                                                54,
                                                97,
                                                109,
                                                48,
                                                121,
                                                97,
                                                104,
                                                111,
                                                111,
                                                100,
                                                110,
                                                115,
                                                110,
                                                101,
                                                116,
                                            ],
                                            label_ends: [
                                                4,
                                                7,
                                                15,
                                                18,
                                            ],
                                        },
                                    },
                                ),
                            },
                        ],
                        valid_until: Instant {
                            tv_sec: 5389820,
                            tv_nsec: 68210681,
                        },
                    },
                ),
            ),
        },
    ),
    smtp: Err(
        YahooError(
            ReqwestError(
                reqwest::Error {
                    kind: Decode,
                    source: Error("missing field `errors`", line: 1, column: 2),
                },
            ),
        ),
    ),
    syntax: SyntaxDetails {
        address: Some(
            EmailAddress(
                "***@yahoo.com",
            ),
        ),
        domain: "yahoo.com",
        is_valid_syntax: true,
        username: "***",
    },
}
OisCircle commented 1 year ago

The request body miss field sessionIndex when call yahoo api i guess. In my study.

itsmariush commented 1 year ago

This request body worked for me acrumb=2jYhvrg2&sessionIndex=QQ--&userId=testuser. Update: I created a pull request with a fix. #1314

amaury1093 commented 10 months ago

It seems like it's not working again, probably Yahoo changed their API. Opening again.