'Called by message_get_suggested_recipients, to add a suggested
recipient in the result dictionary. The form is :
partner_id, partner_name<partner_email> or partner_name, reason'

@api.multi
def _message_add_suggested_recipient(self, result, partner=None, email=None, reason=''):

    self.ensure_one()
    if (email and (not partner)):
        partner_info = self.message_partner_info_from_emails([email])[0]
        if partner_info.get('partner_id'):
            partner = self.env['res.partner'].sudo().browse([partner_info['partner_id']])[0]
    if (email and (email in [val[1] for val in result[self.ids[0]]])):
        return result
    if (partner and (partner in self.message_partner_ids)):
        return result
    if (partner and (partner.id in [val[0] for val in result[self.ids[0]]])):
        return result
    if (partner and partner.email):
        result[self.ids[0]].append((partner.id, ('%s<%s>' % (partner.name, partner.email)), reason))
    elif partner:
        result[self.ids[0]].append((partner.id, ('%s' % partner.name), reason))
    else:
        result[self.ids[0]].append((False, email, reason))
    return result
