怎样在VB里调用Microsoft Outlook 在 输入地址,标题,内容,然后点击发送邮件 
  把邮件发出去。
具体:
text1.text   /地址
text2.text   /标题
text3.text   /内容
command1     /发送
请高手帮忙解决一下:)

解决方案 »

  1.   

    在Microsoft Outlook是默认的邮件程序的情况下:Option Explicit
    Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As LongPrivate Sub Command1_Click()
    SendMail Text1.Text, , Text2.Text, Text3.Text
    End Sub' 调用系统默认邮件程序向指定邮箱地址发送邮件
    ' Address 为收件人的邮箱地址
    Function SendMail(ByVal Address As String, Optional ByVal CopyTo As String, Optional ByVal Subject As String, Optional ByVal MailText As String) As Boolean
    SendMail = ShellExecute(0, "open", "mailto:" & Address & "?" & "&CC=" & CopyTo & "&Subject=" & Subject & "&Body=" & MailText, vbNullString, vbNullString, 5)
    End Function然后利用快键发送邮件,试试SendKeys行不行,我不用Outlook,所以没法调试。
      

  2.   

    将Outlook设置为默认的邮件程序,可以试试修改注册表中HKEY_CLASSES_ROOT\mailto里的相关内容。
      

  3.   

    你也可以用引用VB中的控件,添加microsoft mapi controls 6.0控件中的邮件会话控件(MAPISESSION)和邮件消息控件(MAPIMESSAGE).
    方法:
    mapisession.signoff 关闭邮件会话
    mapisession.signon 打开邮件会话
    mapimessage.send 发送邮件
    mapimessage.fetch 从邮箱中产生一个消息集合
    属性:
    mapisession.sessionid mapi对话标识号
    mapimessage.sessionid mapi消息标志号
    mapimessage.msgindex 邮件索引号
    mapimessage.msgcont 邮件总数
    mapimessage.msgorigdisplayname 发件人的姓名
    mapimessage.msgorigaddress 发件人的地址
    mapimessage.recipdisplayname 收件人的姓名
    mapimessage.recipaddress 收件人的地址
    mapimessage.msgsubject 邮件主题
    mapimessage.msgnotetext 邮件正文