C# 如何通过向C中的smtp服务器发送请求来检查现实世界中是否存在电子邮件地址#
向stmp服务器发送请求时,smtp连接出错C# 如何通过向C中的smtp服务器发送请求来检查现实世界中是否存在电子邮件地址#,c#,.net,email,smtp,C#,.net,Email,Smtp,向stmp服务器发送请求时,smtp连接出错 IList<MXServer> list = new List<MXServer>(); foreach (string line in result.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries)) { if (line.Contains("MX preference =") &&
IList<MXServer> list = new List<MXServer>();
foreach (string line in result.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries))
{
if (line.Contains("MX preference =") && line.Contains("mail exchanger ="))
{
MXServer mxServer = new MXServer();
mxServer.Preference = Int(GetStringBetween(line, "MX preference = ", ","));
mxServer.MailExchanger = GetStringFrom(line, "mail exchanger = ");
list.Add(mxServer);
}
}
IList list=new list();
foreach(result.Split中的字符串行(新字符串[]{Environment.NewLine},StringSplitOptions.RemoveEmptyEntries))
{
if(line.Contains(“MX preference=”)&&line.Contains(“邮件交换器=”))
{
MXServer MXServer=新的MXServer();
mxServer.Preference=Int(GetStringBetween(第行,“MX Preference=”,“,”);
mxServer.MailExchanger=GetStringFrom(第行,“mail exchanger=”);
添加(mxServer);
}
}
通过使用SMTP,您可以询问服务器是否有用户。SMTP是一种基于文本的协议。但有一些要点:
PTR
)记录SPF
记录VRFY
C: MAIL FROM:<mail@samlogic.com>
S: 250 OK
C: RCPT TO:<john@mail.com>
S: 250 OK
C: RCPT TO:<peggy@mail.com>
S: 250 OK
C:MAIL-FROM:
S:250好的
C:RCPT至:
S:250好的
C:RCPT至:
S:250好的
基本上,如果您得到
250…
回答RCPT TO
命令,电子邮件地址就可以了。然后您可以中止连接。标准方法是,向他们发送一封带有时间相关令牌的电子邮件,并让他们通过web请求进行验证。想想看,你最后一次填写表格时,表格上写着:“对不起,这不是你的真实电子邮件地址,你撒谎了!”!您的实现应该更多地围绕“验证电子邮件地址”?一旦用户提供了一个。