2017-01-11 17 views
0

Azure Automation(メッセージID付き)を使用して特定の電子メールアドレスに添付ファイル付きの電子メールを転送しようとしています。私はコードを実行した後に、最下部にエラーメッセージが表示されます。私は本当にここに正しいトラックにいるとは思わない(メールの送信と添付ファイルの送信の両方)。おそらくこれを行うためのよりよい方法があります。 誰かが手を貸してくれますか?rest apiとpowershell(Azure Automation)を使用して電子メールを転送する

起動-RestMethod:リモートサーバーがエラーを返しました:(400)不正な要求

$credObject = Get-AutomationPSCredential -Name "Myscreds" 

$url = "https://outlook.office365.com/api/v1.0/me/AAMkADA1MTAAAH5JaL/forward" 

$body = "{ 
""Message"":{ 
""Subject"": ""This is a test"", 
""Importance"": ""Low"", 
""Body"": { 
""ContentType"": ""HTML"", 
""Content"": ""This is great!"" 
}, 
""ToRecipients"": [ 
{ 
""EmailAddress"":{ 
    ""Address"": ""[email protected]"" 
    } 
} 
] 
}}" 

Invoke-RestMethod -Uri $url -Method Post -Credential $credobject -ContentType "application/json" -Body $Body 

は、私は、次のエラーメッセージが表示されます。ラインで :24文字:1 +起動-RestMethod -uri $ URL方法 - ポスト-Credential $ credobject - CON ... + ~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo:はInvalidOperation:(System.Net.HttpWebRequest:HttpWebRequestの)呼び出し-RestMethod]を、 WebException + FullyQualifiedErrorId:WebCmdletWebResponseException、Microsoft.PowerShell.Commands.InvokeRestMethodCommand

おかげ。 Microsoft documentationパー

答えて

0

、あなたはあなたの要求を変更する必要があります。

https://outlook.office.com/api/v1.0/me/messages/AAMkAGE0Mz8DmAAA=/forward 

ご要望に/messages/を含めるのを忘れたようです。

ただし、メッセージの転送時にメッセージの本文を変更したいようです。これはもっと複雑で、代わりにこのワークフローに従う必要があります。

Alternatively, if you need to modify any updateable properties in the message to be forwarded, you can first create a draft forward message , u pdate the message properties , and then send the reply.

ここでそのように見えます。

まず、あなたが応答が戻って、新しいメッセージのIDを含むいくつかのプロパティを含めるために起こっている

$request = "https://outlook.office365.com/api/v1.0/me/messages/AAMkADA1MTAAAH5JaL/createforward" 
$body = { 
    "ToRecipients":[ 
{ 
""EmailAddress"":{ 
    ""Address"": ""[email protected]"" 
    } 
} 
], 
    "Comment": "Your sample message here" 
} 

転送したいメッセージの草案を作ります。それを使って下書きを編集し(件名を変更するなど)、それを送信します。さらなる助けが必要な場合はお知らせください。

+0

こんにちはFoxDeploy、まずあなたに感謝。 私は十分にはっきりしていなかったと思います。特定のメールボックスからの添付ファイル付きのメッセージを転送する必要があります。 私は最初に特定のメールのメールボックスからメッセージIDを取得してから、添付ファイル付きのメッセージを転送することを考えました。 私はメッセージの本文を変更する必要はありません。添付ファイル付きの簡単な転送です。 もう一度おねがいします – Byrdwatcher1966

0

私は間違ったメッセージIDを持っていた、それが私の主な問題でした。それはすべて解決されました。メッセージIDを使用して添付ファイル付きのメッセージを転送することができます。再度、感謝します。

$credObject = Get-AutomationPSCredential -Name "mycreds" 


$url = "https://outlook.office365.com/api/v1.0/Users('[email protected]')/messages/ASHJFKHFUISDFWIzLT=/forward" 

$body = "{ 
""Comment"": ""A mail with some attachments (hopefully)"", 
""ToRecipients"": [ 
{ 
""EmailAddress"":{ 
    ""Address"": ""[email protected]"" 
    } 
} 
] 
}" 

Invoke-RestMethod -Uri $url -Method Post -Credential $credobject -ContentType "application/json" -body $body 
関連する問題