【发布时间】:2020-06-13 06:22:11
【问题描述】:
我创建了一个记录到数据库中并通过电子邮件发送的表单。该表格允许自己每天填写一次,并且只在数据库中记录一次。
我注意到有时表单会在电子邮件收件箱中两次到达。
为了尝试阻止这种情况,我创建了一个变量并将其初始化为 0。然后,只有当变量为 0 时,我才允许代码执行发送命令。发送命令执行后,我将变量设置为 1。
Session("sent") = 0
If Session("sent") = 0 Then
smtp.Send(mail)
Session("sent") = 1
End If
这并不能有效地阻止电子邮件两次到达。奇怪的是,随机人正在发生双重发送。我想知道发送电子邮件所需的一秒或两秒是否足以让人们再次单击发送按钮,从而导致表单再次通过电子邮件发送。也许我可以在单击表单后禁用提交按钮。这听起来像是一个好的解决方案吗?我还能尝试什么?
【问题讨论】: