是这样的,我们的程序提供了用户输入邮箱给用户发送邮件功能,好多用户邮箱乱写,写些根本不存在的邮箱,导致占用系统资源,还有有很多系统退信,能否有PHP程序在用户提交邮箱信息后进行验证,这个邮箱真实有效则发送邮件,否则跳过邮件发送?有没有办法做到呢?
|
lianyueJun 17, 2015
1
|
|
2
不能完美解决。
1、改为用邮箱注册,并验证邮箱; 2、如果有系统退信,对这个邮箱的相应用户做一些操作。 |
|
3
@b821025551b 哦,由于系统没有强制用户注册后使用,看来真的没啥好办法!
|
|
tabris17Jun 17, 2015
4
光检查MX记录无法确认邮箱是真实有效的
SMTP协议有个VRFY命令用来验证用户是否存在,不过很多SMTP服务器都把这个命令禁用了 |
|
davidyinJun 17, 2015
5
强制新用户验证一次邮箱。
旧用户的email地址导出,专门导入到邮件列表程序,验证。 |
|
Andy1999Jun 17, 2015 via iPhone
6
filter_var
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { // invalid emailaddress } checkdnsrr if (!checkdnsrr($domain, ‘MX’)) { // domain is not valid } |
|
b821025551bJun 17, 2015
7
@Andy1999 MX只能检测输的那个域名是否存在,也是不能解决问题。
|
|
111111111111Jun 17, 2015 via Android
9
a. 检查MX 记录存在
b. 测试MX服务器SMTP 正常访问 c. SMTP协议 给用户发一封邮件 捕捉返回值 以上操作可以让用户界面的js 做,也可以找第三方服务商做 |
|
fangjinminJun 17, 2015
11
没有完美的用程序直接验证邮箱存不存在的方法。
发认证码让用户认证是最好的解决办法。 |
|
12
@111111111111 你可以写这个程序吗?还有这样是否会除了给用户发送我们发送的邮件,还会多一个验证邮件呢?
|
|
13
@fangjinmin 好的!
|
|
huageJun 17, 2015
15
1.只准使用某些后缀的邮箱,像如163、126等等;2.你参考一下这些邮箱允许用户的地址规则,然后做一个判断;3.注册时发邮件,确认验证。
|
|
learnshareJun 17, 2015
16
让用户点击邮箱中收到的链接,通过这个唯一的链接来确认邮箱有效。嗯,跟 PHP 没关系
|
|
s2555Jun 17, 2015
17
模拟注册这些邮箱,已经注册的肯定不能注册成功,那就说明是存在的
|
|
lilydjwgJun 17, 2015
18
|
|
19
楼主是销售吗?如果不是技术背景并且确定你的技术水平比你们技术强,就不要在外面帮技术问问题,然后回去跟技术说找到了个技术方案看可不可行。这代表了你对同事的不信任。
|
|
20
@lilydjwg 是这样的,我们提供了一种免费的服务,需要生成用户所需的文件,有一点专业性质,好多用户不懂,总是忘记下载文件,所以我们启用了生成完毕自动发送附件给用户邮箱,然而有好多用户可能出于测试的目的随便填写下信息,随便填写不存在的邮箱,所以出现了上述问题!
|
|
Hello1995Jun 17, 2015 via Android
22
|
|
lilydjwgJun 18, 2015
24
@chinassl 那应该量不太大吧,测试填错误的邮箱也得不到结果啊。难道说大中华无聊的人真那么多?
网上能搜到验证服务的,比如 http://verify-email.org/ 。原理很简单,直接和邮件服务器进行会话,看对方是否说指定的信箱无效。当然有些邮件服务器会不肯说。 |
|
25
@lilydjwg 量确实不算很大,但总收到退信也是头痛的事,没错,确实无聊的人很多,填写无效的也就算了,还有人填写什么微软、百度的企业邮箱,都服了这些人了,好多时候都是一颗老鼠屎坏了一锅好粥!
|
|
sixbyteJun 18, 2015
26
我觉得还是得用户登录邮箱进行验证一次.
因为他完全可以使用非自己的邮箱. |
|
27
@sixbyte 因为大多数用户是使用自己的邮箱的,因为这个信息是只有用户收到才能用,但就是有极个别的用户随便乱写,如果加上验证太影响正常用户的的体验,比较繁琐了,看来还没有完美的解决方案!
|
|
28
看来这样解决,加个选项,默认不发送邮件,只有用户选中复选框后发送,只能先这样了!
|
|
aec4dJun 12, 2016
29
&list=PLt0SDK0_hDSDkDFSXgcxCvtR3zc5fXkXJ&index=11
http://verify-email.org/ |