热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

asp发送邮件的问题。将所有满足条件分整合到一封邮件发送!

请问有谁能帮忙将满足条件的邮件内容弄成一封就将所有的完成啊?我现在满足条件的一个就发送一封,有所有满足的就会发送很多。请帮帮忙!真心感谢!谢谢!!<%@LANGUAGEVBSCRIP
请问有谁能帮忙将满足条件的邮件内容弄成一封就将所有的完成啊?我现在满足条件的一个就发送一封,有所有满足的就会发送很多。请帮帮忙!真心感谢!谢谢!!

<%@LANGUAGE="Vbscript" CODEPAGE="936"%>










<%
Function SendMail(MailtoAddress,MailtoName,Subject,MailBody,FromName,MailFrom) 
'函数参数说明(收件人地址,收件人姓名(可选),主题,邮件内容,发件人姓名(可选),发件人地址) 
'on error resume next 
Dim JMail,MailServer,Flag 
Set JMail=Server.CreateObject("JMail.Message") 
If err Then 
SendMail = False 
err.clear 
Exit Function 
End if 
JMail.Charset="gb2312" '邮件编码 
JMail.silent=True 
JMail.ContentType = "text/html" '邮件正文格式 
MailServer = "smtp.163.com" '用来发送邮件的SMTP服务器 
JMail.MailServerUserName = "18973247921@163.com" '登录用户名 
JMail.MailServerPassWord = "zb369@" '登录密码 
JMail.MailDomain = "163.com" '域名(如果用"name@domain.com"这样的用户名登录时,请指明domain.com),可选 
JMail.AddRecipient MailtoAddress,MailtoName '收信人邮箱和收信人名称 
JMail.Subject = Subject '主题 
JMail.AppendHTML(MailBody) 
JMail.FromName = FromName '发信人姓名 
JMail.From = MailFrom '发信人Email 
JMail.Priority = 3 '邮件等级,1为加急,3为普通,5为低级 
Flag=JMail.Send(MailServer) 
If Flag Then 
SendMail=True 
Else 
SendMail=False 
End If 
JMail.Close 
Set JMail=nothing 
End Function 

 sql="select a.*,b.U_Email,b.U_Truename ,c.P_Code,c.P_Title from taskinfo a left join t_userinfo b on a.T_PrincipalID = b.u_id  left join ProjectInfo c on P_ID=T_PID     where T_State='1' "

set rs=DataToRsStatic(conn,sql)
while not rs.eof and not rs.bof 
T_SDate=replace_back(rs("T_SDate"))
T_EDate=replace_back(rs("T_EDate"))
T_Percent=replace_back(rs("T_Percent"))
T_PrincipalID=replace_back(rs("T_PrincipalID"))
T_ManagerID=replace_back(rs("T_ManagerID"))
T_State=replace_back(rs("T_State"))
T_DatePercent=replace_back(rs("T_DatePercent"))
T_RealSDate=replace_back(rs("T_RealSDate"))
T_RealEDate=replace_back(rs("T_RealEDate"))
T_CreateDate=replace_back(rs("T_CreateDate"))
T_CreateUser=replace_back(rs("T_CreateUser"))
T_Jieduan=replace_back(rs("T_Jieduan"))
U_Email=replace_back(rs("U_Email"))
T_PCode=replace_back(rs("P_Code"))

T_PName=replace_back(rs("P_Title"))

 name1=replace_back(rs("U_Truename"))
 title=replace_back(rs("T_Title"))
t=datediff("d",T_Sdate,T_Edate)

'date3=DateAdd("d",1, T_Edate)
t1=datediff("d",T_Edate,date())
if t1>0 then 
Call SendMail(U_Email,name1,"任务超期警示","

任务超期警示

任务名称:"&title&"
任务负责人:"&name1&"
项目名称:("&T_PCode&")"&T_PName&"
计划结束时间:"&T_Edate&"
距任务计划结束时间超期"&t1&"天
注意:请尽速赶上进度,解除警报!

","任务管理","15282478546@163.com")
 


end if 
if  t <=15 and t>0 then
   date1=DateAdd("d",-3, T_Edate)
  if date1=date() then
Call SendMail(U_Email,name1,"任务快到期提醒","

任务快到期提醒

任务名称:"&title&"
任务负责人:"&name1&"
项目名称:("&T_PCode&")"&T_PName&"
计划结束时间:"&T_Edate&"
距任务计划结束时间还有3天
注意:请尽速赶上进度,解除警报!

","任务管理","15282478546@163.com")

 
 end if 
 
  else
   date2=DateAdd("d",-7, T_Edate) 

 if date2=date() then 
Call SendMail(U_Email,name1,"任务快到期提醒","

任务快到期提醒

任务名称:"&title&"
任务负责人:"&name1&"
项目名称:("&T_PCode&")"&T_PName&"
计划结束时间:"&T_Edate&"
距任务计划结束时间还有7天
注意:请尽速赶上进度,解除警报!

","任务管理","15282478546@163.com")

  end if 


 
  end if 

rs.movenext()
wend
set rs=nothing

sql="select ProjectInfo.*,a.U_Email,a.U_TrueName P_ManagerName,b.U_TrueName P_SuperintendentName,c.U_TrueName P_CreateUserName from ProjectInfo left join T_Userinfo a on a.U_ID=P_ManagerID left join T_Userinfo b on b.U_ID=P_SuperintendentID left join T_Userinfo c on c.U_ID=P_CreateUser where P_state='1' "
set rs=DataToRsStatic(conn,sql)
while not rs.eof and not rs.bof 
P_Code=replace_back(rs("P_Code"))
P_Title=replace_back(rs("P_Title"))

P_ManagerID=replace_back(rs("P_ManagerID"))
P_ManagerName=replace_back(rs("P_ManagerName"))
P_SDate=replace_back(rs("P_SDate"))
P_EDate=replace_back(rs("P_EDate"))
P_State=replace_back(rs("P_State"))
P_Percent=replace_back(rs("P_Percent"))
P_SuperintendentID=replace_back(rs("P_SuperintendentID"))
P_SuperintendentName=replace_back(rs("P_SuperintendentName"))

P_CreateDate=replace_back(rs("P_CreateDate"))
P_CreateUser=replace_back(rs("P_CreateUser"))
P_CreateUserName=rs("P_CreateUserName")
U_Email1=replace_back(rs("U_Email"))


d1=datediff("d",P_Sdate,P_Edate)
d2=datediff("d",d1/3*2,P_Edate)
day1=datediff("d",d2,date())
if d2=date() then 
Call SendMail(U_Email1,P_ManagerName,"项目快到期提醒","

项目快到期提醒

项目编号:"&P_Code&"
项目名称:"&P_Title&"
项目负责人:"&P_ManagerName&"
计划结束时间:"&P_Edate&"
距项目计划结束时间已过三分之二,剩"&d1&"天
注意:请尽速赶上进度,解除警报!

","项目管理","15282478546@163.com")
 


end if 
d5=datediff("d",d1/3*2/3,P_Edate)
day2=datediff("d",d5,date())
if d5=date() then 
Call SendMail(U_Email1,P_ManagerName,"项目快到期提醒","

项目快到期提醒

项目编号:"&P_Code&"
项目名称:"&P_Title&"
项目负责人:"&P_ManagerName&"
计划结束时间:"&P_Edate&"
距项目计划结束时间已过六分之五,剩"&d5&"天
注意:请尽速赶上进度,解除警报!

","项目管理","15282478546@163.com")


end if 

 d3=DateAdd("d",0, P_Edate) 
 if d3=date() then 
Call SendMail(U_Email1,P_ManagerName,"项目到期提醒","

项目到期提醒

项目编号:"&P_Code&"
项目名称:"&P_Title&"
项目负责人:"&P_ManagerName&"
计划结束时间:"&P_Edate&"
项目已到计划结束时间
注意:请尽速赶上进度,解除警报!

","项目管理","15282478546@163.com")
 


 
 
 end if 
 d4=datediff("d",P_Edate,date())
if d4>0 then 
Call SendMail(U_Email1,P_ManagerName,"项目超期警示","

项目超期警示

项目编号:"&P_Code&"
项目名称:"&P_Title&"
项目负责人:"&P_ManagerName&"
计划结束时间:"&P_Edate&"
距项目计划结束时间超期"&d4&"天
注意:请尽速赶上进度,解除警报!

","项目管理","15282478546@163.com")

end if 
 


   


rs.movenext()
wend
set rs=nothing
%>


 


7 个解决方案

#1


请帮帮忙啊!

#2


如果是发多个人,可以使用抄送!

你把用户名用;连接

#3


if 判断不严谨!

#4


我每个人根据条件发送的内容不一样的,也不是所有人都要发,是满足条件件的才发送。所以抄送是不行的。那个if是判断条件的语句,是满足条件就可以的。那个严谨?具体是怎么写呢?。我现在是,内容能够准确发送到对方,但是是满足一个条件就发送一封,怎样将满足条件的所有集合成一封来发送。

#5


if  t <=15 and t>0 then
  就拿这句来说    t <= 15  是对的      只要T 小于15 就能进去   但是  你后面跟的and 就不对了   当T 为20的时候她一样进的去  因为他满足 T>0   你用该用&&  让T 必须>0  和<=15  这样才行    不知道 你看懂没有
 如果还是不太懂 加我QQ296059263

#6


是的,谢谢您!可是这个只是条件啊,我现在想加表格

#7


解决了,是用拼接的方式添加的!因为我的内容是拼接的,表格要将内容装进去,所以也用的拼接的方式!谢谢您们!

推荐阅读
author-avatar
我以为我疯叻_219
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有