我如何通过indboxSDK
获取发件人电子邮件
?我试过这个:
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
});
});
});
但我得到:
Error logged: TypeError: threadView.getContacts is not a function at 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);
});
});
关于javascript - 使用 inboxSDK 获取发件人电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47874753/