| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 549 人关注过本帖
标题:[求助]发送邮件的程序有错误请指点
只看楼主 加入收藏
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
结帖率:78.95%
收藏
 问题点数:0 回复次数:4 
[求助]发送邮件的程序有错误请指点
ogfCLSHS.rar (4.82 KB) [求助]发送邮件的程序有错误请指点


这个程序是我在书看到的..我照着做,做好了运行却发错误,请高手指点...谢谢!
搜索更多相关主题的帖子: 邮件 
2006-12-21 21:24
wyfandy
Rank: 1
来 自:深圳
等 级:新手上路
帖 子:376
专家分:0
注 册:2006-12-11
收藏
得分:0 
你把form1的窗体中的name(名称)属性的Form1改为smtp即可

[此贴子已经被作者于2006-12-22 10:02:37编辑过]



不论什么事,只要认准了一个目标,然后朝之不懈地努力,就一定实现。编程爱好者QQ群:21318556
2006-12-21 21:56
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
收藏
得分:0 
谢谢!

/images/2011/147787/2011051411021524.jpg" border="0" />
2006-12-21 22:59
redice
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:902
专家分:0
注 册:2006-12-11
收藏
得分:0 
我看了你的程序,它是比较早的了,以前发邮件时不用通过SMTP的验证,但现在不行了。需要通过服务器的验证才行,下面是我的笔记:

Winsock与smtp服务器的通信
1 设置Winsock控件的通信协议(TCP),远程主机ip,远程连接端口(通常为25)。然后连接远程主机。 eg, Winsock1.Protocol = sckTCPProtocol
Winsock1.RemoteHost = "smtp.126.com"
Winsock1.RemotePort = 25
Winsock1.Connect
2 如果winsock接受到的服务器的回应码为220,表明服务器端接受了客护端的连接请求。这样可以进行下一步的通信:客户端发送EHLO消息,该消息表示客户希望基于ESMTP协议的电子邮件传递。
eg, winsock1.senddata("EHLO xiaopeng"+vbcrlf)
3 如果winsock接受到服务器的回应码为250,表明服务器接受了客户端的通过ESMTP发送邮件的请求。
这样可以进行下一步的通信:客户端发送AUTH LOGIN消息。
eg, winsock1.senddata("AUTH LOGIN"+vbcrlf)
4 如果winsock接收到服务器的回应码为334,表明服务器启动了一个认证过程。下一步期待用户输入用户名 。
eg, winsock1.senddata(Encode64("username")+vbcrlf)
5 如果winsock接收到服务器的回应码为334,表明服务器已经接受了用户名,下一步期待用户输入密码。
eg,winsoc1.senddata(Encode64("password")+vbcrlf)
6 如果winsock接收到服务器的回应码为235,表明认证成功完成。接着客户就可以发邮件了。
发邮件具体过程如下:
(1)客户端发送"mail from:"消息,该消息包含了发送人的email
eg, winsock1.sendata("mail from:"+chr(32)+"xiaopeng.qi@126.com"+vbcrlf)
(2)当客户端接收到250,则继续发送"rcpt to:"消息,它包含了收件人的邮件地址。
eg, winsock1.senddata("rcpt to:"+chr(32)+"linglingxp@126.com"+vbcrlf)
(3)当客户端接收到250,则继续发送“data”消息,它通知邮件服务器随后客户断将发送电子邮件数据。
eg, winsock1.senddata("data"+vbcrlf)
(4)客户端如果接收到354的消息,客户端将发送电子邮件数据。电子邮件的数据包括以下字段:
Date,From,To,X-Mailer以及邮件正文。电子邮件以"."结束。
eg,winsock1.senddata("Date:"+chr(32)+format(Date,"Ddd")&","&format(Date,"dd Mmm YYYY")&""&format(Time,"hh:mm:ss")&""&"-0600"+vbcrlf)
winsock1.senddata("From:"+chr(32)+"xiaopeng"+vbcrlf)
winsock1.senddata("X-Mailer: vbemailsender"+vbcrlf)
winsock1.senddata("To:"+chr(32)+"lingling"+vbcrlf)
winsock1.senddata("Subject:"+chr(32)+"how are you"+vbcrlf)
winsock1.sendtada("ni hao ma"+vbcrlf)
winsock1.senddata("."+vbcrlf)
(5)如果客户端接收到250的消息,表明电子邮件数据被成功发送。此时客户端如果希望与服务器断开连接,发送"quit"消息即可。如果客户端接收到221的消息,表明服务器已经终止了基于ESMTP协议的连接。
eg, winsock1.senddata("quit"+vbcrlf)

鲲鹏数据 - 专业Web数据采集服务提供者
http://www.
2006-12-22 15:37
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
收藏
得分:0 
老兄我们又见面了...谢谢你啊...真是让我茅塞顿开呀...我的那个邮件例子是在书上抄的...看来我那书有点跟不上时代了.老兄的文章俺收藏了..!

/images/2011/147787/2011051411021524.jpg" border="0" />
2006-12-23 00:40
快速回复:[求助]发送邮件的程序有错误请指点
数据加载中...
 
   



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

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