Blazor 中带有主题和正文的 Mailto

Posted

技术标签:

【中文标题】Blazor 中带有主题和正文的 Mailto【英文标题】:Mailto with Subject and Body in Blazor 【发布时间】:2021-12-23 19:30:49 【问题描述】:

我想发送带有变量的邮件。第一个 sn-p 是原始的 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&amp;body=Test%20Test,%0D%0A%0D%0AURL: @navigationManager.Uri">Send Mail</a>

【问题讨论】:

【参考方案1】:

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 可以包含标点符号时,给予同样的处理。

允许空间是一件好事,因为 %20@ErrorCode 不起作用。

【讨论】:

完美,谢谢。

以上是关于Blazor 中带有主题和正文的 Mailto的主要内容,如果未能解决你的问题,请参考以下文章