Drupal Consultant
Started my career as a drupal8 developer in EM Solutions . I love learning Web technologies like HTML, CSS, PHP, Jquery Ajax and Drupal backend . Currently working as a drupal backend developer.
Việc kiểm tra một email có tồn tại hay không (hoặc chưa được đăng ký) có thể được kiểm tra ở một số trang web hỗ trợ verify email. Nhưng đa số những website này chỉ hỗ trợ kiểm tra một email. Vậy để kiểm tra một lúc nhiều email thì làm thế nào. Bài viết này sẽ giúp bạn thực hiện việc đó dựa trên việc kiểm tra và lấy kết quả từ website verify email với ngôn ngữ lập trình C#.
1. Giới thiệu về các website dùng để xác minh email
- http://verify-email.org/ : Trang này cho phép người dùng nhập 1 địa chỉ email vào để xác minh địa chỉ email đó có hợp lệ hoặc tồn tại hay không. Nếu địa chỉ email nhập vào tồn tại nó sẽ có thông báo “Result: OK”
- http://www.email-unlimited.com/tools/verify-email.aspx : trang này sử dụng tương tự trang trên
- http://www.verifyemailaddress.org/ : cũng tương tự 2 trang trên.
2. Giới thiệu về cách thức hoạt động của chương trình
- Chương trình sẽ xây dựng trong bài viết này viết trên ngôn ngữ C# tiến hành gởi các địa chỉ email đến trang http://verify-email.org/ để tiến hành xác minh sau đó kiểm tra kết quả nằm trong trang trả về có giá trị là “Result: OK” hay không?
- Sử dụng thêm các khai báo using:
using System.Net; using System.Collections.Specialized; using System.Text.RegularExpressions;
- Dưới đây là đoạn code xử lý việc xác minh địa chỉ email:
public bool VerifyEmail(string emailVerify) { using (WebClient webclient = new WebClient()) { string url = "http://verify-email.org/"; NameValueCollection formData = new NameValueCollection(); formData["check"] = emailVerify; byte[] responseBytes = webclient.UploadValues(url, "POST", formData); string response = Encoding.ASCII.GetString(responseBytes); if (response.Contains("Result: Ok")) { return true; } return false; } }
Đoạn code trên trả về true nếu trang trả về có chứa chuỗi “Result: OK” và ngược lại trả về false.
3. Source code chương trình Verify Email
- Chương trình Verify Email được viết khá đơn giản có giao diện thiết kế như sau:
- Source code C#
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Net; using System.Collections.Specialized; using System.Text.RegularExpressions; namespace Email_Exist { public partial class Form1 : Form { public Form1() { InitializeComponent(); lvwEmail.Columns.Add("Email", 200); lvwEmail.Columns.Add("Exits", 50); lvwEmail.View = View.Details; this.MaximizeBox = false; this.StartPosition = FormStartPosition.CenterScreen; } public bool VerifyEmail(string emailVerify) { using (WebClient webclient = new WebClient()) { string url = "http://verify-email.org/"; NameValueCollection formData = new NameValueCollection(); formData["check"] = emailVerify; byte[] responseBytes = webclient.UploadValues(url, "POST", formData); string response = Encoding.ASCII.GetString(responseBytes); if (response.Contains("Result: Ok")) { return true; } return false; } } private void btnCheckEmail_Click(object sender, EventArgs e) { progressBar1.TabIndex = 0; this.progressBar1.Minimum = 1; this.progressBar1.Step = 1; string input = rtbxEmail.Text; string pattern = "\n"; string[] emails = Regex.Split(input, pattern); progressBar1.Maximum = emails.Length + 1; lvwEmail.Items.Clear(); for (int i = 0; i < emails.Length; i++) { ListViewItem itemp = new ListViewItem(emails[i]); bool check = VerifyEmail(emails[i]); if (check == true) { ListViewItem.ListViewSubItem subItem = new ListViewItem.ListViewSubItem(itemp, "Yes"); itemp.SubItems.Add(subItem); } else { ListViewItem.ListViewSubItem subItem = new ListViewItem.ListViewSubItem(itemp, "No"); itemp.SubItems.Add(subItem); } lvwEmail.Items.Add(itemp); progressBar1.PerformStep(); } } private void linkToMyBlog_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { System.Diagnostics.Process.Start(linkToMyBlog.Text); } } }
4. Thực thi chương trình và link download source code chương trình verify email
- Bạn nhập địa chỉ email cần kiểm tra vào ô Emails sau đó click vào button Check. Chờ một tý chương trình sẽ kiểm tra và trả về kết quả ở listView kế bên. Nếu địa chỉ email là đúng thì trả về yes, ngược lại trả về no.
- Lưu ý chương trình chỉ cho kết quả đúng nếu số địa chỉ email nhập vào nhỏ hơn 20. Và 1 giờ chỉ kiểm tra được 20 địa chỉ email do trang http://verify-email.org/ quy định. Vì khi chạy chương trình mình đã test nhiều lần trong một địa chỉ email nên hình bên trên trả về kết quả là “no”.