如何用vb编写支持smtp认证的发送email程序?能否给出例子。

leos 2002-05-29 09:41:58
谢谢了。
...全文
238 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
daehappy 2002-06-20
  • 打赏
  • 举报
回复
up!gz!
acptvb 2002-06-03
  • 打赏
  • 举报
回复
感谢您使用微软产品。

在Visual Studio.NET中,您可以通过SmtpMail类通过smtp服务器发送邮件,请参考以下代码:

Dim from As String = "from@citiz.net"
Dim mailto As String = "to@citiz.net"
Dim subject As String = "UtilMailMessage001"
Dim body As String = "<html><body>UtilMailMessage001 - success</body></html>"
SmtpMail.SmtpServer = "smtp.citiz.net"
SmtpMail.Send(from, mailto, subject, body)

但是,如果SMTP服务器需要验证,那么您无法通过这个类进行发送,您可以Socket类直接发送SMTP的命令实现发送。

关于Socket类请参考: .NET Framework Class Library Socket Class
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemNetSocketsSocketClassTopic.asp

关于带有认证的SMTP您可以参考SMTP Service Extension for Authentication(rfc2554)

此外,您还可以通过CDO对象在Outlook中设置该SMTP服务器为默认的发送服务器,并添加认证信息,然后进行发送,请参考以下代码:
添加Microsoft Cdo 1.21 Object Library引用之后,复制如下代码;
Sub Send()
Dim vEmpty As Object = Missing.Value
' Create Mapi Session and Logon
Dim oSession As MAPI.Session = New MAPI.Session()
oSession.Logon(vEmpty, vEmpty, True, True, 0, True, vEmpty)
' Get Outbox
Dim oFolder As MAPI.Folder = oSession.Outbox
Console.WriteLine("Folder: {0}", oFolder.Name)
' Create a new Message
Dim oMsgs As MAPI.Messages = oFolder.Messages
Dim oMsg As MAPI.Message = oMsgs.Add(vEmpty, vEmpty, vEmpty, vEmpty)
oMsg.Subject = "Send Using VB.NET"
oMsg.Text = "Hello World"
' Add a Recipient
Dim oRecips As MAPI.Recipients = oMsg.Recipients
Dim oRecip As MAPI.Recipient = oRecips.Add(vEmpty, vEmpty, vEmpty, vEmpty)
oRecip.Name = "v-kehao@microsoft.com" ' TODO:
oRecip.Resolve(False)
' Send mail
oMsg.Send(True, False, vEmpty)
' Logoff
oSession.Logoff()
' Clean Up
oRecip = Nothing
oRecips = Nothing
oMsgs = Nothing
oMsg = Nothing
oFolder = Nothing
oSession = Nothing
End Sub

微软全球技术中心 VB技术支持
本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。

16,556

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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