Как открыть окно Outlook «Новое почтовое сообщение» из VB.NET - PullRequest
3 голосов
/ 27 декабря 2010

У меня есть сценарий, в котором пользователь может сделать выбор из сетки (загрузив файлы в локальную папку), и когда пользователь нажмет «отправить», приложение должно открыть окно Outlook «Новое почтовое сообщение», выбрав файлы в качестве вложений какой пользователь выбран из сетки).

Любая помощь будет оценена.

Ответы [ 3 ]

12 голосов
/ 27 декабря 2010
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 установлен как клиент по умолчанию, он будет открыт.

<ч />

В любом случае, никогда не открывайте явно клиент по умолчанию (электронная почта, браузер и т. Д.) - это нарушает волю клиентов и заставляет их ненавидеть вас.

6 голосов
/ 27 декабря 2010

Если вы хотите получить сообщение Outlook, и вам нужно больше параметров для отправки (основной текст, вложения, 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
4 голосов
/ 27 февраля 2014
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
...