From 27fda37077c9783cca55e92bcbb22416422f444d Mon Sep 17 00:00:00 2001
From: sano <55648-sano@users.noreply.drupalcode.org>
Date: Tue, 7 Jan 2025 17:23:37 +0000
Subject: [PATCH] make the SMTP check less eager

---
 email_verify.inc | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/email_verify.inc b/email_verify.inc
index 03611f1..5069c0c 100644
--- a/email_verify.inc
+++ b/email_verify.inc
@@ -429,7 +429,21 @@ function _email_verify_check_internal($mail, $debugging_mode, $debugging_text, $
       );
     }
 
-    if (preg_match("/^220/", $connect_result = fgets($connect, 1024))) {
+      // Read all greeting lines until we get a complete response
+      $connect_result = '';
+      do {
+        $line = _email_verify_read_line($connect, $debugging_mode, $debugging_text, $date_time_format);
+        $connect_result .= $line['line'];
+      } while ($line['next_char'] == '-');
+
+      if ($debugging_mode) {
+        $debugging_text[] = t(
+          'Complete greeting from server: %greeting (!date_time)',
+          array('%greeting' => $connect_result, '!date_time' => format_date(time(), $date_time_format))
+        );
+      }
+      
+      if (preg_match("/^220[-\s]/m", $connect_result)) {
       // An SMTP connection was made.
       if ($debugging_mode) {
         $debugging_text[] = t(
-- 
GitLab