Foxtable(狐表)用户栏目专家坐堂 → 老大,帮我看看我的发送邮件的代码有什么问题?


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

主题:老大,帮我看看我的发送邮件的代码有什么问题?

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
老大,帮我看看我的发送邮件的代码有什么问题?  发帖心情 Post By:2012/4/28 17:46:00 [只看该作者]

DataTables("邮件系统").Save
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.ConnectionName = "Server"
cmd.CommandText = "SELECT * From {部门人员} Where [人员名称] = '" & _UserName & "'"
dt = cmd.ExecuteReader
If dt.DataRows.Count > 0 Then
    Dim m As New MailSender
    m.Host = dt.DataRows(0)("SMTP设置_服务器")
    m.Account = dt.DataRows(0)("邮件帐号")
    m.Password = dt.DataRows(0)("邮件密码")
    m.From = dt.DataRows(0)("Email")
    m.To = Tables("邮件系统").Current("收件人")
    m.Title = Tables("邮件系统").Current("主题")
    m.Content = Tables("邮件系统").Current("内容")
    Dim Multi1 As String = Tables("邮件系统").Current("附件")
    Dim Values1() As String
     m.SendAsync()
End If
MessageBox.Show("邮件发送成功")

 

 

  这个发送没有问题,可以成功.


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2012/4/28 17:48:00 [只看该作者]

DataTables("邮件系统").Save
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.ConnectionName = "Server"
cmd.CommandText = "SELECT * From {部门人员} Where [人员名称] = '" & _UserName & "'"
dt = cmd.ExecuteReader
If dt.DataRows.Count > 0 Then
    Dim m As New MailSender
    m.Host = dt.DataRows(0)("SMTP设置_服务器")
    m.Account = dt.DataRows(0)("邮件帐号")
    m.Password = dt.DataRows(0)("邮件密码")
    m.From = dt.DataRows(0)("Email")
    m.To = Tables("邮件系统").Current("收件人")
    Dim Multi As String = Tables("邮件系统").Current("抄送")
    Dim Values() As String
    Values = Multi.split(",")
    For Index As Integer = 1 To Values.Length - 1
        m.AddReceiver(Values(Index))
    Next
    m.Title = Tables("邮件系统").Current("主题")
    m.Content = Tables("邮件系统").Current("内容")
     m.SendAsync()
End If
MessageBox.Show("邮件发送成功")

 

  加了多人收件,不起作用,我的多人的代码写法有问题吗?

 

 

 另外附件也是这样的写法,有问题吗?

 

    Dim Multi1 As String = Tables("邮件系统").Current("附件")
    Dim Values1() As String
    Values1 = Multi1.split(",")
    For Index1 As Integer = 1 To Values1.Length - 1
        m.AddAttachments(Values1(Index1))
    Next
    


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2012/4/28 17:50:00 [只看该作者]

后来我把代码修改了一下:

 

DataTables("邮件系统").Save
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.CommandText = "SELECT * From {部门人员} Where [人员名称] = '" & _UserName & "'"
dt = cmd.ExecuteReader
Dim m As New MailSender
If dt.DataRows.Count > 0 Then
    m.Host = dt.DataRows(0)("SMTP设置_服务器")
    m.Account = dt.DataRows(0)("邮件帐号")
    m.Password = dt.DataRows(0)("邮件密码")
    m.From = dt.DataRows(0)("Email")
End If
    m.To = Tables("邮件系统").Current("收件人")
      MessageBox.Show(1)
    m.Title = Tables("邮件系统").Current("主题")
    m.Content = Tables("邮件系统").Current("内容")
    MessageBox.Show(2)
       m.SendAsync()
MessageBox.Show("邮件发送成功")

 

 

  红色部分都通过了,但是出现了错误提示:

 

 


图片点击可在新窗口打开查看此主题相关图片如下:tm截图未命名.jpg
图片点击可在新窗口打开查看

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


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

2楼问题,看看你的邮箱是否允许发送附件,如果允许的话,你的附件是不是太大,发送的附件超过了邮箱的限制,还有你用的是异步发送,虽然似乎马上发送完毕,但是实际上还在发送,并没有发送结束,特别是有附件的时候,所以并不能及时收到。

此外看看你的指定的附件是不是说真的存在,附件一定要包括完整的路径,还有是不是虽然收到了,但是被自动放在垃圾邮件箱了。

 

至于三楼,你没有指定收件人,当然报错的。


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


加好友 发短信
等级:三尾狐 帖子:623 积分:3897 威望:0 精华:0 注册:2011/8/3 22:13:00
  发帖心情 Post By:2012/4/28 20:56:00 [只看该作者]

我再研究一下.


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


加好友 发短信
等级:三尾狐 帖子:623 积分:3897 威望:0 精华:0 注册:2011/8/3 22:13:00
  发帖心情 Post By:2012/4/28 22:38:00 [只看该作者]

DataTables("邮件系统").Save
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.CommandText = "SELECT * From {部门人员} Where [人员名称] = '" & _UserName & "'"
dt = cmd.ExecuteReader
If dt.DataRows.Count > 0 Then
    Dim m As New MailSender
    m.Host = dt.DataRows(0)("SMTP设置_服务器")
    m.Account = dt.DataRows(0)("邮件帐号")
    m.Password = dt.DataRows(0)("邮件密码")
    m.From = dt.DataRows(0)("Email")
    Dim r As Row = Tables("邮件系统").Current
    m.Title =r("主题")
    m.Content = r("内容")
    Dim Values() As String
    Values = r("收件人").split(",")
    For Index As Integer = 0 To Values.Length - 1
        MessageBox.Show(Values(Index))
        m.AddReceiver(Values(Index))
    Next
    m.SendAsync()
End If
MessageBox.Show("邮件发送成功")

 

 这段代码怎么看都没有问题,但是

 

 Dim Values() As String
Values = r("收件人").split(",")
For Index As Integer = 0 To Values.Length - 1
MessageBox.Show(Values(Index))
m.AddReceiver(Values(Index))
Next


  这个不起作用,对话框没有出来.

 但是我用按钮单独做了一个测试是可以对话框的.


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


加好友 发短信
等级:三尾狐 帖子:623 积分:3897 威望:0 精华:0 注册:2011/8/3 22:13:00
  发帖心情 Post By:2012/4/28 23:14:00 [只看该作者]

我改这样也不行,问题在哪儿呢?

 

DataTables("邮件系统").Save
Dim r As Row = Tables("邮件系统").Current
Dim i As Integer
If r("收件人") = "" Then
    MessageBox.Show("收件人信息不完整, 请重新设置! ","信息提示",MessageBoxButtons.OK)
    Return
Else
    Dim cmd As New SQLCommand
    Dim dt As DataTable
    cmd.C
    cmd.CommandText = "SELECT * From {部门人员} Where [人员名称] = '" & _UserName & "'"
    dt = cmd.ExecuteReader
    If dt.DataRows.Count > 0 Then
        Dim m As New MailSender
        m.Host = dt.DataRows(0)("SMTP设置_服务器")
        m.Account = dt.DataRows(0)("邮件帐号")
        m.Password = dt.DataRows(0)("邮件密码")
        m.From = dt.DataRows(0)("Email")
        Dim Values() As String
        Values = r("收件人").split(",")
        For Index As Integer = 0 To Values.Length - 1
            If Values(Index).Length = 0 Then
                m.To = r("收件人")
            Else
                m.AddReceiver(Values(Index))
            End If
        Next
        m.Title =r("主题")
        m.Content = r("内容")
        m.SendAsync()
        MessageBox.Show("邮件发送完毕! ","信息提示!",MessageBoxButtons.OK)
    End If
End If


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


加好友 发短信
等级:三尾狐 帖子:623 积分:3897 威望:0 精华:0 注册:2011/8/3 22:13:00
  发帖心情 Post By:2012/4/28 23:29:00 [只看该作者]

全部搞定,封帖!

 回到顶部