我有一个场景,用户可以从网格中进行选择(在本地文件夹上上传文件),当用户按“发送”时,应用程序应该打开Outlook“新邮件”窗口,将所选文件作为附件(哪个用户从网格中选择。
任何帮助将不胜感激。
答案 0 :(得分:12)
Imports System.Diagnostics
Process.Start(String.Format("mailto:{0}", address))
' set all possible parameters: '
Process.Start(String.Format("mailto:{0}?subject={1}&cc={2}&bcc={3}&body={4}", address, subject, cc, bcc, body))
' also escape spaces: '
Process.Start(String.Format("mailto:{0}?subject=\"{1}\"&cc={2}&bcc={3}&body=\"{4}\"", address, subject, cc, bcc, body))
使用下一个包含新的换行符:
body = body.Replace(Environment.NewLine ,"%0A")
将使用新的邮件撰写对话框打开默认电子邮件客户端。
如果将Outlook设置为默认客户端,则会将其打开。
无论如何,永远不要打开明确的非默认客户端(电子邮件,浏览器等) - 这会破坏客户的意愿并使他们讨厌你。
答案 1 :(得分:6)
如果你想特别想要一个展望消息,你想要更多关于发送内容的选项(正文,附件,BCC等):
Dim Outl As Object
Outl = CreateObject("Outlook.Application")
If Outl IsNot Nothing Then
Dim omsg As Object
omsg = Outl.CreateItem(0) '=Outlook.OlItemType.olMailItem'
'set message properties here...'
omsg.Display(True) 'will display message to user
End If
答案 2 :(得分:4)
Dim Outl As Object
Outl = CreateObject("Outlook.Application")
If Outl IsNot Nothing Then
Dim omsg As Object
omsg = Outl.CreateItem(0)
omsg.To = "yusuf@hotmail.com"
omsg.bcc = "yusuf@gmail.com"
omsg.subject = "Hello"
omsg.body = "godmorning"
omsg.Attachments.Add("c:\HP\opcserver.txt")
'set message properties here...'
omsg.Display(True) 'will display message to user