我如何通过 indboxSDK
获取发件人e-mail
?我尝试了:
InboxSDK.load(2, 'sdk_marcin123_e44a6df9c6').then(sdk => {
sdk.Conversations.registerThreadViewHandler(threadView => {
var tytul=threadView.getSubject();
var contact=threadView.getContacts();
//var contact=sdk.User.getFromContact();
const el = document.createElement("div");
el.innerHTML = '<a href=fire.php?email='+ contact +'>Szukaj klienta</a>';
threadView.addSidebarContentPanel({
title: 'Szukaj w EU',
iconUrl: chrome.runtime.getURL('monkey.png'),
el
});
});
});
但我得到:
错误记录:typeError:threadView.getContacts不是函数 在SDK
我如何从电子邮件中打印并在HTML链接中显示?
您可以使用MessageView处理程序获取发件人信息,这很简单:
sdk.Conversations.registerMessageViewHandler(function(messageView){
var sender = messageView.getSender();
// {emailAddress:'some@email.com', name: 'Some Name'}
});
但是,如您所见,这在threadView的范围之外,因此我建议在两个范围之外具有变量,在MessageView中获取发件人信息,然后在ThreadView中使用它。
。我在开发和使用setInterval的扩展中做了类似的事情,以不断观察我想使用的变量,在您的情况下,它应该是这样的:
InboxSDK.load(2, 'sdk_marcin123_e44a6df9c6').then(sdk => {
var sender;
// Use MessageView to get the sender information
sdk.Conversations.registerMessageViewHandler(messageView => {
sender = messageView.getSender();
});
sdk.Conversations.registerThreadViewHandler(threadView => {
var tytul=threadView.getSubject();
var contact=threadView.getContacts();
const el = document.createElement("div");
setInterval(() => {
if (sender){
// Do something with the sender information
el.innerHTML = '<a href=fire.php?email='+ contact +'>Szukaj klienta</a>';
threadView.addSidebarContentPanel({
title: 'Szukaj w EU',
iconUrl: chrome.runtime.getURL('monkey.png'),
el
});
}
},1000);
});
});
我尝试过,此代码将在从Gmail发送邮件之前起作用。
InboxSDK.load('1', 'sdk_marcin123_e44a6df9c6').then(function (sdk) {
// the SDK has been loaded, now do something with it!
sdk.Compose.registerComposeViewHandler(function (composeView) {
composeView.on('presending', function (event) {
var cv = event.composeView;
cv.insertTextIntoBodyAtCursor(' From Doyenhub Software Solutions LLP.');
var subject = cv.getSubject();
var mail_body = cv.getTextContent();
var toAddress = cv.getToRecipients();
var ccAddress = cv.getCcRecipients();
var bccAddress = cv.getBccRecipients();
//This variables will give the email data from the compose mail box
});
});
希望这对您有帮助。