Blazor 中带有主题和正文的 Mailto
Mailto with Subject and Body in Blazor
我想发送一封带有变量的邮件。第一个片段是原始 HTML mailto 文本,另一个是我的解决方案。
问题是不再生成邮件正文。
<a href="mailto:m.mustermann@domain.de?subject=Test%20Test%20Test%20Test&body=Test%20Test,%0D%0A%0D%0ATest%20Test%20Test%20Test.">Test</a>
<a href="mailto:?subject=MessageCode: @ErrorCode %20&body=Test%20Test,%0D%0A%0D%0AURL: @navigationManager.Uri">Send Mail</a>
mailto: 中的所有内容都必须进行 Url 编码。特别是来自 navigationManager 的 URL。
这个有效:
<a href="mailto:?subject=MessageCode%3A @ErrorCode Test&body=Test%20Test,%0D%0A%0D%0AURL%3A @MyUrl">Send Mail</a>
与
string MyUrl => System.Web.HttpUtility.UrlEncode(navigationManager.Uri);
另请注意 %3A 而不是 :
当你的@ErrorCode 中可以包含标点符号时,请对其进行相同的处理。
允许 space 是件好事,因为 %20@ErrorCode 不起作用。
我想发送一封带有变量的邮件。第一个片段是原始 HTML mailto 文本,另一个是我的解决方案。
问题是不再生成邮件正文。
<a href="mailto:m.mustermann@domain.de?subject=Test%20Test%20Test%20Test&body=Test%20Test,%0D%0A%0D%0ATest%20Test%20Test%20Test.">Test</a>
<a href="mailto:?subject=MessageCode: @ErrorCode %20&body=Test%20Test,%0D%0A%0D%0AURL: @navigationManager.Uri">Send Mail</a>
mailto: 中的所有内容都必须进行 Url 编码。特别是来自 navigationManager 的 URL。
这个有效:
<a href="mailto:?subject=MessageCode%3A @ErrorCode Test&body=Test%20Test,%0D%0A%0D%0AURL%3A @MyUrl">Send Mail</a>
与
string MyUrl => System.Web.HttpUtility.UrlEncode(navigationManager.Uri);
另请注意 %3A 而不是 :
当你的@ErrorCode 中可以包含标点符号时,请对其进行相同的处理。
允许 space 是件好事,因为 %20@ErrorCode 不起作用。