Звучит так, как будто вы столкнулись с проблемой XY .Ваша настоящая проблема заключается в том, что пользователи путаются в результате быстрых переходов, в результате чего только что созданный код становится недействительным, а не из-за того, что ссылку можно щелкнуть дважды.
С точки зрения безопасности,ссылки такого рода действительно должны быть одноразовыми, и пользователь должен запросить новое электронное письмо, если он хочет снова выполнить действие.Предполагая, что это то, что вы вынуждены делать, я считаю, что лучшим компромиссом будет ограничение генерации кода временными рамками, поэтому посещения в течение, скажем, 5-10 секунд приведут к тому, что тот же код будет показан пользователю,на основе времени сервера.
Внедрение любого решения на основе CSS для этого, которое работало бы на любом почтовом клиенте, достаточно сложно (если вообще возможно), и я сомневаюсь в любом уважающем себя электронномпочтовый клиент позволит вам запустить любой JavaScript-код для перехвата события.
Следующее работает в современном браузере на реальной веб-странице, но это не просто плохая идея Это также, вероятно, не будет работать, если вы попытаетесь использовать его в электронной почте.Я предоставляю его здесь только для полноты картины, показывая, что это несколько возможно, но, пожалуйста, не полагайтесь на это, чтобы исправить основную проблему.
<style>a:focus { pointer-events: none }</style>
<p>This is some text, here's <a href="#try-me">a link</a> you can't double click by the way.</p>