来自ASP论坛网站的电子邮件

时间:2017-02-14 05:18:57

标签: email asp-classic

我在这里不知所措。我正在编写一个论坛,当有人回复他们所涉及的线程时,用户将能够通过电子邮件收到通知。因此,用户A,B和C都在一个线程上处于活动状态,并希望在那里得到通知是一个帖子。当用户D出现并发布到帖子时,我需要向A,B和C发送电子邮件。

我通常使用CDO(ASP Classic)发送电子邮件,但问题是,当我需要发送给用户A到Z或更多时会发生什么?

用户D出现,点击POST,然后我将文本写入数据库并开始发送电子邮件 - 他必须等到它们被发送。

显然,这不是解决这个问题的方法。但我完全不知道在这里实施什么。第三方?一个组件?有没有办法在后台运行?我做了很多网站,但从来没有像这样做过电子邮件。

任何方向都会非常感激。

2 个答案:

答案 0 :(得分:0)

ASP Classic无法执行并行操作或"后台操作"像你一样询问。您必须模拟它,使您的电子邮件发送更快,或使用计划任务执行电子邮件功能。

模拟:

  1. 执行所有数据库事务(例如将用户D的帖子保存到数据库中)

  2. 在用户D看到的下一页上,使用JavaScript标记启动对ASP文件的调用。被调用的ASP文件应该发送电子邮件,例如

    <script type="text/javascript" async defer src="my_emailer.asp?postID=XXX"></script>
    
  3. 您使用script方法的原因是因为它会在POST后指向用户D的页面异步调用。

    加快

    仅创建和发送一封电子邮件,但与其他收件人进行BCC。

    要作为预定任务运行

    点击此处的帖子获取提示:Make server automatic run asp-script every day

答案 1 :(得分:0)

我的经典ASP网站上有一个计划任务,每小时运行一次,并出于各种原因发送电子邮件。效果很好。

我安排批处理文件按照我想要的时间表运行。批处理文件有一行如下所示:

"C:\path\XMLRequester.vbs" http://example.com/SendFollowUpEmails.asp

XMLRequester.vbs是一个请求ASP脚本的小脚本,导致它执行:

' Simpler XML Requester

On Error Resume Next

dim shell
Set shell = CreateObject("WScript.Shell")
Dim objXML, strURL

' Request URL from 1st Command Line Argument.  This is
' a nice option so you can use the same file to
' schedule any number of differnet scripts just by
' changing the command line parameter.

strURL = WScript.Arguments(0)

Set objXML = CreateObject("Microsoft.XMLHTTP")
objXML.Open "GET", strURL, False
objXML.Send

if Err.Number <> 0 then
    shell.LogEvent 1, "Error " & Err.Number & " (" & Err.Description & ")"
end if

Set objXML = Nothing
Set shell = Nothing

SendFollowUpEmails.asp只是一个ASP脚本,可以完成您需要它做的任何事情。在我的例子中,它查询数据库以找到发送电子邮件所需的客户,然后发送它们。它有一些合理的超时值,但如果它在完成之前耗尽时间,它将在下次运行时从它停止的地方开始。