diff --git a/guides/bug_report_templates/action_mailer_gem.rb b/guides/bug_report_templates/action_mailer_gem.rb
new file mode 100644
index 0000000000000..ad6415d7a7736
--- /dev/null
+++ b/guides/bug_report_templates/action_mailer_gem.rb
@@ -0,0 +1,40 @@
+# frozen_string_literal: true
+
+require "bundler/inline"
+
+gemfile(true) do
+ source "https://rubygems.org"
+
+ git_source(:github) { |repo| "https://github.com/#{repo}.git" }
+
+ # Activate the gem you are reporting the issue against.
+ gem "rails", "~> 7.1.0"
+end
+
+require "action_mailer/railtie"
+
+class TestMailer < ActionMailer::Base
+ def hello_world
+ @message = "Hello, world"
+
+ mail from: "test@example.com", to: "user@example.com" do |format|
+ format.html { render inline: "
<%= @message %>
" }
+ format.text { render inline: "<%= @message %>" }
+ end
+ end
+end
+
+require "minitest/autorun"
+
+class BugTest < ActionMailer::TestCase
+ test "renders HTML and Text body" do
+ email = TestMailer.hello_world
+
+ email.deliver_now
+
+ assert_dom_email do
+ assert_dom "h1", text: "Hello, world"
+ end
+ assert_includes email.text_part.body, "Hello, world"
+ end
+end
diff --git a/guides/bug_report_templates/action_mailer_main.rb b/guides/bug_report_templates/action_mailer_main.rb
new file mode 100644
index 0000000000000..af12a45f57e5d
--- /dev/null
+++ b/guides/bug_report_templates/action_mailer_main.rb
@@ -0,0 +1,39 @@
+# frozen_string_literal: true
+
+require "bundler/inline"
+
+gemfile(true) do
+ source "https://rubygems.org"
+
+ git_source(:github) { |repo| "https://github.com/#{repo}.git" }
+
+ gem "rails", github: "rails/rails", branch: "main"
+end
+
+require "action_mailer/railtie"
+
+class TestMailer < ActionMailer::Base
+ def hello_world
+ @message = "Hello, world"
+
+ mail from: "test@example.com", to: "user@example.com" do |format|
+ format.html { render inline: "<%= @message %>
" }
+ format.text { render inline: "<%= @message %>" }
+ end
+ end
+end
+
+require "minitest/autorun"
+
+class BugTest < ActionMailer::TestCase
+ test "renders HTML and Text body" do
+ email = TestMailer.hello_world
+
+ email.deliver_now
+
+ assert_dom_email do
+ assert_dom "h1", text: "Hello, world"
+ end
+ assert_includes email.text_part.body, "Hello, world"
+ end
+end
diff --git a/guides/source/contributing_to_ruby_on_rails.md b/guides/source/contributing_to_ruby_on_rails.md
index 936d6c3d4bd86..227728dfcae68 100644
--- a/guides/source/contributing_to_ruby_on_rails.md
+++ b/guides/source/contributing_to_ruby_on_rails.md
@@ -44,6 +44,7 @@ Having a way to reproduce your issue will help people confirm, investigate, and
* Template for Action Pack (controllers, routing) issues: [gem](https://github.com/rails/rails/blob/main/guides/bug_report_templates/action_controller_gem.rb) / [main](https://github.com/rails/rails/blob/main/guides/bug_report_templates/action_controller_main.rb)
* Template for Active Job issues: [gem](https://github.com/rails/rails/blob/main/guides/bug_report_templates/active_job_gem.rb) / [main](https://github.com/rails/rails/blob/main/guides/bug_report_templates/active_job_main.rb)
* Template for Active Storage issues: [gem](https://github.com/rails/rails/blob/main/guides/bug_report_templates/active_storage_gem.rb) / [main](https://github.com/rails/rails/blob/main/guides/bug_report_templates/active_storage_main.rb)
+* Template for Action Mailer issues: [gem](https://github.com/rails/rails/blob/main/guides/bug_report_templates/action_mailer_gem.rb) / [main](https://github.com/rails/rails/blob/main/guides/bug_report_templates/action_mailer_main.rb)
* Template for Action Mailbox issues: [gem](https://github.com/rails/rails/blob/main/guides/bug_report_templates/action_mailbox_gem.rb) / [main](https://github.com/rails/rails/blob/main/guides/bug_report_templates/action_mailbox_main.rb)
* Generic template for other issues: [gem](https://github.com/rails/rails/blob/main/guides/bug_report_templates/generic_gem.rb) / [main](https://github.com/rails/rails/blob/main/guides/bug_report_templates/generic_main.rb)