邮件发送的问题,请高手赐教
我想用VB实现一个邮件发送程序,希望可以含有指定的附件。
查了MSDN中的一些相关贴子,试着写了些代码,可是有些问题,请高手指正。
背景:
在FORM中添加MAPISession与MAPIMessages控件,未做任何属性的设定。
加一按钮,编写单击事件程序。
outlook已经配置正确,可以收发邮件,此已证实。
程序中指定的文件存在于目录中,也已证实。
故障表现:
方法1:用ShellExecute的方法,系统弹出了outlook的发信界面,但是没有附件显示。我希望是包含附件,且可以直接发送出去。如果没有故障的话,不要弹出outlook的界面。
方法2:用MAPISession与MAPIMessages的方法,系统出错,为VB的实时错误,错误号是48389,同时弹出outlook的发信界面,但是没有附件显示。
源代码:
Private Sub Command3_Click()
Dim strSubject As String
Dim strAttach As String
Dim strAddress As String
Dim strBody As String
Dim strExecute As String
strSubject = "This is a Test Email"
strAttach = "d:\test.doc"
strBody = "Hello, %0d%0a Please find attached file"
strAddress = "Hello@263.net"
strExecute = "mailto:" & strAddress & "?subject=" & strSubject & "&attach=" & strAttach & "&body=" & strBody
ShellExecute Me.hwnd, "Open", strExecute, vbNullString, vbNullString, 1 'SW_SHOW
MAPISession1.SignOn
With MAPIMessages1
.MsgIndex = -1
.RecipDisplayName = strAddress
.MsgSubject = strSubject
.MsgNoteText = strBody
.AttachmentIndex = 0
.AttachmentPathName = strAttach
.SessionID = MAPISession1.SessionID
.Send
End With
MAPISession1.SignOff
MsgBox "Send Email Success", , "Email File "
End Sub