我已经尝试了以下代码从通用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