难道没有人会吗?急需解决电子邮件附件发送问题!

viking 2001-06-01 09:38:00
加精

'ASP 附件发送的问题 ,为什么出错!

set mail=server.CreateObject("cdonts.newmail")
mail.From="webmaster@china.com"
mail.To="viking@china.com"
mail.Subject="电子邮件发送!"

'以下几句是添加附件,就出现了“数据区错误!”
'atfile="D:\file.gif"
'file="file.gif"
'mail.AttachFile atfile,file
mail.Body="电子邮件的正文!"
mail.Send

当这个程序没有加附件的时候很正常,但是一旦添加附件就会出错:

“传递到系统调用的数据区太小。

/ceshi_Local/email/send.asp, 行217 ”


请问有没有解决的方法,非常感谢!

我的机器本身就是服务器,NT SERVER 4.0

SMTP 服务也已经启动,还要开启什么服务呢?

如果不加附件发送很好,真是难以理解,就几K的附件还说数据区小!!!

(如能解决,300分相送!)

我的电子邮件:viking2001@china.com

如有答案,直接跟我联系即可,分照付)
...全文
1293 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
viking 2001-06-11
  • 打赏
  • 举报
回复


非常感谢各位朋友的大力帮助,不想多说,现在送分,呵呵…………


有空还要多多向各位请教。




Go_Rush 2001-06-09
  • 打赏
  • 举报
回复
我没有作过 邮件发送的功能的,所以我关注!!
cjlong 2001-06-07
  • 打赏
  • 举报
回复
150啊!来晚了,我不想多废话,用CDONTS附件路径必须为绝对路径
解决:使用IIS中的cpshost.dll上载文件到服务器,再发送.
CPSHOST用法
<form enctype="multipart/form-data"
action="http://dev_d/upload/post/cpshost.dll?PUBLISH"
method=post id=form2 name=form2>

<input type="file" id=file1 name=file1>
<input type="file" id=file2 name=file2>
<input type=hidden size=80 name="TargetURL" value="http://dev_d/upload/post">
<input type=submit value='Upload' id=submit1 name=submit1>
</td>
</table>
</form>

建议:不要用他
tonnycncn 2001-06-07
  • 打赏
  • 举报
回复
试试我的代码吧!
if sendmailflag=1 then
set mail=server.createobject("cdonts.newmail")
mail.from="gift@cyberlabs.com.cn"
mail.to =chrEmail
mail.subject=chrUserName& ": 这是一封来自WWW.ccisn.COM.CN的会员登记确认信。"
mail.bodyformat=0
mail.mailformat=0
MailText= chrPassword
MailText="尊敬的会员朋友:"& vbcrlf & vbcrlf
MailText=MailText&"来到E-Sky网站,您已经成为E-Sky的会员,您的用户名是"&chrUserName&",请记住您的密码:"&chrPassword&".现在您已得到个人积分" &intNumEPoints&"分,您可以用积分购买我们的礼品!"& vbcrlf & vbcrlf
MailText=MailText& " http://www.giftcenter.com.cn/gcver4.0/ecard/ECard_Index.asp" & vbcrlf & vbcrlf & "选择一款您中意的贺卡送给您的朋友。" & vbcrlf & vbcrlf
MailText = MailText & "E-Sky全体同仁" & vbcrlf & vbcrlf
MailText = MailText & "http://www.giftcenter.com.cn"
mail.body=MailText
mail.send
set mail=nothing
end if
KnowLittle 2001-06-07
  • 打赏
  • 举报
回复
来晚了,呵呵
comezxn 2001-06-07
  • 打赏
  • 举报
回复
jmail.smtpmail

Body : String
(v3.0)
信件体,正文,使用AppendText追加内容
如:JMail.Body = "Hello world"
Charset : String
(v3.0)
字符集,缺省为"US-ASCII"
如:JMail.Charset = "US-ASCII"

ContentTransferEncoding : String
(v3.0)
指定内容传送时的编码方式,缺省是"Quoted-Printable"
如:JMail.ContentTransferEncoding = "base64"

ContentType : String
(v3.0)
信件的contentype. 缺省是"text/plain",但是可以设置为其他你想要的类型.
如果你以HTML格式发送邮件, 改为"text/html"即可。
如:JMail.ContentType = "text/html"
DeferredDelivery : Date
(v3.0)
设置延期发送. 如果邮件服务器支持的话,消息到了这个时间才会发送
如:(Javascript)JMail.DeferredDelivery = new Date( 2000, 02, 17 ).getVarDate();
Encoding : String
(v3.0)
这个属性可以用来改变附件编码方式(缺省是"base64). 可以选择使用的是"base64", "uuencode" or "quoted-printable"
如:JMail.Encoding = "base64"
ErrorCode : Integer
(v3.0)
如果JMail.silent设置为true,ErrorCode包含的是错误代码
如:Response.Write( JMail.ErrorCode );
ErrorMessage : String
(v3.0)
如果JMail.silent设置为true,包含的是错误信息
如:Response.Write( JMail.ErrorMessage );
ErrorSource : String
(v3.0)
Contains the error source if JMail.silent is set to true
如:Response.Write( JMail.ErrorSource );
ISOEncodeHeaders : Boolean
(v3.0)
是否将信头编码成iso-8859-1字符集. 缺省是true
如:JMail.ISOEncodeHeaders = false
Lazysend : Boolean
(v3.0)

这个属性指定Jmail是否一直等到mail发送了然后返回,或者缓冲这条消息然后在后台发送。
然而设置了这个属性,你就不能控制错误信息。
注意:如果选择了这个选项,属性ServerAddress将无效,lazysend将通过dsn查询决定邮件服务器,
在一些设置里面,这可能有问题。
如:JMail.LazySend = true;
Log : String
(v3.0)
Jmail创建的日志,如果loging属性设置为true
如:Response.Write( JMail.Log );
Logging : Boolean
(v3.0)
是否使用日志
如:JMail.Logging = true
MailDomain : String
(v3.0)
This can be used to override the EHLO/HELO statement to your mailserver
如:JMail.Maildomain = "hello.world.com"
MimeVersion : String
(v3.0)
指定mime版本。缺省是"1.0"
如:JMail.MimeVersion = "1.0"
Priority : Integer
(v3.0)
优先级. 范围在1-5之间
1 高优先级. 有些邮件程序称之为紧急
2 也是高优先级
3 普通优先级
4 低优先级
5 最低的优先级
如:JMail.Priority = 3
Recipients : String
(v3.0)
只读属性,返回所有收件人
如:Response.Write( "" + JMail.Recipients + "" );
ReplyTo : String
(v3.0)
指定一个可选的回信地址
如:JMail.ReplyTo = "president@dimac.net"
ReturnReceipt : Boolean
(v3.0)
指定是否发件人需要一个回复收据. 缺省是false
如:JMail.ReturnReceipt = true
Sender : String
(v3.0)
指定发件人的邮件地址
如:JMail.Sender = "batman@dimac.net"
SenderName : String
(v3.0)
指定发件人的姓名
如:JMail.SenderName = "Bat man"
ServerAddress : String
(v3.0)
指定邮件服务器的地址。可以指定多个服务器,用分号点开。可以指定端口号。
如果serverAddress保持空白,JMail会尝试解决远程邮件服务器,然后直接发送到服务器上去。
如:JMail.ServerAddress = "mail.mydom.net; mail2.mydom.net:2500"
Silent : Boolean
(v3.0)
如果设置为true,JMail不会抛出例外错误. JMail.execute() 会根据操作结果返回true或false
如:JMail.silent = true
SimpleLayout : Boolean
(v3.0)
设置为true,减少Jmail产生的header信头
如:JMail.SimpleLayout = true
Subject : String
(v3.0)
设定消息的标题
如:JMail.Subject = "Dimac rocks big time!"
UsePipelining : Boolean
(v3.0)
Overrides if JMail should use pipelining on a server that supports it.
如:JMail.Pipelining = false
AddAttachment( FileName, [ContentType] )
(v3.0)
添加文件附件到信件
如:JMail.AddAttachment( "c:\\autoexec.bat" );
AddCustomAttachment( FileName, Data )
(v3.0)
添加自定义附件. This can be used to attach "virtual files" like a generated text string or certificate etc.
如:JMail.AddCustomAttachment( "readme.txt", "Contents of file" );
AddHeader( XHeader, Value )
(v3.0)
添加用户定义的X-header到message
如:JMail.AddHeader( "Originating-IP","193.15.14.623" );
AddNativeHeader( Header, Value )
(v3.0)
添加信头
如:JMail.AddNativeHeader( "MTA-Settings", "route" );
AddRecipient( Email )
(v3.0)
增加收件人
如:JMail.AddRecipient( "info@dimac.net" );
AddRecipientBCC( Email )
(v3.0)
增加密件收件人
如:JMail.AddRecipientBCC( "someone@somedomain.net" );
AddRecipientCC( Email )
(v3.0)
增加抄送收件人
如:JMail.AddRecipientCC( "someone@somedomain.net" );
AddRecipientEx( Email, Name )
(v3.0)
增加一个带名字的收件人
如:JMail.AddRecipientEx( "info@dimac.net", "Dimac INFO" );
AddURLAttachment( bstrURL, bstrAttachAs, [bstrAuth] )
(v3.0)
下载并添加一个来自url的附件. 第二个参数"AttachAs", 被用来指定信件收到后的文件名. 第3个可选参数是用来可选的WWW-鉴定.
如:JMail.AddURLAttachment( "http://download.dimac.net/jmail/jmail.exe", "jmail.exe" )
AppendBodyFromFile( FileName )
(v3.0)
将一个文件内容追加到正文后
如:JMail.AppendBodyFromFile( "c:\\mytext.txt" );
AppendText( Text )
(v3.0)
追加信件的正文内容
如:JMail.AppendText( "Text appended to message Body" );
ClearAttachments()
(v3.0)
清除附件列表
如:JMail.ClearAttachments();
ClearCustomHeaders()
(v3.0)
清除所有自定义的信头
如:JMail.ClearCustomHeaders();

ClearRecipients()
(v3.0)
清除收件人列表
如:JMail.ClearRecipients();
Close()
(v3.0)
强制JMail关闭缓冲的与邮件服务器的连接
如:JMail.Close();
Execute() : Boolean
(v3.0)
执行邮件的发送
如:JMail.Execute();
ExtractEmailAddressesFromURL( bstrURL, [bstrAuth] )
(v3.0)
从一个url下载和添加email地址
如:JMail.ExtractEmailAddressesFromURL( "http://duplo.org/generateEmailList.asp" );
GetMessageBodyFromURL( bstrURL, [bstrAuth] )
(v3.0)
清除message的正文,并用url的内容替换。Contenttype 会自动设置成URl的contentyp。第二参数(login and password)是可选的。
如:JMail.GetMessageBodyFromURL( "http://duplo.org/", "login:password" )

LogCustomMessage( Message )
(v3.0)
将用户自定义消息加入JMail日志. 只有属性loging设置为true时,这项功能才能起作用
如:JMail.LogCustomMessage( "Hello world" );




附,你可以用 <img src=http://www.csdn.net/…………>这种方式呀
comezxn 2001-06-07
  • 打赏
  • 举报
回复
你可能还会碰到用CDONTS发邮件带附件时发送的附件为什么老是在邮箱里显示乱码?
可以这样解决
<SCRIPT language="VBSCRIPT">

Function SendMailEx(sendTo, from, subject, body, cc, bcc)
dim MailObject
Set MailObject = CreateObject ("CDONTS.NewMail")
MailObject.MailFormat = 0 '主要问题在这
MailObject.BodyFormat = 1 '这必须设为0
MailObject.From = from
MailObject.To = sendTo
MailObject.Subject = subject
MailObject.Body = body
if cc <> "" then
MailObject.Cc = cc
end if
if bcc <> "" then
MailObject.Bcc = bcc
end if

MailObject.Send
Set MailObject = nothing
End Function

</script>
<BODY>
asdfsadfa
asdf
<Input type="button" value="sendmail" onclick="SendMailEx 'yyu@enet.com.cn', 'a@a.a', 'test', 'test', '', '' ">
</BODY>

</HTML>
comezxn 2001-06-07
  • 打赏
  • 举报
回复
附件路径必须为绝对路径.如c:\tax2\biao.htm,其中地址是你机器上的.如果你想使用服务器上的文件,你不凡设置一个EMAIL的HTML模板,放在服务器上,发信时使用TEXT/HTML格式,不使用Attfile直接将文件内容当作变量传给content发送就行了
comezxn 2001-06-07
  • 打赏
  • 举报
回复
找到例子了:
<%
Dim MailObject
Dim Email
Email ="comezxn@sina.com"
Set MailObject = Server.CreateObject("CDONTS.NewMail")
att_file="C:\bbs\bbs.htm"
f_name="biao.htm"
MailObject.From="comezxn@sina.com"
MailObject.To = Email
MailObject.Subject="dd"
MailObject.Body="dakjf"
MailObject.AttachFile att_file,f_name
MailObject.Send
%>
comezxn 2001-06-07
  • 打赏
  • 举报
回复
jmail很好用,我就用的是,应该很好的支持很多功能,下载可以到webcn.net/asphouse
具体代码,等会我找给你看!
其实cdonts也可以,我找找给你看!
viking 2001-06-07
  • 打赏
  • 举报
回复


TO nbyy(令飞狐冲) 

可惜我的程序是 ASP 的,如果你的程序可以编译成组件,可以考虑。谢谢

感谢楼上两位的支持,先奉送 20 分。问题何时得到解决再高分相赠!


格利高里 2001-06-07
  • 打赏
  • 举报
回复
cdonts不太好用, 可以試試 http://www.persits.com/aspemail.exe
nbyy 2001-06-07
  • 打赏
  • 举报
回复
我有VC的发送附件的代码,你要不要?
ghostyang@163.net

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧