Foxtable(狐表)用户栏目专家坐堂 → [求助]邮件发送有点疑问


  共有1803人关注过本帖树形打印复制链接

主题:[求助]邮件发送有点疑问

帅哥哟,离线,有人找我吗?
81538475
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1287 积分:10368 威望:0 精华:1 注册:2018/1/20 12:40:00
[求助]邮件发送有点疑问  发帖心情 Post By:2018/5/11 11:21:00 [只看该作者]

这个代码放到哪里比较好呢。

如果希望这个代码只执行一次,改如何处理。


Dim m As New MailSender
Dim 
ln As String = vbcrlf & vbcrlf '定义两个换行

m.Host = 
"smtp.21cn.net"
m.Account = 
"xiaoliu"
m.Password = 
"xiaoliu1234567"
m.From = 
"xiaoliu@Sina.com.cn"
For Each 
dr As DataRow In DataTables("借款").Select("到期日期<= #" & Date.Today.AddDays(10& "#")
    m
.To = dr("邮件地址"
)
    m
.Title = 
"催款通知"
    
m.Content = dr("姓名"& dr("尊称"& ":" & ln & "您的贷款将于" & dr("到期日期"& "到期, " 
    m
.Content = m.Content & "金额为" & dr("金额"& "元, 请准时还款!" & ln & "某某公司" & vbcrlf & Date.
today
    m.SendAsync()

Next

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/11 11:34:00 [只看该作者]

1、代码写到afterOpenProject事件,或者计划管理那里;

 

2、发送加上条件,"到期日期<= #" & Date.Today.AddDays(10) & "# and 已还款 = False"

 

3、只执行一次,是一天执行一次,还是怎样?


 回到顶部
帅哥哟,离线,有人找我吗?
81538475
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1287 积分:10368 威望:0 精华:1 注册:2018/1/20 12:40:00
  发帖心情 Post By:2018/5/11 11:42:00 [只看该作者]

恩。一天只执行一次。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/11 12:04:00 [只看该作者]

以下是引用81538475在2018/5/11 11:42:00的发言:
恩。一天只执行一次。

 

表格加一个列【发送邮件日期】,你发送邮件以后,给这个列赋值 dr("发送邮件日期") = Date.Today

 

筛选条件改成  "到期日期<= #" & Date.Today.AddDays(10) & "# and 已还款 = False and (发送邮件日期 < #" & date.today & "# or 发送邮件日期 is null)"

[此贴子已经被作者于2018/5/11 12:05:10编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
81538475
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1287 积分:10368 威望:0 精华:1 注册:2018/1/20 12:40:00
  发帖心情 Post By:2018/5/11 12:52:00 [只看该作者]


麻烦看看这个代码有没有啥问题。为何结果只发了同一个人的。output.show的结果正常

For Each dr As DataRow In DataTables("人员信息表").S el ect("到期时间 <= #" & Date.Today.AddDays(5) & "# And (状态 = '试用' Or 状态 = '实习')")
    output.Show(dr("姓名"))
    m.Title = "【武汉渲奇MIS】-" & dr("姓名") & "(试用/实习)到期通知!"
    m.Co nt ent = "HI,all”
    m.SendAsync()
Next


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20180511125056.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2018/5/11 12:54:43编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/11 12:54:00 [只看该作者]

这个代码不能少

 

m.To = dr("邮件地址")


 回到顶部
帅哥哟,离线,有人找我吗?
81538475
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1287 积分:10368 威望:0 精华:1 注册:2018/1/20 12:40:00
  发帖心情 Post By:2018/5/11 12:58:00 [只看该作者]

接收的邮箱是同一个也要这样写吗,所以放到了上面。完整的代码是这样的

Dim m As New MailSender
Dim ln As String = vbcrlf & vbcrlf '定义两个换行
m.Host = "smtp.ym.163.com"
m.Account = "sp_mis@starpainters.net"
m.Password = "******"
m.From = "sp_mis@starpainters.net"
m.to=("cxw@starpainters.net")

For Each dr As DataRow In DataTables("人员信息表").Se le ct("到期时间 <= #" & Date.Today.AddDays(5) & "# And (状态 = '试用' Or 状态 = '实习')")
    output.Show(dr("姓名"))
    m.Title = "【武汉渲奇MIS】-" & dr("姓名") & "(试用/实习)到期通知!"
    m.Co nte nt = "HI,all:" 
    m.SendAsync()

Next

[此贴子已经被作者于2018/5/11 14:06:14编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/11 15:07:00 [只看该作者]

接收邮箱是同一个,那你希望发多少封邮件?邮件的内容是什么?

 

发一封?

 

Dim m As New MailSender
'Dim ln As String = vbcrlf & vbcrlf '定义两个换行
m.Host = "smtp.ym.163.com"
m.Account = "sp_mis@starpainters.net"
m.Password = "******"
m.From = "sp_mis@starpainters.net"
m.To=("cxw@starpainters.net")

Dim s As String = ""
For Each dr As DataRow In DataTables("人员信息表").Select("到期时间 <= #" & Date.Today.AddDays(5) & "# And (状态 = '试用' Or 状态 = '实习')")
    s &= dr("姓名") & ","
Next
m.Title = "【武汉渲奇MIS】-(试用/实习)到期通知!"
m.C & s
m.SendAsync()


 回到顶部
帅哥哟,离线,有人找我吗?
81538475
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1287 积分:10368 威望:0 精华:1 注册:2018/1/20 12:40:00
  发帖心情 Post By:2018/5/11 15:14:00 [只看该作者]

用下面的代码找出来的有6个人,每个人的情况都需要单独发一封邮件到指定的邮箱 cxw@starpainters.net。 那就是6封不同的邮件。
但是目前发送的只有最后一个人信息的邮件,而且重复发了6便

For Each dr As DataRow In DataTables("人员信息表").Sel e ct("到期时间 <= #" & Date.Today.AddDays(5) & "# And (状态 = '试用' Or 状态 = '实习')")   



 回到顶部
帅哥哟,离线,有人找我吗?
81538475
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1287 积分:10368 威望:0 精华:1 注册:2018/1/20 12:40:00
  发帖心情 Post By:2018/5/11 17:49:00 [只看该作者]

测试了半天还是没有找到原因,上传一个样例,麻烦帮忙看看是什么情况。
麻烦修改下发送邮箱帮忙测试一下。
希望达到的效果是,第一列里面每个名字都会以一个单独的邮件发送。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目5.table


 回到顶部
总数 12 1 2 下一页