Foxtable(狐表)用户栏目专家坐堂 → 用FOXTABLE发邮件问题


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

主题:用FOXTABLE发邮件问题

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


加好友 发短信
等级:三尾狐 帖子:778 积分:7463 威望:0 精华:0 注册:2009/9/7 10:55:00
  发帖心情 Post By:2010/11/7 10:37:00 [只看该作者]

7楼最后一个图的错误提示,是什么原因造成的?

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


加好友 发短信
等级:三尾狐 帖子:778 积分:7463 威望:0 精华:0 注册:2009/9/7 10:55:00
  发帖心情 Post By:2010/11/7 11:09:00 [只看该作者]

Dim m As New MailSender
Dim ln As String = vbcrlf & vbcrlf '定义两个换行
m.Host = "smtp.qq.com"
m.Account = "472627211"
m.Password = "9@%"
m.From = "472627211@qq.com"
For Each  dr As DataRow In DataTables("发信").DataRows
    m.To = dr("邮箱")
    m.Title = "0月份单位工资数据归档包"
    m.Content = dr("单位")  & ":" & ln & "请你单位按附件为准进行归档,"
    m.Content = m.Content & "归档方法同以往操作方法,也可到群共享中查看具体归档方法和步骤!" & ln & "佳县**局" & vbcrlf & Date.today
      Dim Parts() As String = CurrentTable.Current("文件").Replace(vbcr,"").Split(vblf)
      For i As Integer = 0 To Parts.Length - 1
        m.AddAttachments(Parts(i))
      Next
    m.SendAsync()
Next

 

这段代码有何问题?请剔教。

问题一:

附件会重复发送两次。

问题二:

向所有用户发送的是第一条纪录的附件。

 


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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/11/7 11:19:00 [只看该作者]

这是是因为你加了附件后,却没有清除上一条记录的附件,可以这样解决看看

 

For Each  dr As DataRow In DataTables("发信").DataRows
    Dim m As New MailSender
    Dim ln As String = vbcrlf & vbcrlf '定义两个换行
    m.Host = "smtp.qq.com"
    m.Account = "472627211"
    m.Password = "9@%"
    m.From = 472627211@qq.com
    m.To = dr("邮箱")
    m.Title = "0月份单位工资数据归档包"
    m.Content = dr("单位")  & ":" & ln & "请你单位按附件为准进行归档,"
    m.Content = m.Content & "归档方法同以往操作方法,也可到群共享中查看具体归档方法和步骤!" & ln & "佳县**局" & vbcrlf & Date.today
      Dim Parts() As String = CurrentTable.Current("文件").Replace(vbcr,"").Split(vblf)
      For i As Integer = 0 To Parts.Length - 1
        m.AddAttachments(Parts(i))
      Next
    m.SendAsync()
Next


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


加好友 发短信
等级:三尾狐 帖子:778 积分:7463 威望:0 精华:0 注册:2009/9/7 10:55:00
  发帖心情 Post By:2010/11/7 13:51:00 [只看该作者]

用上述代码执行后,仍然会出现附件重复发送的问题。还有就是把第一个人的附件发到了所有其他 人的邮箱里了。

 

 

经测试发现,用上述代码后,只是将当前纪录的附件发送到所有人的邮箱。纪录没有发生移动。

 

 

如何清空附件?

[此贴子已经被作者于2010-11-7 14:02:20编辑过]

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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/11/7 16:05:00 [只看该作者]

你不能用Current,Current表示当前行的,所以你的代码应该是:

 

For Each  dr As DataRow In DataTables("发信").DataRows
    Dim m As New MailSender
    Dim ln As String = vbcrlf & vbcrlf '定义两个换行
    m.Host = "smtp.qq.com"
    m.Account = "472627211"
    m.Password = "9@%"
    m.From = 472627211@qq.com
    m.To = dr("邮箱")
    m.Title = "0月份单位工资数据归档包"
    m.Content = dr("单位")  & ":" & ln & "请你单位按附件为准进行归档,"
    m.Content = m.Content & "归档方法同以往操作方法,也可到群共享中查看具体归档方法和步骤!" & ln & "佳县**局" & vbcrlf & Date.today
      Dim Parts() As String = dr("文件").Replace(vbcr,"").Split(vblf)
      For i As Integer = 0 To Parts.Length - 1
        m.AddAttachments(Parts(i))
      Next
    m.SendAsync()
Next

 

还是要多看多理解并帮助的


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


加好友 发短信
等级:幼狐 帖子:198 积分:1646 威望:0 精华:0 注册:2012/4/16 10:10:00
关于筛选函数  发帖心情 Post By:2012/6/27 20:40:00 [只看该作者]

如果不筛选,只要选中该行,就提取该行的数据发送,应该用什么函数替换:Select("派送时间= #" & Date.Today.AddDays(10) & "#")呢?

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


加好友 发短信
等级:幼狐 帖子:198 积分:1646 威望:0 精华:0 注册:2012/4/16 10:10:00
  发帖心情 Post By:2012/6/27 20:42:00 [只看该作者]

以下是引用狐狸爸爸在2010-11-6 16:52:00的发言:

刚刚新加一段帮助,复制给你:

 

有了MailSender,我们可以根据数据表内容动态合成邮件发送,例如下面的代码从借款表中筛选出10天内到期的客户,并发送催款邮件:

 

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

如果不筛选,只要选中该行,就提取该行的数据发送,应该用什么函数替换:Select("派送时间= #" & Date.Today.AddDays(10) & "#")呢?


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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/6/28 8:21:00 [只看该作者]

获得选中的行:

http://www.foxtable.com/help/topics/1433.htm

 

所以代码很简单:

Dim dr As Row = Tables("XXX").Current
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"
m.To = dr("邮件地址")
m.Title = "催款通知"
m.Content = dr("姓名") & dr("尊称") & ":" & ln & "您的贷款将于" & dr("到期日期") & "到期, "
m.Content = m.Content & "金额为" & dr("金额") & "元, 请准时还款!" & ln & "某某公司" & vbcrlf & Date.today
m.SendAsync()

建议多看Foxtable自带帮助文件,而不是看人家的例子。

看帮助一定要按顺序,头一两遍可以不求甚解,第三遍开始要将每个例子实际操作演练一遍,不明白的就上论坛求助。三遍之后才开始做系统,遇到问题在帮助找答案,找不到的在论坛提问。
此外一定要先掌握《使用指南》,然后再看《开发指南》

 

 


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


加好友 发短信
等级:幼狐 帖子:198 积分:1646 威望:0 精华:0 注册:2012/4/16 10:10:00
  发帖心情 Post By:2012/7/3 15:55:00 [只看该作者]

如果想添加附件的时候怎么添加啊,不同的行包含不同的附件,怎么进行这样的动态添加?


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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/7/3 16:30:00 [只看该作者]

m.AddAttachments(ProjectPath  & "Attachments\" & r("存储附件名称的列名"))

 回到顶部
总数 20 上一页 1 2