Golangでメール本文などのURLで"&"を表示する

2024/04/05に公開

はじめに

Goのhtml/templateパッケージは、
XSSを防ぐためにHTMLコンテンツの自動エスケープ機能を提供している

URL内の&&としてエスケープされてしまう

この自動エスケープ機能があるため、メール本文やHTMLテンプレートにURLを含める場合、
URL内の&&としてエスケープされてしまうことがある

なのでメール本文に認証リンクを含める場合などに困る

解決方法

template.HTML型を使用すると、
信頼できるURL(明示的に指定したURL)をエスケープ処理から除外することができる

https://pkg.go.dev/html/template

検証

Discussion