From b9d751df60a8f0126848a976b6c045a790ee36eb Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Fri, 12 Mar 2010 08:33:36 -0500
Subject: [PATCH] - get better message for error in DATA

---
 program/include/rcube_smtp.php |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/program/include/rcube_smtp.php b/program/include/rcube_smtp.php
index 2bf8cc1..658e476 100644
--- a/program/include/rcube_smtp.php
+++ b/program/include/rcube_smtp.php
@@ -233,7 +233,13 @@
     // Send the message's headers and the body as SMTP data.
     if (PEAR::isError($result = $this->conn->data($data, $text_headers)))
     {
-      $this->error = array('label' => 'smtperror', 'vars' => array('msg' => $result->getMessage()));
+      $err = $this->conn->getResponse();
+      if (count($err)>1 && $err[0] != 354 && $err[0] != 250)
+        $msg = sprintf('[%d] %s', $err[0], $err[1]);
+      else
+        $msg = $result->getMessage();
+
+      $this->error = array('label' => 'smtperror', 'vars' => array('msg' => $msg));
       $this->response[] .= "Failed to send data";
       $this->reset();
       return false;

--
Gitblit v1.9.1