You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用mailgun.js通过message_id获取消息数据与状态?

使用mailgun.js通过message_id获取消息详情的解决方案

你提到的messages.info方法确实不存在于当前的mailgun.js库中,正确的做法是使用messages.get方法来获取单条消息的详情,以下是具体实现:

// 初始化mailgun客户端(若未初始化)
const formData = require('form-data');
const Mailgun = require('mailgun.js');
const mailgun = new Mailgun(formData);
const mg = mailgun.client({username: 'api', key: 'YOUR_API_KEY'});

// 获取消息详情的异步函数
async function fetchMessage(domain, messageId) {
  try {
    const msgDetails = await mg.messages.get(domain, messageId);
    console.log('消息数据:', msgDetails);
    return msgDetails;
  } catch (err) {
    console.error('获取消息失败:', err);
  }
}

// 调用示例
fetchMessage(MAILGUN_API_DOMAIN, mg_id);

关键注意事项

  • message_id格式:必须传入完整的Mailgun消息ID,格式为<xxxxxx@你的域名.com>,不要遗漏前后的尖括号,否则会返回权限或资源不存在错误。
  • API密钥权限:确保使用的API密钥具备messages:read权限,主API密钥默认拥有该权限,子密钥需要手动配置对应权限。
  • 版本兼容:该方法适用于mailgun.js v4及以上版本,若你使用的是旧版(如v3),建议升级到最新版本以适配当前API规范。

如果需要获取消息的点击、打开等事件数据,可以结合events接口通过message_id过滤查询:

async function fetchMessageEvents(domain, messageId) {
  try {
    const events = await mg.events.get(domain, { message_id: messageId });
    console.log('消息事件记录:', events);
    return events;
  } catch (err) {
    console.error('获取事件失败:', err);
  }
}

内容的提问来源于stack exchange,提问作者DeLac

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 17:35:25