* eMail: improving Information on failed send passed on to UI

This commit is contained in:
Klaus Leithoff 2010-12-09 11:01:27 +00:00
parent c3ef252757
commit ee321972f6
2 changed files with 48 additions and 7 deletions

View File

@ -988,7 +988,18 @@
$mail->Send(); $mail->Send();
} }
catch(phpmailerException $e) { catch(phpmailerException $e) {
$this->errorInfo = $e->getMessage(); $this->errorInfo = $e->getMessage();
if ($mail->ErrorInfo) // use the complete mailer ErrorInfo, for full Information
{
if (stripos($mail->ErrorInfo, $this->errorInfo)===false)
{
$this->errorInfo = $mail->ErrorInfo.'<br>'.$this->errorInfo;
}
else
{
$this->errorInfo = $mail->ErrorInfo;
}
}
error_log(__METHOD__.__LINE__.array2string($this->errorInfo)); error_log(__METHOD__.__LINE__.array2string($this->errorInfo));
return false; return false;
} }

View File

@ -405,7 +405,14 @@ class PHPMailer {
* @return boolean true on success, false if address already used * @return boolean true on success, false if address already used
*/ */
public function AddAddress($address, $name = '') { public function AddAddress($address, $name = '') {
return $this->AddAnAddress('to', $address, $name); try
{
return $this->AddAnAddress('to', $address, $name);
} catch (phpmailerException $e)
{
//$this->SetError(__METHOD__.__LINE__.$e->getMessage());
return false;
}
} }
/** /**
@ -416,7 +423,15 @@ class PHPMailer {
* @return boolean true on success, false if address already used * @return boolean true on success, false if address already used
*/ */
public function AddCC($address, $name = '') { public function AddCC($address, $name = '') {
return $this->AddAnAddress('cc', $address, $name); try
{
return $this->AddAnAddress('cc', $address, $name);
} catch (phpmailerException $e)
{
//$this->SetError(__METHOD__.__LINE__.$e->getMessage());
return false;
}
} }
/** /**
@ -427,7 +442,14 @@ class PHPMailer {
* @return boolean true on success, false if address already used * @return boolean true on success, false if address already used
*/ */
public function AddBCC($address, $name = '') { public function AddBCC($address, $name = '') {
return $this->AddAnAddress('bcc', $address, $name); try
{
return $this->AddAnAddress('bcc', $address, $name);
} catch (phpmailerException $e)
{
//$this->SetError(__METHOD__.__LINE__.$e->getMessage());
return false;
}
} }
/** /**
@ -437,7 +459,14 @@ class PHPMailer {
* @return boolean * @return boolean
*/ */
public function AddReplyTo($address, $name = '') { public function AddReplyTo($address, $name = '') {
return $this->AddAnAddress('ReplyTo', $address, $name); try
{
return $this->AddAnAddress('ReplyTo', $address, $name);
} catch (phpmailerException $e)
{
//$this->SetError(__METHOD__.__LINE__.$e->getMessage());
return false;
}
} }
/** /**
@ -451,7 +480,8 @@ class PHPMailer {
*/ */
private function AddAnAddress($kind, $address, $name = '') { private function AddAnAddress($kind, $address, $name = '') {
if (!preg_match('/^(to|cc|bcc|ReplyTo)$/', $kind)) { if (!preg_match('/^(to|cc|bcc|ReplyTo)$/', $kind)) {
echo 'Invalid recipient array: ' . kind; $this->SetError('Invalid recipient type: ' . $kind. ' for Address:'.$address.' '.$name);
echo 'Invalid recipient array: ' . $kind;
return false; return false;
} }
$address = trim($address); $address = trim($address);
@ -2006,7 +2036,7 @@ class PHPMailer {
$msg .= '<p>' . $this->Lang('smtp_error') . $lasterror['smtp_msg'] . "</p>\n"; $msg .= '<p>' . $this->Lang('smtp_error') . $lasterror['smtp_msg'] . "</p>\n";
} }
} }
$this->ErrorInfo = $msg; $this->ErrorInfo .= (empty($this->ErrorInfo)?'':'<br>').$msg;
} }
/** /**