我正在使用DocuSign Java SDK,并且需要CarbonCopy的功能,因为我需要将每个文档发送给公司内除签名者以外的其他人。
因此,当我将Gmail地址用于签名者时,电子邮件就会发送出去。但是,当我为CarbonCopy收件人使用gmail地址时,电子邮件从不会发送,也不会收到错误消息。信封ID会返回,好像一切正常。
有什么我想念的吗?有可能使这项工作吗?
// login call available off the AuthenticationApi
AuthenticationApi authApi = new AuthenticationApi();
// login has some optional parameters we can set
AuthenticationApi.LoginOptions loginOps = authApi.new LoginOptions();
loginOps.setApiPassword("true");
loginOps.setIncludeAccountIdGuid("true");
LoginInformation loginInfo = authApi.login(loginOps);
// note that a given user may be a member of multiple accounts
List<LoginAccount> loginAccounts = loginInfo.getLoginAccounts();
String accountId = loginAccounts.get(0).getAccountId();
Path path = Paths.get(sFilePath);
byte[] PDFContents = Files.readAllBytes(path);
// Create an envelope that will store the document(s), field(s), and recipient(s)
EnvelopeDefinition envDef = new EnvelopeDefinition();
envDef.setEmailSubject("Please sign this document sent from Java SDK)");
// Add a document to the envelope
Document doc = new Document();
String base64Doc = DatatypeConverter.printBase64Binary(PDFContents);
doc.setDocumentBase64(base64Doc);
doc.setName("MaterialRequisition.pdf"); // can be different from actual file name
doc.setDocumentId("1");
List<Document> docs = new ArrayList<Document>();
docs.add(doc);
envDef.setDocuments(docs);
// add a recipient to sign the document, identified by name and email we used above
Signer signer = new Signer();
signer.setEmail(sApproverEmail);
signer.setName(sApproverName);
signer.setRecipientId("1");
CarbonCopy cc = new CarbonCopy();
cc.setEmail(sCCEmail);
cc.setName(sCCName);
cc.setRecipientId("2");
// create a signHere tab somewhere on the document for the signer to sign
// default unit of measurement is pixels, can be mms, cms, inches also
SignHere signHere = new SignHere();
signHere.setDocumentId("1");
signHere.setPageNumber("1");
signHere.setRecipientId("1");
signHere.setXPosition("100");
signHere.setYPosition("710");
// Can have multiple tabs, so need to add to envelope as a single element list
List<SignHere> signHereTabs = new ArrayList<SignHere>();
signHereTabs.add(signHere);
Tabs tabs = new Tabs();
tabs.setSignHereTabs(signHereTabs);
signer.setTabs(tabs);
// add recipients (in this case a single signer) to the envelope
envDef.setRecipients(new Recipients());
envDef.getRecipients().setSigners(new ArrayList<Signer>());
envDef.getRecipients().getSigners().add(signer);
envDef.getRecipients().getCarbonCopies().add(cc);
// send the envelope by setting |status| to "sent". To save as a draft set to "created"
envDef.setStatus("sent");
// instantiate a new EnvelopesApi object
EnvelopesApi envelopesApi = new EnvelopesApi();
// call the createEnvelope() API to send the signature request!
EnvelopeSummary envelopeSummary = envelopesApi.createEnvelope(accountId, envDef);
logger.debug("Envelope Id "+ envelopeSummary.getEnvelopeId());
// Delete the PDF file that Logi generated
Files.delete(path);
最佳答案
只有当所有各方根据收件人的订单完成信封后,CarbonCopy收件人才会收到电子邮件。请查看此link中的“复本收件人”说明。
调试代码,并确保在击中createEnvelope之前以及在签名者完成完整信封过程之后,是否在envDef.getRecipients()。getCarbonCopies()中添加CarbonCopy值,然后签名者完成完整信封过程之后,副本将发送到抄送收件人邮件中地址,以确保登录到CarbonCopy收件人电子邮件地址中,该电子邮件必须与完整的文档一起收到,在此您只能查看该文档。