最近、Microsoftは、4MB を超える添付ファイルを含む電子メールを送信できることを発表しました。ドキュメントによると、下書きを作成し、次にアップロード セッションを作成し、添付ファイルをアップロードして、最後にメールを送信する必要があります。
以下のコードを使用してドラフトを作成できます。
var confidentialClientApplication = ConfidentialClientApplicationBuilder
.Create(clientId)
.WithClientSecret(clientSecret)
.WithTenantId(tenant)
.Build();
var authenticationProvider = new ClientCredentialProvider(confidentialClientApplication);
var graphClient = new GraphServiceClient(authenticationProvider);
var email = new Message
{
Body = new ItemBody
{
Content = i + " Works fine! " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
ContentType = BodyType.Html,
},
Subject = "Test" + (j == 0 ? "" : " " + j),
ToRecipients = recipientList,
Attachments = att
};
Message draft = await graphClient
.Users["test@test.onmicrosoft.com"]
.Messages
.Request()
.AddAsync(mail);
しかし、ドキュメントからスニペットを試すと:
var attachmentItem = new AttachmentItem
{
AttachmentType = AttachmentType.File,
Name = "flower",
Size = 3483322
};
await graphClient.Me.Messages["AAMkADI5MAAIT3drCAAA="].Attachments
.CreateUploadSession(attachmentItem)
.Request()
.PostAsync();
私はそれらのエラーを受け取ります:
- 型または名前空間名 'AttachmentItem' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか?)
- 名前「AttachmentType」は現在のコンテキストに存在しません
- 'IMessageAttachmentsCollectionRequestBuilder' には 'CreateUploadSession' の定義が含まれておらず、タイプ 'IMessageAttachmentsCollectionRequestBuilder' の最初の引数を受け入れるアクセス可能な拡張メソッド 'CreateUploadSession' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか?)
グラフ ライブラリ (Microsoft.Graph、Microsoft.Graph.Beta) の安定バージョンとベータ バージョンの両方への参照を追加しました (以前はベータ エンドポイントを使用していました) が見つかりませんAttachmentItem
。
AttachmentItem の2 つのリポジトリ ( https://github.com/microsoftgraph/msgraph-sdk-dotnet、https://github.com/microsoftgraph/msgraph-beta-sdk-dotnet ) を検索しましたが、何も見つかりませんでした.
大きな添付ファイルを含むメールの送信は非常に新しい機能です (ドキュメントは 2019 年 10 月 25 日のものです) が、ドキュメントによると、これはサポートされているはずです。
ドキュメントは間違っていますか?アップロード セッションを作成して添付ファイルをアップロードするにはどうすればよいですか? リクエストを手動で作成する必要がありますか? または、Microsoft.Graph ライブラリを使用できますか?
CreateUploadSession
ドライブのみが表示されます- https://github.com/microsoftgraph/msgraph-sdk-dotnet/search?q=CreateUploadSession&unscoped_q=CreateUploadSession