发邮件的问题,问了几天都没有理,帮帮忙.....急......

hellophp 2002-12-16 10:01:05
我的意思是:

我做的发邮件程序是:当客户提交表单的页面里(submit.asp), include 一个mail.asp,这样一来可以在提交表单的同时发邮件给相关人员,但是现在的问题是客户端有延迟(因为mail.asp需要时间),这样一来很影响效果,如果做到 mail.asp在服务器端执行,这样做到提交和发邮件都互不影响.

流程:用户提交表单(提交的同时发邮件给相关人员)--->显示用户提交的内容

现在的问题是:由于发邮件的延迟,造成用户要等待一段时间才能看到提交的内容,这样用户有意见.各位有什么办法能够解决

-----------------submit.asp----------------------------------

<!--#include file="../conn.asp"-->
<!--#include file="../char.inc"-->
<!--#include file="../style.css"-->

<%
' 创建记录集对象 rsShow
set rsShow = Server.CreateObject("adodb.recordset")
Dim sql
sql = "select * from finance where contract_number='"&Request.Form("contract_number")&"'"
rsShow.open sql,conn,1,2

..............前面的代码就省略了....

Dim sender
sender = session("contract_username") '发件人姓名

set rsUser=Server.CreateObject("adodb.recordset")
sql = "select * from users where user_id<>'"&session("contract_userid")&"'"
rsUser.open sql,conn,1,3
for i=1 to rsUser.recordcount
if rsUser.eof then
exit for
end if

Dim email,user,release_time,contract_number,company,software

email = rsUser("email") '收件人人EMAIL
user = rsUser("username") '收件人姓名
release_time = now() '合同发布时间
contract_number = Request.Form("contract_number") '合同编号
company = Request.Form("company") ' 公司
software = Request.Form("software") ' 软件配置

%>
<!-- #include file="mail.asp" --> '调用mail.asp
<%
rsUser.movenext
next

rsadd("contract_number") = Request.Form("contract_number")
rsadd("response_sale") = Request.Form("response_sale")
rsadd("state_num") = 1

rsadd.update
Application.unlock
%>



mail.asp------------------------------
'为了简化,删了一些代码

<html>
<body>
<%
' Create the JMail message Object

set msg = Server.CreateOBject( "JMail.Message" )
msg.Logging = true
msg.silent = true
msg.From = "somebody@163.com"
msg.FromName = ""& sender &""
msg.AddRecipient "" & email & "", "" & user & ""
msg.MailServerUserName = "name" ' 身份验证的用户名
msg.MailServerPassword = "pwd" ' 身份验证的密码
msg.Subject = "新的合同通告,请库房,支持人员注意"
msg.Body = "你好! 请你阅读 HTML-mail."
if not msg.Send( "smtp.163.com" ) then
Response.write "<pre>" & msg.log & "</pre>"
else
Response.write "Message sent succesfully!"
end if
%>
</body>
</html>
...全文
115 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wpmsoft 2002-12-16
  • 打赏
  • 举报
回复
发信延迟与代码无关。
建议发信照旧,增加功能:短消息通知,内容注明:稍后会有邮件到达。
只能这样,由于邮件的发送与你网站的浏览是两套系统,因此不可能做到同步。这就好比,你现在发一封信到两个目的地,其中一个就在本地,而另外一个远在大洋那头,中间要经过无数个路由中继,他们的接收到邮件的时间肯定是不一样的,对吧!
换个思路解决客户的意见。
kingljx 2002-12-16
  • 打赏
  • 举报
回复
延时的主要原因应该和你的smtp服务器有关系吧,我原来使用jmail在本地局域网中还有延迟那
---------------------------------
欢迎高手指教^-^
QQ:4863198
---------------------------------
awaysrain 2002-12-16
  • 打赏
  • 举报
回复
那就用一个隐藏桢来单独处理发送邮件
awaysrain 2002-12-16
  • 打赏
  • 举报
回复
ASP文件是在服务器段执行的啊
hellophp 2002-12-16
  • 打赏
  • 举报
回复
但总还是有几秒钟的延迟,循环发了6封信,大约 6秒的延迟......
nbjed 2002-12-16
  • 打赏
  • 举报
回复
这很简单啊! 先把表单存入数据库,再开始执行发信动作,这样不管发信要用多长时间,数据早已入库,一切ok ,给分!!!

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧