| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2874 人关注过本帖
标题:Active部件不能创建对象
只看楼主 加入收藏
yiyaozjk
Rank: 2
等 级:论坛游民
帖 子:231
专家分:30
注 册:2010-3-10
结帖率:51.67%
收藏
已结贴  问题点数:0 回复次数:9 
Active部件不能创建对象
为什么我引用了JMAIL4.0 library, 但还是Active部件不能创建对象

代码是网上搜索下来,如下:
Option Explicit

Sub SendMail(Optional ByVal sSubject As String, Optional ByVal sBody As String, Optional ByVal sFileName As String)

Dim jmail As Object

Set jmail = CreateObject("jmail.Message ")
If sFileName <> " " Then jmail.AddAttachment sFileName  '附件

jmail.Charset = "gb2312 "
jmail.Silent = False
jmail.Priority = 1 '邮件状态,1-5 1为最高
jmail.MailServerUserName = "****" 'Email帐号
jmail.MailServerPassWord = "****" 'Email密码

jmail.FromName = "邮件 " '发信人姓名
jmail.From = "****@ " '发邮件地址地址

jmail.Subject = sSubject '主题
jmail.AddRecipient "****@ " '收信人地址
jmail.Body = sBody '信件正文

jmail.Send ("smtp. ")  'SMTP服务器,如smtp.

Set jmail = Nothing

End Sub

Sub Command1_Click()
SendMail "测试 ", "我爱你 ", "这里填附件地址 "
MsgBox "OK "
End Sub


百思不得其解,我的系统是windows2003 +vb6,原来用这个组件做windows2003 +asp时都可以的,现在为什么不可以呢??
搜索更多相关主题的帖子: 搜索 Email 网上 邮件 
2011-08-09 22:09
Artless
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:4211
专家分:28888
注 册:2009-4-8
收藏
得分:0 
摆度
可能是163的服务器不支持客户端。

无知
2011-08-12 00:53
ta8607
Rank: 4
等 级:业余侠客
帖 子:377
专家分:244
注 册:2007-9-22
收藏
得分:20 
Set jmail = CreateObject("jmail.Message ")
這裡有個空格吧.
我也是用163的,都沒有問題.

不理会流言蜚语,努力做好份内事情,只做自己.
2011-08-12 09:47
yiyaozjk
Rank: 2
等 级:论坛游民
帖 子:231
专家分:30
注 册:2010-3-10
收藏
得分:0 
隔了几天没来论坛,本想回复这个贴子的,但死活不敢让我回复,非要我结贴....
去掉了前面的空格,三楼正解,是对的..


但随后又出现了下面的错误...
the message was undeliverable .all servers failed to receive the message.
无法投递的消息,所有服务器没有收到消息

我更换了一下其它邮件服务器,也是弹出这个错误代码,能否给个发送邮件正确的代码来参考一下...



是何解???
2011-08-16 18:45
zhuyongxing
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:234
专家分:482
注 册:2009-8-5
收藏
得分:0 
程序代码:
Private Sub Command1_Click()
'send email
    Subject = "VBA" '邮件标题
    Body = "VBA SEND EMAIL" ' 邮件内容
   '     Body 邮件内容
    isHtml = True '   是否发送Html格式邮件 (true 是)
    HtmlBody = "VBA SEND EMAIL " ' Html格式邮件内容"
    MailTo = "308749442@" ' 收件人Email
    From = "zhuyongxing102@" '     '发件人Email
    FromName = "zhuyongxing102@" '发件人姓名
    Smtp = "smtp."  'smtp服务器
    Username = "zhuyongxing102@" '邮箱用户名
    Password = "" '邮箱密码
Select Case JmailSend(attachFile, Subject, Body, isHtml, HtmlBody, MailTo, From, FromName, Smtp, Username, Password)
Case "N"

 MsgBox ("发送失败")

 Case "Y"

 MsgBox ("发送ok")
End Select
End Sub
Function JmailSend(attachFile, Subject, Body, isHtml, HtmlBody, MailTo, From, FromName, Smtp, Username, Password) As String
'=================================================
'函数名:JmailSend
'作  用:用Jmail发送邮件
'参  数:Subject  邮件标题
'        Body     邮件内容
'        Body     邮件内容
'        isHtml   是否发送Html格式邮件 (true 是)
'        HtmlBody Html格式邮件内容
'    MailTo   收件人Email
'        From     发件人Email
'        FromName 发件人姓名
'        Smtp     smtp服务器
    '     Username 邮箱用户名
'        Password 邮箱密码
'返回值:JmailSend="N" 发送失败 JmailSend="Y" 发送成功
'~~~~~~~~~~suercool~~~~~
'=================================================
Dim JmailMsg
'Set JmailMsg = server.CreateObject("jmail.message")
Set JmailMsg = New jmail.Message
JmailMsg.MailServerUserName = Username '如果是在局域网中可以不要验证
JmailMsg.MailServerPassWord = Password

JmailMsg.AddRecipient MailTo
JmailMsg.From = From
JmailMsg.FromName = FromName

JmailMsg.Charset = "gb2312"
JmailMsg.ContentType = "text/html"
JmailMsg.Priority = 1
JmailMsg.Logging = True
JmailMsg.Silent = True

JmailMsg.Subject = Subject
'JmailMsg.Body = Body
'JmailMsg.AddAttachment = "" ' attachFile
'If isHtml = True Then JmailMsg.HtmlBody = HtmlBody
 JmailMsg.HtmlBody = HtmlBody

If Not JmailMsg.Send(Smtp) Then
JmailSend = "N"
Else
JmailSend = "Y"
End If
JmailMsg.Close
Set JmailMsg = Nothing
'MsgBox (JmailSend) '测试时可以用
End Function
2011-08-16 21:04
zhuyongxing
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:234
专家分:482
注 册:2009-8-5
收藏
得分:0 
代码完全没问题你改成自己的就行了
2011-08-16 21:05
yiyaozjk
Rank: 2
等 级:论坛游民
帖 子:231
专家分:30
注 册:2010-3-10
收藏
得分:0 
zhuyongxing ,十分感谢你。这段代码硬实是对的,我也测试过了,没有问题。希望以后也能得到你的指点。

要不是已经结贴了的话,我也一定将分数送给你。。

这样看来,还应该是那代段有问题的了。。。。我目前还没有办法找出我上顼的代码问题出在哪里???(不过也是我从网上搜索来的。。。。)
2011-08-17 09:24
yiyaozjk
Rank: 2
等 级:论坛游民
帖 子:231
专家分:30
注 册:2010-3-10
收藏
得分:0 
为何加了JmailMsg.AddAttachment = "f:\狗.jpg"        ' attachFile
      这句报错,提示“实时错误438,对象不支持该属性或方法”


网上搜索了是应该这样写的呀??
怎样才能发送邮件附件呢??

2011-08-17 09:51
ta8607
Rank: 4
等 级:业余侠客
帖 子:377
专家分:244
注 册:2007-9-22
收藏
得分:0 
程序代码:
Public Function SendMail(Optional ByVal sSubject As String, _
Optional ByVal sBody As String, _
Optional ByVal sFileName As String) As Boolean
   On Error Resume Next
   

    Dim Jmail
    Set Jmail = CreateObject("jmail.Message")
    If sFileName <> "\" Then Jmail.AddAttachment sFileName '附件
    Jmail.Charset = "big5"
    Jmail.Silent = False
    Jmail.MailServerUserName = g_mailaccount 'Email帳號
    Jmail.MailServerPassWord = g_mailaccountpwd 'Email密碼
    Jmail.FromName = INI_SYS_COMPNAME '發信人姓名
    Jmail.From = g_mailaccount '發郵件地址地址"
    Jmail.Subject = sSubject '主題

    Jmail.AddRecipient g_mailto '收信人地址
    Jmail.Body = sBody '信件內容
    Jmail.Send (g_mailsmtpserver) 'SMTP伺服器,如smtp.
    Set Jmail = Nothing
    If Err.Number <> 0 Then
        SendMail = False
    Else
        SendMail = True
    End If
End Function
這是我的代碼,自己在用沒什麼問題,你參考一下

不理会流言蜚语,努力做好份内事情,只做自己.
2011-08-17 17:14
yiyaozjk
Rank: 2
等 级:论坛游民
帖 子:231
专家分:30
注 册:2010-3-10
收藏
得分:0 
邮件是能收到,但加了附件会不会乱码,我在代码里了加了你的一条:
    If sFileName <> "\" Then Jmail.AddAttachment sFileName '附件就会有乱码的情况
而且附件不是显示为附件,好象是在正文里一样
,不加附件时,邮件能正常显示
Private Sub Command1_Click()
'send email
    Subject = "VBA" '邮件标题
    Body = "VBA SEND EMAIL" ' 邮件内容
   '     Body 邮件内容
    isHtml = True '   是否发送Html格式邮件 (true 是)
    HtmlBody = "VB SEND EMAIL这是一个用VB发过来的邮件 " ' Html格式邮件内容"
    MailTo = "zjk_75@ ' 收件人Email
    From = "yiyaozjk@ '     '发件人Email
    FromName = "test" '发件人姓名
    Smtp = "smtp.  'smtp服务器
    Username = "yiyaozjk@ '邮箱用户名
    Password = "zjk19750926" '邮箱密码
    sFileName = "f:\狗3.jpg"
Dim JmailMsg
'Set JmailMsg = server.CreateObject("jmail.message")
Set JmailMsg = New Jmail.Message
If sFileName <> "\" Then JmailMsg.AddAttachment sFileName '附件

JmailMsg.MailServerUserName = Username '如果是在局域网中可以不要验证
JmailMsg.MailServerPassWord = Password

JmailMsg.AddRecipient MailTo
JmailMsg.From = From
JmailMsg.FromName = FromName

JmailMsg.Charset = "gb2312"
JmailMsg.ContentType = "text/plain" ' "text/html"
JmailMsg.Priority = 1   '邮件状态,1-5 1为最高
JmailMsg.Logging = True
JmailMsg.Silent = True

JmailMsg.Subject = Subject
'JmailMsg.AddAttachment ("f:\狗5.rar")   ''不能加这句,加了这句会乱码的
JmailMsg.HtmlBody = HtmlBody
If Not JmailMsg.Send(Smtp) Then
   MsgBox ("发送失败")
Else
   MsgBox ("发送ok")
End If
JmailMsg.Close
Set JmailMsg = Nothing
End Sub

不知道是什么原因...?????
2011-08-17 19:52
快速回复:Active部件不能创建对象
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027839 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved