2017-12-19 45 views
-1

Google API를 사용하여 인라인 이미지를 보낼 수있는 방법은 여기 내 코드 Kindy가 무엇이 실종되었는지 알려주시겠습니까?인라인 이미지를 전송하는 Gmail API

String email = 
        "Content-Type: multipart/related; boundary:\"multipart_related_boundary\"\r\n" + 
            "MIME-Version: 1.0\r\n" + 
            FROM_ME + 
            TO + toAddress + "\r\n" + 
            SUBJECT + "welcome" + "\r\n" 
            + "--multipart_related_boundary" + "\r\n" + 
            "Content-type: image/gif; name=\"083.gif\"\r\n" + 
            "MIME-Version: 1.0\r\n" + 
            "Content-ID: <083.gif>\r\n" + 
            "Content-Disposition: inline\r\n" 
            + "--multipart_related_boundary" + "\r\n" + 
            "MIME-Version: 1.0\r\n" + 
            "Content-Type: text/html; charset=utf-8\r\n" + 
            CONTENT_TRANSFER_ENCODING_QUOTED_PRINTABLE + 
            "<html><body><img src=\"cid:083.gif\"/> welcome " + 
            "</body></html>\r\n\r\n"; 

    byte[] converted = Base64.encodeBase64(email.getBytes()); 

    String encodedStr = new String(converted); 
    encodedStr = encodedStr.replace("/", "_").replace("+", "-"); 

    MediaType mediaType = MediaType.parse(APPLICATION_JSON); 
    RequestBody body = RequestBody.create(mediaType, RAW + encodedStr + END_BRACKET); 

    Request request = new Request.Builder() 
        .url(HTTPS_WWW_GOOGLEAPIS_COM_GMAIL_V1_USERS_ME_MESSAGES_SEND).post(body) 
        .addHeader(AUTHORIZATION, 
            BEARER + gmailAuthService.getRefreshToken(token).getAccessToken()) 
        .addHeader(CONTENT_TYPE, "multipart/related; boundary:\"multipart_related_boundary\"").build(); 

    Response response = okHttpClient.newCall(request).execute(); 

마지막으로 내 Gmail에서는 인라인 이미지를 볼 수 없습니다.

답변

1

MIME 메시지의 이미지 섹션은 포함하지만 이미지는 포함하지 않습니다.

Content-ID: <083.gif>Content-Disposition: inline headers 뒤에 실제 이미지를 포함해야합니다. 특히, 해당 섹션에 Content-Transfer-Encoding: base64 헤더를 추가하고 base64로 인코딩 된 이미지 페이로드를 포함하는 것이 좋습니다.

어떻게 작동 할 수 있는지 알아 보려면 Gmail을 사용하여 작은 이미지로 간단한 테스트 이메일을 보내십시오. 그런 다음 Gmail (웹 UI)에서 메시지 옵션 (답장 버튼 근처)으로 이동하여 "원본보기"를 선택하십시오. 그러면 MIME 메시지가 어떻게 작성되는지 정확하게 알 수 있습니다.