一个小问题,大伙来看看,懂得指教下

chqwork 2006-09-05 11:28:58
见过很多商务网站作的很多email订单系统,把客户下的订单的详细内容直接用jmail的方式发给客户,像以下的怎么实现的呢:

客户名称 价格 购买时间 数量 总价
chqwork 56 2006-9-3 21:52:02 15 29800
chqwork 57 2006-9-3 21:52:15 66 21000
chqwork 57 2006-9-3 21:52:35 401 21000
chqwork 56 2006-9-3 21:54:58 12 29800

当然了,以上的清单,都是sql数据库里面用asp读取出来的,想请教下高手,如何实现把这样的清单发给客户呢?
...全文
373 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyingsnowy 2006-09-07
  • 打赏
  • 举报
回复
在字段前后加HTML表格代码就行了。
文盲老顾 2006-09-07
  • 打赏
  • 举报
回复
Call Send_EMail("smtp.126.com","chqwork@126.com","201314","chqcjm@126.com","poke","您的订单","content")

==>

Call Send_EMail("smtp.126.com","chqwork@126.com","201314","chqcjm@126.com","poke","您的订单",content)

'content 不要加引号,否则是字符串,不能把变量传过去
laofu568 2006-09-06
  • 打赏
  • 举报
回复
发送到客户端页面还是发送到客户邮箱里 ??
文盲老顾 2006-09-06
  • 打赏
  • 举报
回复
直接将数据读出后生成一个 html 格式的字符串和一个标准的文本字符串,然后调用 email 组件将这两个字符串作为信件正文发送就可以了
wgybb 2006-09-06
  • 打赏
  • 举报
回复
在要发送的内容里面加上表格的代码,再连接上要发送的内容,一起发过去。
chqwork 2006-09-06
  • 打赏
  • 举报
回复
又没人关注了!
chqwork 2006-09-06
  • 打赏
  • 举报
回复
关键是您省略掉的那个部分,也就是要显示给客户的那部分信息啊,大佬!你写的那些,只是html和单独的rs记录集当然可以了,问题是,客户总不可能一次就买一个商品吧,多个商品,就要用循环了,那怎么把那些也罗列出来呢
chqwork 2006-09-06
  • 打赏
  • 举报
回复
高手们,帮我看看,我这个代码到底错在那啊!




<!--#include file="../../comm/ConnDB.asp"-->
<%
dim ordercheck,ordernum,rs,userid,content
userid = Session("user_id")
ordercheck=request.Form("ordercheck")
ordernum=request.Form("ordernum")
content=""
content=content&"<style>"
content=content&"p {font-size:9pt};"
content=content&"td {font-size:9pt};"
content=content&"li {font-size:9pt};"
content=content&"div {font-size:9pt};"
content=content&"</style>"
set rs=server.CreateObject("adodb.recordset")
sql = "Select * From basketlist Where SHOPUSER_ID='"&userid&"' And ordernum='"&ordernum&"'"
Set rs = conn.Execute(sql)
If Not rs.Eof Then
content=content&"<div align="center">"
content=content&"<p>尊敬的<%=userid%>您好,以下是您此次的订单的详细内容: </p>"
content=content&"<p> </p> "
content=content&"</div> "
content=content&"<table width="800" height="40" border="0" align="center" cellpadding="0" cellspacing="0" style="fontsize:12pt"> "
content=content&"<tr>"
content=content&"<td width="120" height="21">订单时间</td>"
content=content&"<td width="120" height="21">订单编号</td>"
content=content&"<td width="120" height="21">货款(单位:元)</td>"
content=content&"<td width="120" height="21">运费(单位:元)</td>"
content=content&"<td width="120" height="21">总计(单位:元)</td>"
content=content&"</tr>"
content=content&"<tr>"
content=content&"<td width="120" height="20">"&rs("ordertime")&"</td>"
content=content&"<td width="120" height="20">"&rs("ordernum")&"</td>"
content=content&"<td width="120" height="20">"&rs("huokuan")&"</td>"
content=content&"<td width="120" height="20">"&rs("yunfei")&"</td>"
content=content&"<td width="120" height="20">"&rs("zongji")&"</td>"
content=content&"</tr>"
content=content&"</table>"
end if
content=content&"<div align="center">"
content=content&"<p><br/>"
content=content&"详细清单如下:</p>"
content=content&"</div>"
content=content&"<br/>"
set rsq=server.CreateObject("adodb.recordset")
sql2 = "SELECT b.*, g.Name,g.SN_NUMBER FROM Basket b, Goods g WHERE b.SHOPUser_Id='" & userid & "'and ordercheck='" & ordercheck & "'"
sql2 = sql2 & " And g.Id = b.GoodsId ORDER BY b.AdminChecked, b.Id DESC"
rsq.Open sql2, Conn, 3, 3
content=content&"<table width="800" height="40" border="0" align="center" cellpadding="0" cellspacing="0">"
content=content&"<tr>"
content=content&"<td width="140" height="20">商品编号</td>"
content=content&"<td width="140" height="20">商品名称</td>"
content=content&"<td width="140" height="20">单价(单位:元)</td>"
content=content&"<td width="100" height="20">购买数量</td>"
content=content&"<td width="140" height="20">金额(单位:元)</td>"
content=content&"<td width="140" height="20">商品的总重(单位:元)</td>"
content=content&"</tr> "
Do While Not rsq.EOF
content=content&"<tr>"
content=content&"<td width="140" height="20">"&rsq("SN_NUMBER")&"</td>"
content=content&"<td width="140" height="20">"&rsq("Name")&"</td>"
content=content&"<td width="140" height="20">"&rsq("SalePrice")&"</td>"
content=content&"<td width="100" height="20">"&rsq("OrderCount")&"</td>"
content=content&"<td width="140" height="20">"&Cint(rsq("OrderCount"))*CLng(rsq("SalePrice"))&"</td>"
content=content&"<td width="140" height="20">"&rsq("Freight")*Cint(rsq("OrderCount"))&"</td>"
content=content&"</tr>"
rsq.movenext
Loop
rsq.close
content=content&""</table>
%>
<%
Function Send_Email(smtpHost,smtpUser,smtpPass,mailTo,FromName,subject,content)
Set jmail = Server.CreateObject("JMAIL.Message")
jmail.silent = true
jmail.logging = true
jmail.Charset = "gb2312"
jmail.ContentType = "text/html"
jmail.AddRecipient mailTo
jmail.From = smtpUser
jmail.FromName = FromName
jmail.Subject = subject
jmail.Body = content
jmail.Priority = 1
jmail.MailServerUserName = smtpUser
jmail.MailServerPassword = smtpPass
jmail.Send(smtpHost)
jmail.Close()
response.write("邮件发送成功")
End Function
%>
<%
'其中Send_Email表示自定义的函数名称
'参数smtpHost表示邮件服务器地址
'参数smtpUser表示发信验证所需的登录帐户
'参数smtpPass表示发信验证所需的登录密码
'参数mailTo表示邮件收件人的E-Mail地址
'参数FromName表示邮件发件人的名称
'而参数subject和content则分别表示邮件的标题和正文内容

'通过如下方法可应用该函数:
Call Send_EMail("smtp.126.com","chqwork@126.com","201314","chqcjm@126.com","poke","您的订单","content")
%>
fantiny 2006-09-06
  • 打赏
  • 举报
回复
HTML_content = HTML_content & "<div align=""center"">"
HTML_content = HTML_content & "<p>尊敬的" & userid & "您好,以下是您此次的订单的详细内容: </p>"
HTML_content = HTML_content & "<p> </p>"
HTML_content = HTML_content & "</div>"
HTML_content = HTML_content & "<table width=""800"" height=""40"" border=""0"" align=""center"" cellpadding=""0"" cellspacing=""0"" style=""fontsize:12pt"">"
.....
HTML_content = HTML_content & " <tr> "
HTML_content = HTML_content & " <td width=""120"" height=""20""> & rs("ordertime") & "</td>"
.......
HTML_content = HTML_content & " </tr> "
HTML_content = HTML_content & "</table>"

这不是很简单的东西吗?
chqwork 2006-09-06
  • 打赏
  • 举报
回复
问题是如何把“数据读出后生成一个 html 格式的字符串和一个标准的文本字符串”然后赋给HTML_content

JMail.HTMLBody = HTML_content,

这个就是难点吧!举个例子吧,如何把我下面的asp源码生成html格式的字符串,然后赋给HTML_content呢?

<style>
p {font-size:9pt};
td {font-size:9pt};
li {font-size:9pt};
div {font-size:9pt};
</style>
<!--#include file="../../comm/ConnDB.asp"-->
<% dim ordercheck,ordernum,rs,userid
userid = Session("user_id")
ordercheck=request.Form("ordercheck")
ordernum=request.Form("ordernum")
set rs=server.CreateObject("adodb.recordset")
sql = "Select * From basketlist Where SHOPUSER_ID='"&userid&"' And ordernum='"&ordernum&"'"
Set rs = conn.Execute(sql)
If Not rs.Eof Then
%>
<div align="center">
<p>尊敬的<%=userid%>您好,以下是您此次的订单的详细内容: </p>
<p> </p>
</div>
<table width="800" height="40" border="0" align="center" cellpadding="0" cellspacing="0" style="fontsize:12pt">
<tr>
<td width="120" height="21">订单时间</td>
<td width="120" height="21">订单编号</td>
<td width="120" height="21">货款(单位:元)</td>
<td width="120" height="21">运费(单位:元)</td>
<td width="120" height="21">总计(单位:元)</td>
</tr>
<tr>
<td width="120" height="20"><%=rs("ordertime")%></td>
<td width="120" height="20"><%=rs("ordernum")%></td>
<td width="120" height="20"><%=rs("huokuan")%></td>
<td width="120" height="20"><%=rs("yunfei")%></td>
<td width="120" height="20"><%=rs("zongji")%></td>
</tr>
</table>
<%end if%>
<div align="center">
<p><br>
详细清单如下:</p>
</div>
<br>
<%
set rsq=server.CreateObject("adodb.recordset")
sql2 = "SELECT b.*, g.Name,g.SN_NUMBER FROM Basket b, Goods g WHERE b.SHOPUser_Id='" & userid & "'and ordercheck='" & ordercheck & "'"
sql2 = sql2 & " And g.Id = b.GoodsId ORDER BY b.AdminChecked, b.Id DESC"
rsq.Open sql2, Conn, 3, 3
%>
<table width="800" height="40" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="140" height="20">商品编号</td>
<td width="140" height="20">商品名称</td>
<td width="140" height="20">单价(单位:元)</td>
<td width="100" height="20">购买数量</td>
<td width="140" height="20">金额(单位:元)</td>
<td width="140" height="20">商品的总重(单位:元)</td>
</tr>
<%
Do While Not rsq.EOF
%>
<tr>
<td width="140" height="20"><%=rsq("SN_NUMBER")%></td>
<td width="140" height="20"><%=rsq("Name")%></td>
<td width="140" height="20"><%=rsq("SalePrice")%></td>
<td width="100" height="20"><%=rsq("OrderCount")%></td>
<td width="140" height="20"><%=Cint(rsq("OrderCount"))*CLng(rsq("SalePrice"))%></td>
<td width="140" height="20"><%=rsq("Freight")*Cint(rsq("OrderCount"))%></td>
</tr>
<%
rsq.movenext
Loop
rsq.close
%>
</table>
fantiny 2006-09-06
  • 打赏
  • 举报
回复
楼主要自己动动脑子想一下
动态的代码作用是什么
如果全部代码都给你写得话
怎么能够提高呢
youzi520 2006-09-06
  • 打赏
  • 举报
回复
mailbody=""
mailbody=mailbody&"<TABLE CELLSPACING=1 CELLPADDING=0 BORDER=0 WIDTH=100% >"
mailbody=mailbody&"<TR BGCOLOR=#558BFF>"
mailbody=mailbody&"<TD ALIGN=center CLASS=txt width='8%' height='25'><FONT COLOR=#ffffff>序号</FONT></TD>"
mailbody=mailbody&"<TD ALIGN=center width='20%' height='25'><FONT COLOR=#ffffff>物品名称</FONT></TD>"
mailbody=mailbody&"<TD ALIGN=center width='14%' height='25'><FONT COLOR=#ffffff>订购数量</FONT></TD>"
mailbody=mailbody&"<TD ALIGN=center width='13%' height='25'><FONT COLOR=#ffffff>价格</FONT></TD>"
mailbody=mailbody&"<TD ALIGN=center width='15%' height='25'><font color='#FFFFFF'>总价</font></TD></TR>"
'购物车列表
if sItemTypeAIndex>0 then
for i=0 to sItemTypeAIndex-1
Sql="select Ste_name,Ste_value from t_GoodsCon where ste_id="&sItemTypeA(i)
Set RS=oConn.Execute(sql)
If Not RS.eof And Not Rs.bof Then
mailbody=mailbody&"<TR BGCOLOR=#E1E1E1>"
mailbody=mailbody&"<TD ALIGN=center width='8%'>"&i+1
mailbody=mailbody&"</TD>"
mailbody=mailbody&"<TD ALIGN=center width='20%'>"&RS(0)
mailbody=mailbody&"</TD>"
mailbody=mailbody&"<TD ALIGN=center width='14%'>"&sItemNumA(i)
mailbody=mailbody&"</TD>"
mailbody=mailbody&"<TD ALIGN=center>"&RS(1)
mailbody=mailbody&"</TD>"
mailbody=mailbody&"<TD ALIGN=center>"&sItemNumA(i)&"</TD></TR>"
End If
RS.Close
Next
End If
mailbody=mailbody&"</TABLE>"
mailbody=mailbody&"<HR SIZE=1>"
mailbody=mailbody&"<TABLE WIDTH=100% BORDER=0>"
mailbody=mailbody&"<TR><TD ALIGN=right width='22%'>下单人<FONT COLOR=#666666>真实姓名:</FONT></TD><TD width='78%' height='25'>"&recMan&"</TD></TR>"
mailbody=mailbody&"<tr><td align=right width='22%' height='25'><font color='#666666'>接收人地址:</font></td><td width='78%' height='25'>"&recadd&"</td></tr>"
mailbody=mailbody&"<tr><td align=right 'width='22%' height='25'><font color='#666666'>接收人邮编:</font></td><td width='78%' height='25'>"&reczip&"</td></tr>"
mailbody=mailbody&"<tr><td align=right 'width='22%' height='25'><font color='#666666'>接收人电话:</font></td><td width='78%' height='25'>"&recPhone&"</td></tr>"
mailbody=mailbody&"<tr><td align=right 'width='22%' height='25'><font color='#666666'>接收人Email:</font></td><td width='78%' height='25'>"&recEmail&"</td></tr></TABLE>"

'给订单接受发送email
call sendmail(recEmail,adminEmail,"","New Order Form",mailbody,0,0)

'给订单管理员发送email
call sendmail(adminEmail,recEmail,"","Order Form",mailbody,0,0)

'清空购物车
Session("CartItemTypeArray")=""
Session("CartItemNumArray")=""


================================
静态的都告诉你了,动态的加ASP就是罗
chqwork 2006-09-06
  • 打赏
  • 举报
回复
高手那去了啊!
文盲老顾 2006-09-06
  • 打赏
  • 举报
回复
<%

'''''''''''''''''
'读取数据产生两个字符串,分别为 HTML_content(HTML格式正文)和TEXT_context(文本格式正文)
'取email变量的值为收件人地址
'''''''''''''''''

Dim JMail, contentId
Set JMail = Server.CreateObject("JMail.Message")
JMail.Charset = "gb2312"
JMail.ISOEncodeHeaders = False
JMail.From = "email@domain.com" <== 发送时使用的信箱地址
JMail.FromName = "发件人"
JMail.Subject = "邮件标题"
JMail.MailServerUserName = "***" <== 发送时使用的信箱账号
JMail.MailServerPassword = "***" <== 发送时使用的信箱密码
JMail.Priority = 3
JMail.AddRecipient(email)
JMail.HTMLBody = HTML_content
JMail.Body = TEXT_content
JMail.Send("username:password@smtp.domain.com:port") <== 发送时使用的信箱账号、密码、smtp服务器地址及端口号
JMail.Close()
Set JMail = Nothing
fantiny 2006-09-05
  • 打赏
  • 举报
回复
把数据库的内容读取出来拼接成这个样子的字符串,然后调用EMAIL组件,赋值给BODY然后SEND出去就可以了。

28,391

社区成员

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

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