发送email的问题,照着书上的也错,无语ing!
代码如下:我的系统是winxp+vs.net2003
<%@ Import namespace="System.Web.Mail" %>
<%@ Import namespace="System.Web.Util" %>
<%@ Page Language="vb" AutoEventWireup="false"%>
<Script language="vb" runat="server">
dim mailobj as new mailmessage()
dim smtp as new smtpMail()
smtp.smtpserver="smtp.sina.com.cn" //设定服务器
mailobj.from="132@douhu.com" //发件人
mailobj.to="ad@163.com" //收件人
mailobj.bcc="dwad@ds.com"//暗送
mailobj.cc="dsa@ds.com"//抄送
mailobj.subject="你好!"//邮件主题
mailobj.bodyformat="虎骨酒虎骨酒"//内容
mailobj.bodyformat=mailbodyformat.html //内容的形式(以html文件用html,一文本用text)
mailobj.priority=mailpriority.high //优先级别
mailobj.attachment.add(new mailattachment(server.mappath("path")//绑定附件
smtp.send(mailobj)//发送
</script>
\\---------------------------运行结果如下
编译错误
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。
编译器错误信息: BC30390: “System.Web.Mail.SmtpMail.Private Sub New()”是“Private”,因此它在此上下文中无法访问。
源错误:
行 4: <Script language="vb" runat="server">
行 5: dim mailobj as new mailmessage()
行 6: dim smtp as new smtpMail()
行 7: smtp.smtpserver="smtp.sina.com.cn" //设定服务器
行 8: mailobj.from="132@douhu.com" //发件人
源文件: http://localhost/webnet/test.aspx 行: 6
版本信息: Microsoft .NET Framework 版本:1.1.4322.573; ASP.NET 版本:1.1.4322.573
问题点数:50、回复次数:17Top
1 楼fengyuyan(风雨岩)回复于 2004-08-02 01:53:47 得分 0
首先把 smtp.smtpserver="smtp.sina.com.cn" //设定服务器
改成 你自己的IP。
sina的是要验证的。默认的Mail类是不支持的。
最好找一个别人写好的类。拿来用。还能学到一些smtp协议的知识。Top
2 楼ycc2008(皮皮)回复于 2004-08-02 07:38:01 得分 0
加上smtp验证试试Top
3 楼mikyxyc(甜蜜)回复于 2004-08-02 10:14:12 得分 0
to fengyuyan(风雨岩) :
不是这个原因啊,在dim smtp as new smtpMail()这一句就出错了Top
4 楼mikyxyc(甜蜜)回复于 2004-08-02 11:06:16 得分 0
谁来帮帮我啊,Top
5 楼sea026(沸点海岭_____征求“海”字的26种写法)回复于 2004-08-02 11:11:19 得分 0
去掉newTop
6 楼sea026(沸点海岭_____征求“海”字的26种写法)回复于 2004-08-02 11:13:38 得分 0
不过,好像现在的商业网站的mail都要认证了。Top
7 楼mikyxyc(甜蜜)回复于 2004-08-02 12:36:40 得分 0
to sea026(沸点海岭_____征求“海”字的26种写法) :
去掉new后,在smtp.smtpserver="smtp.sina.com.cn"行报错,提示变量未声明Top
8 楼mituzhishi(慎独)回复于 2004-08-02 12:57:33 得分 0
同样的疑惑:
Dim objSMTP As New System.Web.Mail.SmtpMail
objSMTP.Send(txtEMail.Text, txtEMail.Text, "Test SMTP Mail", "This is a test!")
“System.Web.Mail.SmtpMail.Private Sub New()”是“Private”,因此它在此上下文中无法访问。Top
9 楼Rotaxe(程序员)回复于 2004-08-02 13:39:54 得分 0
<%@ Import namespace="System.Web.Mail" %>
<%@ Import namespace="System.Web.Util" %>
<%@ Page Language="vb" AutoEventWireup="false"%>
<Script language="vb" runat="server">
dim mailobj as new mailmessage()
'dim smtp as new smtpMail()
smtpMail.smtpserver="smtp.sina.com.cn" //设定服务器
mailobj.from="132@douhu.com" //发件人
mailobj.to="ad@163.com" //收件人
mailobj.bcc="dwad@ds.com"//暗送
mailobj.cc="dsa@ds.com"//抄送
mailobj.subject="你好!"//邮件主题
mailobj.bodyformat="虎骨酒虎骨酒"//内容
mailobj.bodyformat=mailbodyformat.html //内容的形式(以html文件用html,一文本用text)
mailobj.priority=mailpriority.high //优先级别
mailobj.attachment.add(new mailattachment(server.mappath("path")//绑定附件
smtpMail.send(mailobj)//发送
</script>
Top
10 楼mikyxyc(甜蜜)回复于 2004-08-02 14:58:12 得分 0
首先感谢 Rotaxe(程序员) 的回答。
将第二句'dim smtp as new smtpMail()注释后,运行时在第三句报错,提示变量未声明。Top
11 楼pgwron2004(小猪小猪我爱你)回复于 2004-08-02 15:07:13 得分 0
VB我都忘光了。。。Top
12 楼Rotaxe(程序员)回复于 2004-08-02 15:35:36 得分 50
错误太多,改了大致如下
<%@ Import namespace="System.Web.Mail" %>
<%@ Import namespace="System.Web.Util" %>
<%@ Page Language="vb" AutoEventWireup="false"%>
<Script runat="server">
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
dim mailobj as new mailmessage()
'dim smtp as new smtpMail()
smtpMail.smtpserver="smtp.sina.com.cn" '设定服务器
mailobj.from="132@douhu.com" '发件人
mailobj.to="ad@163.com" '收件人
mailobj.bcc="dwad@ds.com"'暗送
mailobj.cc="dsa@ds.com"'抄送
mailobj.subject="你好!"'邮件主题
mailobj.body="虎骨酒虎骨酒"'内容
mailobj.BodyFormat = MailFormat.Html
mailobj.priority=mailpriority.high '优先级别
mailobj.attachments.add(new mailattachment(server.mappath("path")))'绑定附件
smtpMail.send(mailobj)'发送
End Sub
</script>Top
13 楼mikyxyc(甜蜜)回复于 2004-08-02 16:29:07 得分 0
谢谢Rotaxe(程序员) ,基本上通过了,剩下就是配置smtp的问题了。
但我有一点不明白,为何那段代码要放在Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
之间才行?
Top
14 楼Rotaxe(程序员)回复于 2004-08-02 16:41:28 得分 0
放在别的地方也可
比如Private Sub button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button1.Click
MSDN上比较清楚
ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/vbcon/html/vbconWebFormsCodeModel.htmTop
15 楼mikyxyc(甜蜜)回复于 2004-08-03 00:29:19 得分 0
唉,问题虽然解决了,但还是不理解,smtpmail对象不定义,为何后面却可以用它的方法呢?Top
16 楼Ambiter(女人什么都是假,最重要的是漂亮!)回复于 2004-08-03 03:03:16 得分 0
为何不用C#,这里本身就是个错误.
错上加错,一错再错.Top
17 楼Ambiter(女人什么都是假,最重要的是漂亮!)回复于 2004-08-03 03:10:49 得分 0
再来看看,刚换了名字.Top




