diff --git a/Gemfile b/Gemfile
index f400cdcc455c6f5c25a18de2b10b361071d35edc..369e4f1fc682250fbba66a8e68929b521d10ec8c 100644
--- a/Gemfile
+++ b/Gemfile
@@ -436,7 +436,7 @@ group :development do
   gem 'rubocop', feature_category: :tooling
   gem 'solargraph', '~> 0.47.2', require: false # rubocop:todo Gemfile/MissingFeatureCategory
 
-  gem 'letter_opener_web', '~> 2.0.0' # rubocop:todo Gemfile/MissingFeatureCategory
+  gem 'letter_opener_web', '~> 3.0.0' # rubocop:todo Gemfile/MissingFeatureCategory
   gem 'lookbook', '~> 2.3' # rubocop:todo Gemfile/MissingFeatureCategory
 
   # Better errors handler
diff --git a/Gemfile.checksum b/Gemfile.checksum
index 37eb97ca0ee594a968a844a6be9ec253c9abfada..d938e818a7467e8140006cedde489171607bc0bb 100644
--- a/Gemfile.checksum
+++ b/Gemfile.checksum
@@ -351,8 +351,8 @@
 {"name":"language_server-protocol","version":"3.17.0.3","platform":"ruby","checksum":"3d5c58c02f44a20d972957a9febe386d7e7468ab3900ce6bd2b563dd910c6b3f"},
 {"name":"launchy","version":"2.5.0","platform":"ruby","checksum":"954243c4255920982ce682f89a42e76372dba94770bf09c23a523e204bdebef5"},
 {"name":"lefthook","version":"1.6.18","platform":"ruby","checksum":"b66c42a4de398c9bbe9bdb0ee3fc669f124244aced56d21e2e074f2980343173"},
-{"name":"letter_opener","version":"1.7.0","platform":"ruby","checksum":"095bc0d58e006e5b43ea7d219e64ecf2de8d1f7d9dafc432040a845cf59b4725"},
-{"name":"letter_opener_web","version":"2.0.0","platform":"ruby","checksum":"33860ad41e1785d75456500e8ca8bba8ed71ee6eaf08a98d06bbab67c5577b6f"},
+{"name":"letter_opener","version":"1.10.0","platform":"ruby","checksum":"2ff33f2e3b5c3c26d1959be54b395c086ca6d44826e8bf41a14ff96fdf1bdbb2"},
+{"name":"letter_opener_web","version":"3.0.0","platform":"ruby","checksum":"3f391efe0e8b9b24becfab5537dfb17a5cf5eb532038f947daab58cb4b749860"},
 {"name":"libyajl2","version":"2.1.0","platform":"ruby","checksum":"aa5df6c725776fc050c8418450de0f7c129cb7200b811907c4c0b3b5c0aea0ef"},
 {"name":"license_finder","version":"7.1.0","platform":"ruby","checksum":"6d020b3639f74da1488ddff052b3c93410cbf89a82dc884d404caa5ad072c66c"},
 {"name":"licensee","version":"9.17.1","platform":"ruby","checksum":"0be022c66d8853d35b08171a0f2575d5ccb5aef8a7020a1815938b4f26f4089a"},
diff --git a/Gemfile.lock b/Gemfile.lock
index cc8d6faa564b46a41b2e7df252114f0b981ef9eb..30ca416229429f5346bfc085bc5fb5137fc528e1 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1027,12 +1027,12 @@ GEM
     launchy (2.5.0)
       addressable (~> 2.7)
     lefthook (1.6.18)
-    letter_opener (1.7.0)
-      launchy (~> 2.2)
-    letter_opener_web (2.0.0)
-      actionmailer (>= 5.2)
-      letter_opener (~> 1.7)
-      railties (>= 5.2)
+    letter_opener (1.10.0)
+      launchy (>= 2.2, < 4)
+    letter_opener_web (3.0.0)
+      actionmailer (>= 6.1)
+      letter_opener (~> 1.9)
+      railties (>= 6.1)
       rexml
     libyajl2 (2.1.0)
     license_finder (7.1.0)
@@ -2083,7 +2083,7 @@ DEPENDENCIES
   kramdown (~> 2.3.1)
   kubeclient (~> 4.11.0)
   lefthook (~> 1.6.8)
-  letter_opener_web (~> 2.0.0)
+  letter_opener_web (~> 3.0.0)
   license_finder (~> 7.0)
   licensee (~> 9.16)
   listen (~> 3.7)