使用nodemailer发送电子邮件

2024-01-07

我正在尝试使用 nodemailer 从我的应用程序发送电子邮件。

我的设置如下:

var nodemailer = require('nodemailer');
var smtpTransport = require('nodemailer-smtp-transport');
var transporter = nodemailer.createTransport(smtpTransport ({
  host: 'smtp.companyname.dk',
  secureConnection: true,
  port: 587,
  auth: {
        user: '[email protected] /cdn-cgi/l/email-protection',
        pass: '****'
  }
}));

var mailOptions = {
    from: 'Olaf <[email protected] /cdn-cgi/l/email-protection>',
    to: '[email protected] /cdn-cgi/l/email-protection',
    subject: 'This is a test ',
        text: 'Hello world ',
        html: '<b>Hello world </b>'
    };

transporter.sendMail(mailOptions, function(error, info){
    if(error){
       console.log(error);
    }else{
    console.log('Message sent: ' + info.response);
    }
});

运行后,它给我以下错误:

{ [Error: Hostname/IP doesn't match certificate's altnames: "Host: smtp.companyname.dk. is not in the cert's altnames: DNS:*.mailcloud.dk, DNS:mailcloud.dk"]
  reason: 'Host: smtp.companyname.dk. is not in the cert\'s altnames: DNS:*.mailcloud.dk, DNS:mailcloud.dk',
  host: 'smtp.companyname.dk.',
  cert: 
   { subject: { OU: 'Domain Control Validated', CN: '*.mailcloud.dk' },
     issuer: { O: 'AlphaSSL', CN: 'AlphaSSL CA - G2' },
     subjectaltname: 'DNS:*.mailcloud.dk, DNS:mailcloud.dk',
     infoAccess: { 'CA Issuers - URI': [Object], 'OCSP - URI': [Object] },
     modulus: 'AFFDE405E26382FC1F9A126B51C763A21DCB90228DF9B9BFF466B00DA17BCBDA48E0315E0A6E4E8E0C65B3E5A9BF9A98448DF8006869B913C8D644B78B2176C240AA703DF7C5109F7FC9EDBAE0A69E35E00A81D753990A7DF531CC1F47A778A1CC18271298DBB71E341E846139951D9B119C237BDD9AA6F7D16A62FC5D4D6BEA0288DAC700E5C87E472B75365C522B0342185F16854659EE48637B6124269C4E18CC040344928D115350805EF66738922230349DEC97E2D68D0B4175EA6B63BC161B841C150B7009AAC0E8A06CD34D3912926D98CEBF83F6C187AD08A5045F9868512EFDD478FAA81FA0402F5C44B3FD70F82BA4F102352A01B02B77F0FA096D',
     exponent: '10001',
     valid_from: 'Oct  3 08:22:02 2014 GMT',
     valid_to: 'Dec 21 11:07:29 2017 GMT',
     fingerprint: '35:3A:87:5C:91:8C:B2:7C:4E:87:D1:E3:26:84:57:E5:A1:73:62:F3',
     ext_key_usage: [ '1.3.6.1.5.5.7.3.1', '1.3.6.1.5.5.7.3.2' ],
     serialNumber: '****',
     raw: <Buffer 30 82 04 a7 30 82 03 8f a0 03 02 01 02 02 12 11 21 75 e4 f8 11 73 a4 c5 05 36 5f fe 9b b3 0b 4f 86 30 0d 06 09 2a 86 48 86 f7 0d 01 01 05 05 00 30 2e ... > } }

我已经被这个问题困扰好几天了,到处都在寻找,所以我希望有人可以帮助我(或者至少指出正确的方向)。


尝试添加:

    tls: {
        rejectUnauthorized: false
    },

到您的nodemailer选项对象。

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

使用nodemailer发送电子邮件 的相关文章

随机推荐

  • 如何确保 List.Contains(T) 适用于我的自定义类?

    我使用 net 2 0 C 我有一个 Person 类 我从数据库填充 List p 我知道我的列表有重复项 但是当我尝试删除重复项 https stackoverflow com questions 47752 remove duplic
  • 2015 年 3 月更新后从 Spotify 应用程序获取当前曲目信息

    我想使用自动热键从 Spotify Windows 客户端提取当前曲目信息 虽然这个问题Spotify 中下一首歌曲的热键 https stackoverflow com questions 28957636 hotkey for next
  • Kotlin 内联属性有哪些用例?

    作为属性 getter or setter通常没有函数作为参数 也没有reified https kotlinlang org docs reference inline functions html reified type parame
  • Google Chrome 防止捏合缩放

    我正在运行 Windows 8 1 的 Microsoft Surface Pro 2 上开发 Chrome 应用程序 最近 Chromium 团队决定在 Windows 8 的 Chrome 中添加捏合缩放手势 这一切都很好 然而 他们并
  • 需要通过CSS将网页中的图像居中

    即使调整浏览器大小 我也希望将图像在页面中垂直和水平居中 目前 我使用这个CSS centeredImage position fixed top 50 left 50 margin top 50px margin left 150px 还
  • 如何仅在尚未安装 .NET Framework 时安装它?

    有没有办法检查 NET Framework 4是否已安装并仅在系统中没有时才安装 我知道 如何通过检查以下注册表项来确定是否安装了 NET Framework 4 hasDotnet4 RegKeyExists HKEY LOCAL MAC
  • WKWebView 中的 Javascript - 评估 JavaScript 与 addUserScript

    我试图了解使用 WKWebview 执行 javascript 的最佳方式 有人可以给我使用 WKWebView 时的用例 最佳实践吗 何时使用添加用户脚本 and WKScript消息处理程序以及何时使用评估JavaScript let
  • 如何将数据播种到 Firebase Firestore?

    我有一个名为 Seed js 的文件 代码如下 我想将其数据从我的 React js 应用程序添加到 Firebase Firestore 有没有一个脚本可以让我做到这一点 想如果我包括 import seedDatabase from s
  • 在 Tensorflow 中添加整个训练/测试数据集的准确性摘要

    我正在尝试使用 Tensorboard 来可视化我的训练过程 我的目的是 当每个 epoch 完成时 我想使用整个验证数据集测试网络的准确性 并将此准确性结果存储到摘要文件中 以便我可以在 Tensorboard 中可视化它 我知道 Ten
  • 在 ggplot aes 中使用闪亮的输入值

    我正在尝试在 Shiny 中实现这 3 行代码 这是我想要的输出 install packages ggalt library ggalt health lt read csv https raw githubusercontent com
  • iOS 中的收据验证在沙箱测试期间返回不正确的信息

    我正在为我的应用程序实施收据验证 因为它是付费的 并且在以后的应用程序内购买中将是免费的 我已经设置了我的服务器和一切 并且我已经发送了收据数据 但是 当我收到响应时 无论如何 响应 JSON 总是显示original applicatio
  • 如何在绘图中添加多个带有循环的形状

    我使用plotly包在python中显示动态财务图表 然而 我没能用 for 循环将所有关键点线放在一张图表上 这是我的代码 fig update layout for i in range 0 len data shapes go lay
  • 如何防止IE10中滚动条覆盖内容?

    在 IE10 中 滚动条并不总是存在 当它出现时 它会作为覆盖层出现 这是一个很酷的功能 但我想为我的特定网站关闭它 因为它是一个全屏应用程序 而且我的徽标和菜单消失在其后面 IE10 CHROME 有人知道在 IE10 上始终将滚动条固定
  • 如何在我的共享 Hostgator 上创建 git 存储库?

    如何在我的共享 Hostgator 上创建 git 存储库 顺便获得了 SSH 访问权限 假设已经安装了 Git git init bare path to repo 如果未安装 Git 您将无法直接推送到托管存储库 但您可以通过执行以下操
  • 如何格式化/着色 NSTextView 字符串的技术

    我正在寻找一种可靠的技术来在 NSTextView 中进行简单的字符串格式化 粗体 斜体 文本解析几乎是用正则表达式完成的 但现在我需要应用字体特征并更改大小 关于如何将文本设为粗体的一些代码片段 textView textStorage
  • R:尽管“append = TRUE”,但当表存在时,为什么 dbWriteTable 会失败

    我正在尝试使用以下命令将新数据附加到已存在的 MySQL 表中dbWriteTable方法 我过去使用它没有问题 但现在失败了 因为表已经存在 这是尽管使用overwrite FALSE append TRUE 代码 full sum ta
  • 日食 | Packge 变成一个目录,破坏了我的整个项目

    所以我遇到的问题非常奇怪 当我设置了一个预先存在的项目 并将其从计算机 A 移动到计算机 B 时 我创建一个新项目并以正常方式导入它 它非常非常基于包 大约有 30 40 个包 将两个包制作成目录而不是包 例如 它不是 org projec
  • 为什么构造函数不能被显式调用,而析构函数却可以?

    在下面的 C 代码中 我可以显式调用析构函数 但不能显式调用构造函数 这是为什么 不会是明确的 ctor 调用更多富有表现力的 and unified与 dtor 案有关吗 class X int main X x X operator n
  • Key存在时出现KeyError

    使用 python 和 twitter api 获取 tweet 对象 我有一个包含推文的文件 tweetfile 我的计算机上的 txt 文件 我试图循环遍历对象以获取文本 我使用 tweetObj keys 检查了 twitter 对象
  • 使用nodemailer发送电子邮件

    我正在尝试使用 nodemailer 从我的应用程序发送电子邮件 我的设置如下 var nodemailer require nodemailer var smtpTransport require nodemailer smtp tran