Отличный вопрос, действительно. Сама маршрутизация имеет некоторые зависимости от вызова из запущенного приложения ASP.NET, например получение корневого URL-адреса приложения, а также любых форм без файлов cookie или файлов cookie сеанса, которые также входят в URL-адрес. Хотя создание фиктивных объектов является теоретическим решением, его, безусловно, не рекомендуется использовать во время выполнения.
Моя рекомендация заключается в том, чтобы вообще не использовать маршрутизацию в этой ситуации и жестко закодировать URL-адреса в электронные письма. Ссылки в электронном письме должны иметь полностью определенные URL-адреса (имя хоста + путь), а маршрутизация не может даже генерировать имя хоста для URL-адреса, так что это то, что вам уже придется жестко кодировать.