我已經嘗試了以下代碼從通用Windows平臺應用發送電子郵件。當我使用EmailMessageBodyKind :: PlainText時它工作正常。但是,如下面的代碼所示,EmailMessageBodyKind :: Html似乎啓動沒有內容的電子郵件客戶端。有誰知道需要設置還有什麼得到這個工作 - 該文件是稀疏8(Win 10 UWP EmailMessage API是否支持HTML體?
using namespace Windows::Storage::Streams;
using namespace Windows::ApplicationModel::Email;
using namespace Windows::Security::Cryptography;
auto bin = CryptographicBuffer::ConvertStringToBinary(
L"<html><body>this <b>is</b> text</body></html>",
BinaryStringEncoding::Utf16LE);
auto memStream = ref new InMemoryRandomAccessStream();
concurrency::create_task(memStream->WriteAsync(bin)).then(
[memStream](unsigned)
{
auto email = ref new EmailMessage();
email->To->Append(ref new EmailRecipient(L"[email protected]"));
email->Subject = L"Email Report";
auto randomAccessStreamReference = RandomAccessStreamReference::CreateFromStream(memStream);
email->SetBodyStream(EmailMessageBodyKind::Html, randomAccessStreamReference);
EmailManager::ShowComposeNewEmailAsync(email);
}
);
也許你需要在寫入流之後重新設置seek指針。 –
是的 - 我曾試過 - 但不幸的是添加memStream-> Seek(0); (在EmailManager :: ShowComposeNewEmailAsync(電子郵件)之前;當然的調用)沒有效果。 – Kookei