web-dev-qa-db-ja.com

Outlookを起動し、コマンドラインから電子メールを事前入力する

これは可能ですか? To:、Body、およびAttachmentをすべて事前に入力して、ユーザーが行う必要があるのは[送信]をクリックするだけです。ありがとう!

23
skb

新しいメールメッセージを開きます(ipm.noteメッセージクラス メールの場合)

Outlook.exe /c ipm.note

新しいメールメッセージを開き、送信者に入力します。

Outlook.exe /c ipm.note /m [email protected]

添付ファイル付きの新しいメールメッセージを開きます。

 Outlook.exe /c ipm.note /a filename

組み合わせ:(以下の最初のものはOffice2016で機能しませんでした、2番目は機能しました)

 Outlook.exe /c ipm.note /m [email protected]&subject=test%20subject&body=test%20body
 Outlook.exe /c ipm.note /m "[email protected]&subject=test%20subject&body=test%20body"

空白スペースを作成するには、%20を使用する必要があります。

これは、たとえば、従来のOutlook 2016(ビルド16.0.4849.1000)で機能します。

ただし、 Snozzlebert notes コメント内 のように、Outlook 365バージョン2001(ビルド12430.20184)の場合、構文は次のようになります。

Outlook.exe /c ipm.note /m "[email protected]?subject=test"

犯人はメールアドレスの後の&でした-それを?に置き換えると問題が解決しました。
Microsoftが構文をHTMLmailto構文に変更したようです。

45
VonC

/mの後にコマンドを引用符で囲むだけで、ファイルを添付してTo/Bodyに事前入力できます。

例:

Outlook.exe /c ipm.note /m "[email protected]&subject=test%20subject&body=test%20body" /a test.txt
9
Dial-IN

VonCのソリューションは機能しますが、skbergamのコメントに記載されているように、添付ファイルは許可されていません。

私のように、それが大きな問題である場合は、次のWSHコードがそれを行います。

Set olApp = CreateObject("Outlook.Application")
Set olMsg = olApp.CreateItem(0)

With olMsg
  .To = "[email protected]"
  '.CC = "[email protected]"
  '.BCC = "[email protected]"
  .Subject = "Subject"
  .Body = "Body"
  .Attachments.Add "C:\path\to\attachment\test.txt" 

  .Display
End With

Outlook2003で試してみました

3
Allain Lalonde