Anexar arquivos no e-mail para usuário externo

Alguém já criou recurso de envio de email com anexos no e-mail para usuários externos. Um exemplo para um fornecedor. Quem tiver esse recurso eu compro.

Olá,

Cheguei a criar essa funcionalidade de uma forma alternativa...

No caso o anexo da solicitação não vai como um anexo no e-mail, mas sim em forma de link no corpo do e-mail com acesso Oauth, segue o exemplo:


  try { 
                var param = new java.util.HashMap();
                var dest = new java.util.ArrayList();

                log.info("*** emailFornec: "+emailFornecedor);
                var emailFornecArray = emailFornecedor.split(';');

                log.info("*** emailFornecArray.length: "+ emailFornecArray.length);

                for ( var x = 0; x < emailFornecArray.length; x++){

                    log.info("*** emailRespArray["+x+"]: "+ emailFornecArray[x]);
                    dest.add(emailFornecArray[x]);    
                }

                dest.add(emailContratos);

                var emailResp = hAPI.getCardValue("emailResp");

                log.info("*** emailResp: "+emailResp);
                var emailRespArray = emailResp.split(';');

                log.info("*** emailRespArray.length: "+ emailRespArray.length);

                for ( var x = 0; x < emailRespArray.length; x++){

                    log.info("*** emailRespArray["+x+"]: "+ emailRespArray[x]);
                    dest.add(emailRespArray[x]);    
                }

                param.put("subject","ASSINATURA DO CONTRATO - Solicitação "+WKNumProces);
                param.put("SERVER_URL", server);
                param.put("TENANT_ID", getValue("WKCompany"));
                param.put("solicitacao", WKNumProces);
                param.put("solicitante", hAPI.getCardValue("nomeFornecedor"));
                param.put("obra", hAPI.getCardValue("obraDepartamento2"));

                // Verificação dos anexos
                var anexos = new java.util.ArrayList();
                var docs = hAPI.listAttachments();

                log.info("### docs.size() : "+ docs.size() );

                hAPI.setCardValue("qtdAnexo", docs.size());


                for (var i = 0; i < docs.size(); i++) {

                    log.info("### Dentro do for");

                    var doc = docs.get(i);
                    var anexo = new java.util.HashMap();


                    //Padrão de pastas Prod
                    var documentJson = JSON.parse(acesso.get('/public/2.0/documents/getDownloadURL/' + doc.getDocumentId()));

                    //Padrão de pastas Dev
                   // var documentJson = JSON.parse(acesso.get('/public/p/documents/getDownloadURL/' + doc.getDocumentId()));

                     log.info("### Depois da criação da var documentJson");
                    var attachment = server + "/portal/p/Eztec/ecmnavigation?app_ecm_navigation_doc=" + doc.getDocumentId();

                    log.info("#### link Fluig: " + attachment);
                    log.info('#### link externo:  '+ documentJson.content);
                    log.info("#### link description:  "+ doc.getDocumentDescription());
                    log.info("#### link docId:  "+ doc.getDocumentId());

                    var anexoDescription = hAPI.getCardValue("listaAnexo");
                    var anexoId = hAPI.getCardValue("codAnexo");

                    log.info("####  listaAnexo:  "+ anexoDescription);
                    log.info("####  codAnexo:  "+ anexoId);

                    //if(doc.getDocumentDescription() == anexoDescription ){
                    if( doc.getDocumentId() == anexoId ){

                        log.info("### Dentro do startsWith");

                        anexo.put("link", documentJson.content);
                        anexo.put("description", doc.getDocumentDescription());


                        anexos.add(anexo);
                    }    
                }

                param.put("anexos", anexos);                

                if (dest.size() > 0){
                    log.info("*** notifier.notify");
                    notifier.notify("contratos.fornecedores", "BPM-004-Contrato_1", param, dest, "text/html");    
                }       
            }  catch (e) {
                log.error(">>>>> Erro Envio de email de customizado: " + e);
            }

Abraço,