Managed C++/CLI ExampleValidate Email Address Syntax
Regular expression can be used to validate if an email address is in correct format. For example: you can use this "^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,6}$" pattern to verify if the email address has valid format.
Test Email Address
Even the email address has a valid format, it doesn't mean the email address is existed in real world. TestRecipients method can be used to test if the email address is valid.
How does it work? Firstly, SmtpClient performs a DNS MX record query. If it retrieves the recipient's local SMTP server successfully, SmtpClient will try to connect to this server. SmtpClient then performs "RCPT TO" command to test if this SMTP server accepts this email address.
// The following example codes demonstrate testing email address using DNS lookup
// To get full sample projects, please download and install EASendMail on your machine.
// To run it correctly, please change SMTP server, user, password, sender, recipient value to yours
#include "stdafx.h"
using namespace System;
using namespace EASendMail;
int main(array<System::String ^> ^args)
{
SmtpMail ^oMail = gcnew SmtpMail("TryIt");
SmtpClient ^oSmtp = gcnew SmtpClient();
// Set sender email address, please change it to yours
oMail->From = "test@emailarchitect.net";
// Set recipient email address, please change it to yours
oMail->To = "support@emailarchitect.net";
// Do not set SMTP server address
SmtpServer ^oServer = gcnew SmtpServer("");
try
{
Console::WriteLine("start to test email address from Managed C++...");
oSmtp->TestRecipients(oServer, oMail);
Console::WriteLine("email address was verified!");
}
catch (Exception ^ep)
{
Console::WriteLine("failed to test email address with the following error:");
Console::WriteLine(ep->Message);
}
return 0;
}
Click here to read original topic - full version ... If you have any comments or questions about above example codes, please add your comments here.
Edited by user
14 years ago
|
Reason: Not specified