Yêu cầu thg 7 31, 2020 9:34 SA 721 0 5
  • 721 0 5
0

Làm thế nào để kiểm tra mail là thật hay giả?

Chia sẻ
  • 721 0 5

Cho mình hỏi có cách nào check email là thật hay ko nhỉ, mình thử check qua api mà toàn tính phí. Cảm ơn mọi người trước

Avatar Tran Duc Thang @thangtd90
thg 7 31, 2020 1:36 CH

Cụ thể là bạn muốn check xem một email có tồn tại hay không, ví dụ như abc@gmail.com , xyz@outlook.com

hay là email có phải thuộc dạng disposable như yopmail, mailinator, fakeinbox ... hay không nhỉ 🤔

thg 8 1, 2020 1:32 SA

@thangtd90 Em muốn check mai có tồn tại hay ko ạ

Avatar Tran Duc Thang @thangtd90
thg 8 2, 2020 10:18 SA

@thanhtungs Nếu chỉ cần check mail có tồn tại hay không thì bạn có thể implement bằng cách gửi mail verification đến địa chỉ của users, bắt users phải verify thì mới cho sử dụng chẳng hạn 😄

thg 8 4, 2020 4:01 SA

@thangtd90 Như vậy thì có chậm request ko ạ, vì em cần check rất nhiều email trong 1 ngày có thể vài nghìn user email ạ, dù sao cũng cảm ơn anh ạ

Avatar Hinora @hinora
thg 8 14, 2020 10:27 SA

@thanhtungs sử dụng dịch vụ gửi mail của bên thứ 3 thì sẽ nhanh nhé bạn

thg 8 14, 2020 11:48 SA

@hinora Cảm ơn bác, để em thử

5 CÂU TRẢ LỜI


Đã trả lời thg 8 2, 2020 8:54 SA
+5

Theo mình thì không có cách kiểm tra chính xác 100% đâu bạn ạ.
Chỉ có 1 cách check là dùng mail domain và sử dụng ping dns để kiểm tra xem domain đó có đăng ký các record như A, MX, AAAA(IPv6) hay không.
Nếu trả về true, tức là có các email đi theo domain đó.
Nói dễ hiểu hơn, ví dụ như có 1 cái mail là aaaaaaaaaaaaaa@sun.com
Thì bạn chỉ có thể check đc vế sau là "sun.com" xem nó có tồn tại mail nào hay không, còn theo mình ko có cách nào có thể check được "aaaaaaaaaaaaaa" là có tồn tại hay không đâu. (impossible)

Ở PHP bạn có thể thử cách này, ngày trược mình có dùng cách này.

function isRealEmail() {
        $pattern = '/@([\w.-]++)\z/';
        return filter_var($value, FILTER_VALIDATE_EMAIL) &&
            preg_match($pattern, $value, $matches) &&
            (checkdnsrr($matches[1], 'MX') || checkdnsrr($matches[1], 'A') || checkdnsrr($matches[1], 'AAAA'));
}

Hy vọng là có ích cho bạn.

Chia sẻ
Avatar Ngân Kim @ngankim
thg 8 2, 2020 9:01 SA

Thank bac, dung cai em dang tim

thg 8 4, 2020 4:04 SA

Cảm ơn bác nhé. Để mình thử xem

Đã trả lời thg 8 1, 2020 9:53 SA
+1

Đơn giản thì cứ gửi về verification code hoặc link như nhiều trang hay làm.

Chia sẻ
Đã trả lời thg 7 31, 2020 9:35 SA
0

Mình thấy có 1 vài cách cơ mà ko dám dùng, vì sợ lộ mail cho bên thứ 3 bán info.

Nếu login, thì theo mình lên dùng luôn cơ chế login google

Chia sẻ
thg 8 1, 2020 1:57 SA

Chỉ kiểm tra mail nhập là mail thật hay giả để tránh spam thôi bác

Đã trả lời thg 8 4, 2020 9:59 SA
0

Hãy làm quen với việc trả phí 😃, vì hầu hết chúng là cách tốt nhất <ko tốt thì chẳng ai chịu trả phí nuôi nó cả> Suy nghĩ, mò mẫm cách giải quyết hết 2-3 ngày hay 1 tuần, quy ra lương hoặc giờ công thì cũng quá tiền phí dịch vụ rồi.

Chia sẻ
thg 8 4, 2020 10:02 SA

Công ty muốn free hết mức có thể bác ơi =))

Avatar TAMIX @tuananhbfs
thg 8 4, 2020 10:04 SA

Công ty mình cũng thế. Nhưng mình có thể trao đổi và thuyết phục dc sếp <nếu việc này nên làm, tiết kiệm và có ích> . 😄

Đã trả lời thg 6 16, 2022 6:10 SA
0

Bác cho em xin mấy con api mất phí với.

Chia sẻ
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí