在 Thunderbird 扩展中获取邮件发件人

2023-12-25

我正在开发一个非常简单的 Thunderbird 扩展,它应该在发送邮件时提醒发件人的姓名以及收件人的姓名。问题是下面代码片段中的 gMsgCompose.compFields.from 字段为空(.to 字段按预期工作),它处理“compose-send-message”事件。我在这里缺少什么?

function send_event_handler( evt ) {
var msgcomposeWindow = document.getElementById( "msgcomposeWindow" );
var msg_type = msgcomposeWindow.getAttribute( "msgtype" );

// do not continue unless this is an actual send event
if( !(msg_type == nsIMsgCompDeliverMode.Now || msg_type == nsIMsgCompDeliverMode.Later) )
  return;

var promptService = Components.classes["@mozilla.org/embedcomp/prompt-service;1"].getService(Components.interfaces.nsIPromptService);
promptService.alert(window, "From", gMsgCompose.compFields.from);
promptService.alert(window, "To", gMsgCompose.compFields.to);
}

window.addEventListener( "compose-send-message", send_event_handler, true );

您可以通过 msgIdentity 小部件获取发送身份:

var identityWidget = document.getElementById('msgIdentity');
var fromIdentityKey= self.identityWidget.value;

然后,使用账户管理器查找身份信息:

var acctMgr = Components.classes["@mozilla.org/messenger/account-manager;1"]
                      .getService(Components.interfaces.nsIMsgAccountManager);
var accounts = acctMgr.accounts;
for (var i = 0; i < accounts.Count(); i++) {
  var account = accounts.QueryElementAt(i, Components.interfaces.nsIMsgAccount);

  var accountIdentities = account.identities;

  for(var identCount = 0; identCount < accountIdentities.Count(); identCount++) {
    var identity = accountIdentities.QueryElementAt(identCount,
                                                 Components.interfaces.nsIMsgIdentity);

    if(identity.key == fromIdentityKey) {
       // Identity found
       alert(identity.email);
    }
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Thunderbird 扩展中获取邮件发件人 的相关文章

  • smtp通过postfix发送邮件和nodejs nodemailer连接关闭

    我有通过 smtp 服务器远程发送的问题 使用nodejs模块nodemailer host mail 5cpa ru port 587 secure false true tried also smtp 服务器是我的 我可以使用相同的设置
  • 如果我使用共享合同和共享文件,是否可以在 Windows 8 Metro 应用程序中为邮件应用程序设置主题?

    首先 我将 Windows 8 Metro 应用程序中的内容共享到另一个应用程序 例如 Mailto 应用程序 因此 现在我正在使用共享合约将文件共享到 mailto 应用程序并从我的应用程序共享文件 我想知道是否 我可以将主题设置为我要作
  • 是否可以通过 MX 查找获取端口?

    我正在了解什么是的旅程从 Python 代码发送电子邮件的正确方法 https stackoverflow com questions 50695188 what is the proper way to actually send mai
  • mailto 的语法

    当使用这样的 mailto 链接时 a href title Subject Link Text a 是否可以设置 FROM 地址 更新 我忘了提及 我有一群忠实的受众 他们都将使用 IE8 和 Outlook 不幸的是 事实并非如此 您只
  • 尝试使用 SwiftMailer 和 Sendgrid 发送电子邮件时出现致命错误

    我在尝试使用 swiftmailer 和 sendgrid smtp 发送电子邮件时收到此错误 致命错误 未捕获异常 Swift TransportException 消息 预期响应代码 250 但收到代码 消息 这是我的代码 hdr ne
  • Android 应用程序开发 - 不带 Intent 直接发送电子邮件

    任何人都可以建议我如何在不使用意图或打开另一个 Android 应用程序的情况下发送电子邮件 我希望点击发送按钮后直接发送电子邮件 我必须使用特定的 Office365 电子邮件来发送消息 我应该使用一些 API 或 SMTP 等吗 有没有
  • Django 抛出此错误:SMTPException:服务器不支持 STARTTLS 扩展

    由于 gmail 中发送邮件的限制 我在我的一台服务器上安装了 exim4 设置如下 dc eximconfig configtype internet dc other hostnames mydomain com localhost l
  • 如何阻止 MailApp.sendEmail() 每约 80 个字符向电子邮件正文添加换行符?

    我正在使用附加到我的 Google 云端硬盘中的 google 工作表的 google 脚本来发送电子邮件 我注意到 MailApp sendEmail 发送的电子邮件的正文与原来的不太一样 它每约 75 个字符添加一个换行符 不中断单词
  • Google Apps 脚本:在电子邮件中发送 PDF 而不是 .zip 文件

    我有这段代码 可以从 Google 电子表格生成 PDF 文件并将其作为电子邮件附件发送 问题是它压缩文件const zipBlob Utilities zip blobs setName ss getName zip 我想更改它 以便附加
  • Flutter“Mailer”API 多图像附件

    我正在制作一个简单的应用程序 用于从用户获取个人信息和图像数量 然后通过后端邮件 API 通过一键单击按钮发送它们 到目前为止 我可以通过邮件获取和发送 FormData 但我不知道如何发送图像数组 我已经尝试了几个 API 但 Maile
  • 在 HTML 电子邮件中嵌入附加图像

    如果我将图像附加到电子邮件中 如何将其放置在 HTML 内容中 我尝试仅使用文件名作为图像源 但这似乎不起作用 更具体地说明如何构建 HTML 邮件消息 结果将是一条多部分 MIME 消息 其中包含 text html 部分 如果您确实使用
  • 无需 cron 在后台发送邮件

    我想知道是否有一种方法可以运行 PHP 循环 以便在后台向订阅者发送几百封电子邮件 我的目标是格式化新闻通讯 单击发送 然后关闭浏览器或更改页面 当然 发送电子邮件的实际过程将在后台运行 不会因浏览器关闭而中断 我知道这可以通过 cron
  • 是否有关于 EML 文件格式的 RFC?

    基本上 我正在尝试使用 EML 文件 我想知道这些文件在不同的电子邮件服务器上是否相当标准 基本上 EML 文件上是否有一个 RFC 就像电子邮件地址和其他主题的 RFC 一样 我想我可以更具体一点 以便更好地了解我需要什么 我正在扫描 E
  • php 邮件特殊字符 utf8

    我有以下脚本 在电子邮件中 主题 Testmail Special Characters Body Hi there this isn t somet
  • MIME::Lite - 无法发送邮件 [smtp.gmail.com 不支持 SMTP auth() 命令]

    use MIME Lite use warnings use MIME Base64 use Authen SASL use MIME Lite use MIME Base64 use Authen SASL use warnings us
  • ::after 内联 HTML 电子邮件?

    banner width 34px height 52px position relative color white font size 11px letter spacing 0 2em text align center float
  • 如何从 Ruby 程序发送邮件?

    我想从 Ruby 应用程序发送电子邮件 核心语言中是否有调用来执行此操作 或者是否有我应该使用的库 最好的方法是什么 如果你不想使用行动邮递员 http wiki rubyonrails org rails pages ActionMail
  • 检查 paypal 电子邮件地址是否是经过验证的用户

    我想在购买之前检查尝试从我的网站购买商品的 PayPal 用户是否拥有经过验证的帐户 一旦用户未经验证 他 她进行的任何付款都将失败 资金将自动返还给用户 由于欺诈问题 我是否可以添加或编辑任何代码以使其正常工作 好吧 我找到了这个 htt
  • 设置大型电子邮件通知系统有哪些方法?

    我的公司有一个用 PHP 构建的网站 我们使用内置的 PHP 电子邮件功能每天向订阅者发送数千封电子邮件 这是一个糟糕的主意 它堵塞了我们的服务器 并且需要几个小时才能完成整个批次 现在我已经研究过像 MailChimp 这样的群发邮件服务
  • PHP:如何发送电子邮件基础知识

    我想使用 PHP 从本地主机向其他人发送电子邮件 我需要做什么才能做到这一点 例如我需要安装邮件服务器吗 如果我没记错的话 有一种语言不需要邮件服务器来发送电子邮件 这样对吗 PHP ini里面有 邮件功能 如何配置这个 我在网上查了一下

随机推荐

  • 如何检查和调整浏览器中的 :before 和 :after 伪元素?

    我使用 after 伪元素创建了一些相当复杂的 DOM 元素 并且我希望能够在 Chrome Inspector 或 Firebug 或等效工具中检查和调整它们 尽管这个功能被提到这篇 WebKit Safari 博客文章 http www
  • Linq to SQL DataContext:如何加载数据?

    我对 Linq to SQL 完全陌生 我正在创建一个与数据库密切配合的 Web 应用程序 我正在寻找最快且连接时间高效的模型 并相信 Linq to SQL 就是这样 我正在使用 C Net4 Visual Studio 2010 为了简
  • jQuery UI 对话框未位于屏幕中央

    我有一个 jQuery 对话框 该对话框位于屏幕中间 然而 它在垂直方向上似乎稍微偏离中心 这是代码 add box dialog autoOpen true width 300 modal true resizable false bgi
  • 如何检查对象中的数组是否全部为空?

    所以我需要传入一个对象 其中每个属性都是数组 该函数将使用每个数组中保存的信息 但我想通过检查每个数组是否为空 空来检查整个对象是否为空 不仅仅是没有属性 到目前为止我所拥有的 function isUnPopulatedObject ob
  • 动画:计时器与空闲

    有一个类似的线程 https stackoverflow com questions 622604 best approach for game animation其他地方 但它专注于游戏编程 我发现它与带有一些 额外糖分 的常规 GUI
  • Nuget 包已安装但引用未解析

    我有一个多项目解决方案 在多个项目中安装了 Prism Nuget 包 然后 我尝试使用 Nuget Package Manager UI 将 Prism Mef 扩展包添加到其中一个项目 我已经将其添加到其他项目之一 我第一次尝试添加软件
  • ng-switch-when 与 ng-repeat

    我的 HTML 代码是 tr td span Ordering Mode span onlineCredentials mode br span Intermedtiary Group span onlineCredentials name
  • 如何检查 CLLocationCooperative2D 是否在四个 CLLocationCooperative2D 正方形内?在 Objective C 中使用 Google 地图

    我想测试 CLLocationCooperative2D 是否位于由其他四个 CLLocationCooperative2D 创建的 Square 内 我有一个这样的结构 typedef struct CLLocationCoordinat
  • 如何更改请求的标头?

    是否可以更改标题Request https developer mozilla org en US docs Web API Request接收到的对象fetch https developer mozilla org en US docs
  • 如何在 Ruby 中生成 n 个唯一随机数的列表?

    这是我到目前为止所拥有的 myArray map rand max 然而 显然有时列表中的数字并不唯一 如何确保我的列表仅包含唯一的数字 而不必创建一个更大的列表 然后我只需从中选择 n 个唯一的数字 Edit 我真的很希望看到这个没有循环
  • 内部测试时 ITSAppUsesNonExemptEncryption 导出合规性?

    我在选择内部测试构建时收到此消息 它说有关设置ITSApp 使用非豁免加密在info plist中是什么意思 有必要吗 基本上
  • 无法查看 plunker 结果

    突然 当我从过去 4 天开始尝试运行时 我的一些笨蛋出现了以下错误 statusCode 404 error Not Found 请参考我的一个笨蛋http plnkr co edit wWJx3zU3Sm1cN9ZCtvoh p prev
  • 更新在 dynamodb 中添加属性的项目

    dynamodb 中不能动态添加属性吗 当我尝试时 我得到了这个错误 提供的关键元素与架构不匹配 设想 id 123 imageName elephant jpg 我想向上述数据添加一个属性 imagePath path to image
  • 如何记录所有传入数据包

    我尝试使用预路由规则将传入数据包重定向到内部虚拟 IP 地址 如何在传入数据包被重定向之前记录该数据包 iptables t nat A PREROUTING d 46 X XX XX s 78 XX XX XX p tcp dport 8
  • vscode launch.json 调试并打开特定url

    给定以下自动生成的 Visual Studio Code launch json 配置 我想启动浏览器localhost 5000 swagger当我调试时 但我尝试了六种不同的方法 但没有任何效果 它只是打开到localhost 5000
  • 从 MPICH 切换到 OpenMPI

    我的 Ubuntu 20 04 中有 mpich 和 openmpi dpkg l grep mpi grep lib ii libmpich dev amd64 3 3 2 2build1 amd64 Development files
  • 如何在Unity顶部显示ui元素

    如何在其他元素之上显示我的 ui 元素 http prntscr com brjccg http prntscr com brjccg您可以看到面板的右侧 但左侧位于地图对象下方 如何解决我想看到它的两面 这是它当前拥有的组件http pr
  • dp-sp与PX的关系

    我不是问 dp sp 和 px 之间有什么区别 我正在设计一个基于谷歌新材料设计的网站 所有尺寸均以 dp 用于网格 和 sp 用于文本 为单位 我的问题是它们如何转换为像素 我设计网站已有 4 年多了 所有尺寸 网格和字体 均以像素为单位
  • Git 无法从 ownCloud 的 webdav 界面克隆存储库

    我在自己的云上有一些个人 git 存储库 我可以通过访问 ownClouds webdav url 从 2 台 ubuntu 机器和一台 Windows PC 克隆它 http myserver a remote php webdav re
  • 在 Thunderbird 扩展中获取邮件发件人

    我正在开发一个非常简单的 Thunderbird 扩展 它应该在发送邮件时提醒发件人的姓名以及收件人的姓名 问题是下面代码片段中的 gMsgCompose compFields from 字段为空 to 字段按预期工作 它处理 compos