Изображение не показывается в почте, а встроено. Работа с Android Studio - PullRequest
0 голосов
/ 08 ноября 2019

Я хочу попытаться отобразить изображение в Gmail, будучи встроенным в файл изображения. Однако изображение не будет отображать сделанное изображение.

В файле сохранения я пытаюсь сохранить файл. В createfile я пытаюсь создать путь для файла, который будет сохранен. В части try я пытаюсь сослаться на метод multimessage, который добавит части (включая изображение) в mulitpart, которая возвращается впопробуйте и отправьте получателям.

private void savefile(File file, Bitmap bitmap) throws IOException {
        FileOutputStream outstream;
        outstream = new FileOutputStream(file);
        bitmap.compress(Bitmap.CompressFormat.PNG, 100, outstream);
        outstream.flush();
        outstream.close();
    }

    private File createfile() {
        String timestamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
        String imagefilename = "Complaint"+timestamp+"_";
        File storedir = getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
        File file = null;
        try {
            file = File.createTempFile(imagefilename, ".png", storedir);
        } catch (IOException e) {
            Log.d( "mylog", "Excep : " + e.toString());

        }
        return file;
    }
try {

            Message message = new MimeMessage(session);
            message.setFrom(new InternetAddress(username));
            message.setRecipients(Message.RecipientType.TO,
                    InternetAddress.parse("mailaddress"));
            message.setSubject(subjectEdit.getText().toString());
            //message.setText(messageEdit.getText().toString());
            message.setContent(multimessage(createfile()));

            new SendMailTask().execute(message);

        }   catch (MessagingException mex) {
            mex.printStackTrace();
        }
    }

    private Multipart multimessage(File file) throws MessagingException {

        MimeMultipart multipart = new MimeMultipart("related");
        BodyPart messagebodypart = new MimeBodyPart();


        String htmlText = "<img src=\"file\">";

        multipart.addBodyPart(messagebodypart);

        DataSource filedatasource = new FileDataSource(file);
        messagebodypart.setDataHandler(new DataHandler(filedatasource));
        messagebodypart.setHeader("content-ID", "file");

        multipart.addBodyPart(messagebodypart);
        messagebodypart = new MimeBodyPart();
        messagebodypart.setContent(htmlText, "text/html");
        multipart.addBodyPart(messagebodypart);

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