はじめに
Goのhtml/template
パッケージは、
XSSを防ぐためにHTMLコンテンツの自動エスケープ機能を提供している
URL内の&
が&
としてエスケープされてしまう
この自動エスケープ機能があるため、メール本文やHTMLテンプレートにURLを含める場合、
URL内の&
が&
としてエスケープされてしまうことがある
なのでメール本文に認証リンクを含める場合などに困る
解決方法
template.HTML
型を使用すると、
信頼できるURL(明示的に指定したURL)をエスケープ処理から除外することができる
https://pkg.go.dev/html/template
検証

Discussion