首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用inboxSDK获取发件人电子邮件

用inboxSDK获取发件人电子邮件
EN

Stack Overflow用户
提问于 2017-12-18 18:57:28
回答 2查看 1.3K关注 0票数 0

我怎样才能通过e-mail获得发件人indboxSDK?我试过这个:

代码语言:javascript
复制
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上?

EN

回答 2

Stack Overflow用户

发布于 2018-01-19 04:48:21

您可以使用MessageView处理程序获取发送方信息,这非常简单:

代码语言:javascript
复制
sdk.Conversations.registerMessageViewHandler(function(messageView){
 var sender = messageView.getSender();
 // {emailAddress:'some@email.com', name: 'Some Name'}
});

但是,正如您可以看到的,这超出了ThreadView的范围,所以我建议在两个作用域之外都有一个变量,在MessageView中获取发送者信息,然后在ThreadView中使用它。

在我开发并使用setInterval的扩展中,我做了类似的事情,经常观察我想要使用的变量,在您的例子中,应该是这样的:

代码语言:javascript
复制
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);

  });
});
票数 4
EN

Stack Overflow用户

发布于 2018-01-03 10:54:45

我尝试过这样做,这段代码在从Gmail发送邮件之前就能工作了。

代码语言:javascript
复制
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
});
});

希望这能帮到你。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47874753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档