diff --git a/changelogs/unreleased/fix-smtp-pool-errors.yml b/changelogs/unreleased/fix-smtp-pool-errors.yml
new file mode 100644
index 0000000000000000000000000000000000000000..dea75dd797fe49ad8a45ce274a810c620598f3e2
--- /dev/null
+++ b/changelogs/unreleased/fix-smtp-pool-errors.yml
@@ -0,0 +1,6 @@
+---
+title: Fix SMTP errors when delivering service desk thank you emails with SMTP pool
+  enabled
+merge_request: 60843
+author:
+type: fixed
diff --git a/lib/gitlab/email/handler/service_desk_handler.rb b/lib/gitlab/email/handler/service_desk_handler.rb
index 80e8b7260994d63cb3be0376bc3359ed107f2c60..14930e90c9e3a39e7a5e77622e1affc775a900ba 100644
--- a/lib/gitlab/email/handler/service_desk_handler.rb
+++ b/lib/gitlab/email/handler/service_desk_handler.rb
@@ -38,7 +38,7 @@ def execute
 
           if from_address
             add_email_participant
-            send_thank_you_email!
+            send_thank_you_email
           end
         end
 
@@ -92,8 +92,8 @@ def create_issue!
           end
         end
 
-        def send_thank_you_email!
-          Notify.service_desk_thank_you_email(@issue.id).deliver_later!
+        def send_thank_you_email
+          Notify.service_desk_thank_you_email(@issue.id).deliver_later
         end
 
         def message_including_template
diff --git a/spec/lib/gitlab/email/handler/service_desk_handler_spec.rb b/spec/lib/gitlab/email/handler/service_desk_handler_spec.rb
index 7436765e8ee2fb2b7ce040cc35adfc9c5d5bf26a..6d26b3e10641de982fdb5d1d11f19469257f5f68 100644
--- a/spec/lib/gitlab/email/handler/service_desk_handler_spec.rb
+++ b/spec/lib/gitlab/email/handler/service_desk_handler_spec.rb
@@ -90,11 +90,6 @@ def set_template_file(file_name, content)
           context 'when quick actions are present' do
             let(:label) { create(:label, project: project, title: 'label1') }
             let(:milestone) { create(:milestone, project: project) }
-            let!(:user) { create(:user, username: 'user1') }
-
-            before do
-              project.add_developer(user)
-            end
 
             it 'applies quick action commands present on templates' do
               file_content = %(Text from template \n/label ~#{label.title} \n/milestone %"#{milestone.name}"")
diff --git a/vendor/gems/mail-smtp_pool/lib/mail/smtp_pool.rb b/vendor/gems/mail-smtp_pool/lib/mail/smtp_pool.rb
index ab8a765205892699b6cd551ee18b017b9b384ff8..b0c82a3db717e95591dc4f60d3af4bc2f1f89dff 100644
--- a/vendor/gems/mail-smtp_pool/lib/mail/smtp_pool.rb
+++ b/vendor/gems/mail-smtp_pool/lib/mail/smtp_pool.rb
@@ -30,5 +30,11 @@ def initialize(settings)
     def deliver!(mail)
       @pool.with { |conn| conn.deliver!(mail) }
     end
+
+    # This makes it compatible with Mail's `#deliver!` method
+    # https://github.com/mikel/mail/blob/22a7afc23f253319965bf9228a0a430eec94e06d/lib/mail/message.rb#L271
+    def settings
+      {}
+    end
   end
 end
diff --git a/vendor/gems/mail-smtp_pool/spec/lib/mail/smtp_pool_spec.rb b/vendor/gems/mail-smtp_pool/spec/lib/mail/smtp_pool_spec.rb
index aa2a0e19ac80930cbc33f24e735efa2b51b6d614..bbe5ef8b0681b2415c8ecc00cf1fb9b8174d6550 100644
--- a/vendor/gems/mail-smtp_pool/spec/lib/mail/smtp_pool_spec.rb
+++ b/vendor/gems/mail-smtp_pool/spec/lib/mail/smtp_pool_spec.rb
@@ -64,5 +64,27 @@
 
       expect(MockSMTP.deliveries.size).to eq(1)
     end
+
+    context 'when called from Mail:Message' do
+      before do
+        mail.delivery_method(described_class, { pool: described_class.create_pool })
+      end
+
+      describe '#deliver' do
+        it 'delivers mail' do
+          mail.deliver
+
+          expect(MockSMTP.deliveries.size).to eq(1)
+        end
+      end
+
+      describe '#deliver!' do
+        it 'delivers mail' do
+          mail.deliver!
+
+          expect(MockSMTP.deliveries.size).to eq(1)
+        end
+      end
+    end
   end
 end