Skip to content

Commit

Permalink
Don't fatal out if we can't parse an email address.
Browse files Browse the repository at this point in the history
  • Loading branch information
mrubinsk committed Apr 1, 2015
1 parent 13b4959 commit e371016
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 6 deletions.
19 changes: 16 additions & 3 deletions framework/ActiveSync/lib/Horde/ActiveSync/Imap/Adapter.php
Expand Up @@ -1039,13 +1039,26 @@ protected function _buildMailMessage(
$hdr_charset = $imap_message->getStructure()->getHeaderCharset();

// Fill in other header data
$eas_message->from = $imap_message->getFromAddress();
try {
$eas_message->from = $imap_message->getFromAddress();
} catch (Horde_ActiveSync_Exception $e) {
$this->_logger->err($e->getMessage());
}
try {
$eas_message->cc = $imap_message->getCc();
} catch (Horde_ActiveSync_Exception $e) {
$this->_logger->err($e->getMessage());
}
try {
$eas_message->reply_to = $imap_message->getReplyTo();
} catch (Horde_ActiveSync_Exception $e) {
$this->_logger->err($e->getMessage());
}

$eas_message->subject = Horde_ActiveSync_Utils::ensureUtf8($imap_message->getSubject(), $hdr_charset);
$eas_message->threadtopic = $eas_message->subject;
$eas_message->datereceived = $imap_message->getDate();
$eas_message->read = $imap_message->getFlag(Horde_Imap_Client::FLAG_SEEN);
$eas_message->cc = $imap_message->getCc();
$eas_message->reply_to = $imap_message->getReplyTo();

// Default to IPM.Note - may change below depending on message content.
$eas_message->messageclass = 'IPM.Note';
Expand Down
21 changes: 18 additions & 3 deletions framework/ActiveSync/lib/Horde/ActiveSync/Imap/Message.php
Expand Up @@ -578,22 +578,32 @@ public function getToAddresses()
* Return the CC addresses for this message.
*
* @return string The Cc address string.
* @throws Horde_ActiveSync_Exception @since 2.27.0
*/
public function getCc()
{
$cc = new Horde_Mail_Rfc822_List($this->_envelope->cc->addresses);
try {
$cc = new Horde_Mail_Rfc822_List($this->_envelope->cc->addresses);
} catch (Horde_Mail_Exception $e) {
throw new Horde_ActiveSync_Exception($e);
}
return $cc->writeAddress();
}

/**
* Return the ReplyTo Address
*
* @return string
* @throws Horde_ActiveSync_Exception @since 2.27.0
*/
public function getReplyTo()
{
$r = $this->_envelope->reply_to->addresses;
$a = new Horde_Mail_Rfc822_Address(current($r));
try {
$a = new Horde_Mail_Rfc822_Address(current($r));
} catch (Horde_Mail_Exception $e) {
throw new Horde_ActiveSync_Exception($e);
}

return $a->writeAddress(false);
}
Expand All @@ -602,11 +612,16 @@ public function getReplyTo()
* Return the message's From: address.
*
* @return string The From address of this message.
* @throws Horde_ActiveSync_Exception @since 2.27.0
*/
public function getFromAddress()
{
$from = $this->_envelope->from->addresses;
$a = new Horde_Mail_Rfc822_Address(current($from));
try {
$a = new Horde_Mail_Rfc822_Address(current($from));
} catch (Horde_ActiveSync_Exception $e) {
throw new Horde_ActiveSync_Exception($e);
}

return $a->writeAddress(false);
}
Expand Down

0 comments on commit e371016

Please sign in to comment.