vb SMTP发送邮件问题???

时间:2021-09-14 18:11:22
 先把SMTP.ocx控件在系统中注册,在vb中我是这样调用,先建立一个工程,在一个form中,把刚注册SMTP.ocx控件调用出来,拖放在界面上,控件名称改为“SMTP_Test”,代码如下:
With SMTP_Test
     .Server = "10.4.250.52"
      .Port = 25
     .MailFrom = "smileguo@strcn.com"
     .SendTo = "93035426@qq.com"
     .MessageSubject = "AA"
     .MessageText = "BBB"
     .SendEmail
 End With

代码测试没有错误,发送都一步步执行,程序没有出任何错误,最后就是对方收不到邮件???


请教高手??

13 个解决方案

#1


以前我也用SMTP 多一个控件 还要再在客户端注册 何苦呢?

Private Sub Command1_Click()
   NameSpace = "http://schemas.microsoft.com/cdo/configuration/"
   Set Email = CreateObject("CDO.Message")
   Email.From = "test@126.com" '你的邮箱地址
   Email.To = "test2@126.com"  '要发往的地址
   Email.Subject = "你好这是测试" '主题
   Email.Textbody = "这只是一个测试" '测试
   Email.AddAttachment "c:\ht.flv" '附件
   With Email.Configuration.Fields
      .Item(NameSpace & "sendusing") = 2
      .Item(NameSpace & "smtpserver") = "smtp.126.com" '发送邮件服务器
      .Item(NameSpace & "smtpserverport") = 25
      .Item(NameSpace & "smtpauthenticate") = 1
      .Item(NameSpace & "sendusername") = "test" '邮箱用户名
      .Item(NameSpace & "sendpassword") = "******"  '密码
      .Update
   End With
   Email.Send
   MsgBox "发送成功"
End Sub

#2


呵...你可能会搞错 给你我在用的代码吧

Private Sub Command1_Click()
   NameSpace = "http://schemas.microsoft.com/cdo/configuration/"
   Set Email = CreateObject("CDO.Message")
   Email.From = "samliu0812@126.com" '你的邮箱地址
   Email.To = "samliu0812@163.com"  '要发往的地址
   Email.Subject = "你好这是测试" '主题
   Email.Textbody = "这只是一个测试" '测试
   Email.AddAttachment "c:\tt.XLS" '附件
   With Email.Configuration.Fields
      .Item(NameSpace & "sendusing") = 2
      .Item(NameSpace & "smtpserver") = "smtp.126.com" '发送邮件服务器
      .Item(NameSpace & "smtpserverport") = 25
      .Item(NameSpace & "smtpauthenticate") = 1
      .Item(NameSpace & "sendusername") = "SamLiu0812" '邮箱用户名
      .Item(NameSpace & "sendpassword") = "123456"  '密码
      .Update
   End With
   Email.Send
   MsgBox "发送成功"
End Sub

#3


  "  Email.Send "到这里发送失败!!!!


  是不是跟网络有关???

#4


你的设定问题 检查一下这部份

 With Email.Configuration.Fields 
      .Item(NameSpace & "sendusing") = 2 
      .Item(NameSpace & "smtpserver") = "smtp.126.com" '发送邮件服务器 
      .Item(NameSpace & "smtpserverport") = 25 
      .Item(NameSpace & "smtpauthenticate") = 1 
      .Item(NameSpace & "sendusername") = "SamLiu0812" '邮箱用户名 
      .Item(NameSpace & "sendpassword") = "123456"  '密码 
      .Update 
  End With 

#5


 ??/?
还是不行?

#6


???

#7


????????????

#8


可能问题:
1. 你的邮箱是否是126的,如果不是,需要修改邮箱地址和邮件服务器地址
2. 附件路径是否正确
3. 附件大小是否超过标准,换个小的文本文件试试

#9


With SMTP_Test 
    .Server = "10.4.250.52" 
      .Port = 25 
    .MailFrom = "smileguo@strcn.com" 
    .SendTo = "93035426@qq.com" 
    .MessageSubject = "AA" 
    .MessageText = "BBB" 
    .SendEmail 
End With 

我是想用这代码发送 ???

#10


别人好心帮你,你怎么不听劝呀

唉,不用SMTP.ocx,不知道是否管用,下载个smtp.dll,好用

smtp.dll通过smtp协议发送邮件,为标准windows dll
有两个导出函数
1.SendMail函数             发送邮件主函数
2.GetSmtpError函数         当发送失败时使用该函数取得失败的原因 (比如用户名密码错误)

#11


jmail也很不错,稳定性很强,可以一试...

#12


谢谢 asftrhgjhkjlkttttttt

引用 8 楼 asftrhgjhkjlkttttttt 的回复:
可能问题:
1. 你的邮箱是否是126的,如果不是,需要修改邮箱地址和邮件服务器地址
2. 附件路径是否正确
3. 附件大小是否超过标准,换个小的文本文件试试


看一下这里,改一下, 我一直在用这个代码,应该没问题的
http://hiphotos.baidu.com/cbm666/pic/item/08a69e2f9d3e710a1e308926.jpg

#13


该回复于2010-03-12 11:39:20被版主删除

#1


以前我也用SMTP 多一个控件 还要再在客户端注册 何苦呢?

Private Sub Command1_Click()
   NameSpace = "http://schemas.microsoft.com/cdo/configuration/"
   Set Email = CreateObject("CDO.Message")
   Email.From = "test@126.com" '你的邮箱地址
   Email.To = "test2@126.com"  '要发往的地址
   Email.Subject = "你好这是测试" '主题
   Email.Textbody = "这只是一个测试" '测试
   Email.AddAttachment "c:\ht.flv" '附件
   With Email.Configuration.Fields
      .Item(NameSpace & "sendusing") = 2
      .Item(NameSpace & "smtpserver") = "smtp.126.com" '发送邮件服务器
      .Item(NameSpace & "smtpserverport") = 25
      .Item(NameSpace & "smtpauthenticate") = 1
      .Item(NameSpace & "sendusername") = "test" '邮箱用户名
      .Item(NameSpace & "sendpassword") = "******"  '密码
      .Update
   End With
   Email.Send
   MsgBox "发送成功"
End Sub

#2


呵...你可能会搞错 给你我在用的代码吧

Private Sub Command1_Click()
   NameSpace = "http://schemas.microsoft.com/cdo/configuration/"
   Set Email = CreateObject("CDO.Message")
   Email.From = "samliu0812@126.com" '你的邮箱地址
   Email.To = "samliu0812@163.com"  '要发往的地址
   Email.Subject = "你好这是测试" '主题
   Email.Textbody = "这只是一个测试" '测试
   Email.AddAttachment "c:\tt.XLS" '附件
   With Email.Configuration.Fields
      .Item(NameSpace & "sendusing") = 2
      .Item(NameSpace & "smtpserver") = "smtp.126.com" '发送邮件服务器
      .Item(NameSpace & "smtpserverport") = 25
      .Item(NameSpace & "smtpauthenticate") = 1
      .Item(NameSpace & "sendusername") = "SamLiu0812" '邮箱用户名
      .Item(NameSpace & "sendpassword") = "123456"  '密码
      .Update
   End With
   Email.Send
   MsgBox "发送成功"
End Sub

#3


  "  Email.Send "到这里发送失败!!!!


  是不是跟网络有关???

#4


你的设定问题 检查一下这部份

 With Email.Configuration.Fields 
      .Item(NameSpace & "sendusing") = 2 
      .Item(NameSpace & "smtpserver") = "smtp.126.com" '发送邮件服务器 
      .Item(NameSpace & "smtpserverport") = 25 
      .Item(NameSpace & "smtpauthenticate") = 1 
      .Item(NameSpace & "sendusername") = "SamLiu0812" '邮箱用户名 
      .Item(NameSpace & "sendpassword") = "123456"  '密码 
      .Update 
  End With 

#5


 ??/?
还是不行?

#6


???

#7


????????????

#8


可能问题:
1. 你的邮箱是否是126的,如果不是,需要修改邮箱地址和邮件服务器地址
2. 附件路径是否正确
3. 附件大小是否超过标准,换个小的文本文件试试

#9


With SMTP_Test 
    .Server = "10.4.250.52" 
      .Port = 25 
    .MailFrom = "smileguo@strcn.com" 
    .SendTo = "93035426@qq.com" 
    .MessageSubject = "AA" 
    .MessageText = "BBB" 
    .SendEmail 
End With 

我是想用这代码发送 ???

#10


别人好心帮你,你怎么不听劝呀

唉,不用SMTP.ocx,不知道是否管用,下载个smtp.dll,好用

smtp.dll通过smtp协议发送邮件,为标准windows dll
有两个导出函数
1.SendMail函数             发送邮件主函数
2.GetSmtpError函数         当发送失败时使用该函数取得失败的原因 (比如用户名密码错误)

#11


jmail也很不错,稳定性很强,可以一试...

#12


谢谢 asftrhgjhkjlkttttttt

引用 8 楼 asftrhgjhkjlkttttttt 的回复:
可能问题:
1. 你的邮箱是否是126的,如果不是,需要修改邮箱地址和邮件服务器地址
2. 附件路径是否正确
3. 附件大小是否超过标准,换个小的文本文件试试


看一下这里,改一下, 我一直在用这个代码,应该没问题的
http://hiphotos.baidu.com/cbm666/pic/item/08a69e2f9d3e710a1e308926.jpg

#13


该回复于2010-03-12 11:39:20被版主删除