我用C#制作了一个邮件群发系统,但其中不能验证地址的正确性和是否存在,求高手帮助,最好能帮我详细解答

 我来答
lzh3452
2013-05-26
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
地址正确性要根据你的需求来确定究竟什么样的是符合规则的邮件地址,一般的地址并没有特别的要求,@之前可以包含“-”、“_”、“.”这三个特殊字符,但不能全为特殊字符,也不能以特殊字符开始或结束,@之后为域名一般都是字母和“.”组合,同样不能以“.”开始或结束。那么大体上的规则就变成如下正则:
“^[a-zA-Z0-9]+?([-_\.][a-zA-Z0-9]+?)*?@[a-zA-Z]+?(\.[a-zA-Z]+?)*$”
意思是地址可以以字母或数字开头,后面如果包含特殊字符,则在后面一定包含字母或数字,如果不包含特殊字符,则全为字母或数字。域名可以以字母开头,后面如果包含“.”,则在后面必须还有字母。例如“abc@abc”、“ab2_ds4.dd@abc.com.cn”这些都是符合的。
邮件地址的验证只能用正则来判断,否则会使代码很难理解。
至于是否存在的检查,一般都没有这种功能,我所知道的所有邮件客户端都没有这个功能,除非你能连接到域名服务器的数据库,去查询地址是否存在,否则没有办法验证这个。
追问
那有没有方法能验证域名是否存在的啊
追答
这个我觉得也没有必要,你是群发,只要做好发送就行了,把邮件发出去,没有的系统自然会退回来,不需要你去考虑这么多。你可以看看Outlook,foxmail这些邮件客户端,会验证地址是否正确的,只是在你建立帐号时会有个测试的选项,点那里也就是发个邮件收个邮件,发出去就是对了,收到就是对了,反之就是错了。
你总不能为了检查邮件地址是否合法,而向每个地址都发一封邮件吧?这不成垃圾邮件了么!只要地址格式合法就行了,你想太多了!
还有,上面的正则是我临时想的,不一定完全包含所有邮件地址,你可以百度搜“电子邮件验证正则表达式”,自己挑一个喜欢的。
班丘兰蕙08g
2013-05-26
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
最简单的方法,给那个邮箱发个邮件,如果收到会返回一个状态码,如果没有会超时
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-05-26
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
郝谊郁燕子
2020-03-08
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
应该可以发送一封邮件到改邮箱,看返回来的代码是怎么样的,来进行判断
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式