node.js - 使用 nodejs 和 mailgun 发送电子邮件时出错
问题描述
Beofre 有人说我在做一个重复的问题,我已经搜索过和其他解决方案,对我来说不起作用,例如这个:Mailgun 的域名示例是 nodejs 的?
我一直在尝试使用带有 nodejs + typescript 的 mailgun api 发送电子邮件。我已经安装了所有需要的库,事实上,如果我使用 mailgun 允许您使用的沙箱域,一切正常。当我使用我在mailgun中添加的域时,问题就来了。我的代码是这样的:
const mailer = new Mailgun({
apiKey: api_key,
domain: 'tresee.app'
});
const mensaje = {
from: "tresee.app",
to: "miguelmonteiroclaveri@gmail.com",
subject: "Hello",
html: "<b>Testing some Mailgun awesomeness!</b>"
};
const response = await mailer.messages().send(mensaje);
Este codigo, si pongo el dominio de sandbox de mailgun funciona perfectamente, pero si pongo mi dominio tresee.app me sale el siguiente 错误:
error Error: Domain not found: tresee.app
at IncomingMessage.<anonymous> (C:\Users\migue\Documents\proyectoFinal\auth-backend\node_modules\mailgun-js\lib\request.js:327:17)
at IncomingMessage.emit (events.js:323:22)
at endReadableNT (_stream_readable.js:1204:12)
at processTicksAndRejections (internal/process/task_queues.js:84:21) {
statusCode: 404
}
body { message: 'Domain not found: tresee.app' }
在 mailgun 中,我用下一个 dns 记录正确添加了我的域,但仍然给我错误
任何人都可以解释我为什么会收到此错误消息?非常感谢你
解决方案
解决了,文档中的任何地方都是这个答案,只是幸运地找到了它。必须在mailgun的初始化中添加下一行:
host: "api.eu.mailgun.net"
推荐阅读
- laravel - 为什么第一方客户端无法处理 Laravel Passport 上的“authorization_code”授权类型
- python - 通过用户输入在元组中打印出每次都不同的输出
- java - 如何从Java中的Pair和Object的映射中获取值
- ruby-on-rails - 表单提交 React 和 Rails
- javascript - 在 Vue.js 的匿名组件中包装接收到的插槽(vnodes)
- ajax - HTTP 重定向 (302) 在 ajax 调用期间如何工作
- css - 如何在材质 UI 选择/菜单项组件中将文本换行到下一行?(CSS问题)
- android - Firebase Auth - GetTokenResult.getExpirationTimestamp 在内部抛出 ClassCastException
- python - numba 中的随机样本
- angular - 如何管道系列同步。和异步。在 Angular 服务中使用 RxJs 运算符的任务