Проблема с программным подключением файла к Blackberry Email Client - PullRequest
2 голосов
/ 16 августа 2011

Я пытаюсь приложить электронную таблицу Excel к электронному письму программным способом, а затем запускаю почтовый клиент по умолчанию для Blackberry с сообщением в качестве аргумента. К сожалению, я получаю сообщение об ошибке: «Служба электронной почты не поддерживает эти типы вложений. Измените поле« Отправить с помощью »или удалите вложения». Кнопка отправки отсутствует, и в меню нет опции «Отправить»; это блокирует возможность отправки электронного письма.

Эта ошибка возникает, когда я загружаю пакет на свой физический телефон Blackberry, а также в симулятор.

Я могу отправлять электронную почту без помех, если вместо этого использую API (прокомментированная строка transport.send).

Любая информация будет принята с благодарностью, и если я пропустил некоторые детали, пожалуйста, дайте мне знать.

public Email()
{
    try{
        message = new Message();
        multipart = new Multipart(); //Multi part can hold attachment AND body (and more)
        subject = "Service Change Request";
        multipart.addBodyPart( new TextBodyPart( multipart, "Hi XXXXXX, \n Here are the details for CLIENT" ) );
        byte[] data = null;
        InputStream stream =  MyAPP.getUiApplication().getClass().getResourceAsStream("/blank_form.xls");
        data = IOUtilities.streamToBytes(stream);
        stream.close();
        multipart.addBodyPart( new SupportedAttachmentPart( multipart, "application/octet-stream", "ServiceUpdate.xls", data ) );

        Address recipients[] = new Address[1];
        recipients[0]= new Address("*******@gmail.com", "user");

        message.setSubject(subject);
        message.setContent( multipart );
        message.addRecipients(Message.RecipientType.TO, recipients);

        //Transport.send(message);

    }catch(Exception e){

    }
}

public void send(){
    Invoke.invokeApplication( Invoke.APP_TYPE_MESSAGES, new MessageArguments( message ) );
}

1 Ответ

2 голосов
/ 26 декабря 2011

РЕДАКТИРОВАТЬ: ошибка появляется, потому что на симуляторе не настроена учетная запись электронной почты.Он должен прекрасно работать на любом телефоне с правильно настроенной учетной записью электронной почты.

Надеюсь, это поможет, и я не слишком поздно помогать этому сообщению.Я работал с вложениями раньше, и с ними трудно работать в Blckberry.

Единственная проблема, о которой я могу подумать, это тип MIME, который вы пытаетесь использовать."Application/octet-stream", попробуйте использовать MIME, соответствующий расширению вложения, например, "application/excel" для файлов .xls.Вы можете найти полный список здесь , самый длинный, который я смог найти.

Есть также некоторые проблемы с почтовым сервисом Blackberry и приложениями, которые упоминаются в нескольких статьях базы знаний поОфициальная страница для разработчиков , как эта , иногда они говорят, что вложения должны иметь префикс "x-rimdevice" в имени файла, например "x-rimdevice-serviceupdate.xls".Хотя я не совсем уверен, что это влияет на исходящую электронную почту, но я подумал, что стоит упомянуть.

Кстати, я пытаюсь использовать ваш код для приложения, которое я сейчас кодирую, поэтомуЯ надеюсь, что это сработает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...