diff options
Diffstat (limited to 'program')
-rw-r--r-- | 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 2bf8cc1e0..658e4760c 100644 --- a/program/include/rcube_smtp.php +++ b/program/include/rcube_smtp.php @@ -233,7 +233,13 @@ class rcube_smtp { // 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; |