2013-07-26 4 views
0

Я разрабатываю приложение для Android, которое запускает эксперименты и получает статистику с Android-устройств. После получения результатов приложение пытается отправить их по электронной почте (с помощью Intent.ACTION_SEND). Однако у меня возникла проблема с размером необработанного сообщения, поэтому сообщение сжимается перед отправкой с использованием GZip. Я не хотел бы создавать файл для прикрепления к сообщению, как и в случае использования putExtra (Intent.EXTRA_STREAM, ...). Было бы очень просто, если бы я мог изменить заголовки сообщений, но, похоже, нет никакого способа сделать это. Я также пытался помещать информацию заголовков перед сообщением, но приложение не было распознано клиентом GMail. Android включил все сообщение внутри чего-то вроде другого вложения, имеющего текстовый/обычный тип. Есть ли способ отправить сообщение с вложением без создания файлов?Отправить электронное письмо с приложением на Android

private void sendResults(String title) { 
    String body; 

    try { 

     body = "Content-type: multipart/mixed; boundary=\"anexo\"\n\n"; 

     body += "--anexo\n"; 
     body += "Content-type: application/gzip; name=\"results.gz\" \n"; 
     body += "Content-disposition: attachment; filename=\"results.gz\" \n"; 
     body += "Content-Transfer-Encoding: base64 \n"; 
     body += Base64.encodeToString(ZipUtil.compress(results).getBytes(), Base64.DEFAULT) + "\n"; 

     body += "--anexo\n"; 
     body += "Content-type: text/plain; charset=us-ascii \n"; 
     body += "Results.\n"; 
     body += "--anexo--\n\n"; 

     Intent sendIntent = new Intent(Intent.ACTION_SEND); 
     sendIntent.putExtra(Intent.EXTRA_TEXT, body); 
     String[] to = { "[email protected]" }; 
     sendIntent.putExtra(Intent.EXTRA_EMAIL, to); 
     sendIntent.putExtra(Intent.EXTRA_SUBJECT, "[dsp-benchmarking] "+title); 
     sendIntent.setType("message/rfc822"); 
     startActivity(Intent.createChooser(sendIntent, "Send results")); 

    } catch (IOException e) { 
     Log.e("SEND_RESULTS", "Error: " + e.getMessage()); 
    } 
} 

ответ

0

Можно ли использовать приложение планировщика электронной почты для этой цели? Если это возможно, вы можете использовать Email-Bot и настроить его для отправки писем с вложениями в определенную учетную запись в настраиваемые интервалы времени. Вы также можете установить удаление вложения после отправки сообщения, если это необходимо.

Смежные вопросы