Nodemailer和Amazon SES

 艾特PONYO 发布于 2023-01-12 11:43

我的结构:

site
-- node_modules
---- nodemailer
-- webclient
---- js
------- controller.js

site/node_modules/nodemailer
site/webclient/js/controller.js

网站/webclient/js/controller.js:

    var nodemailer = require('../../node_modules/nodemailer');

    var transport = nodemailer.createTransport('SES', {
        AWSAccessKeyID: 'xxx', // real one in code
        AWSSecretKey: 'xxx', // real one in code
        ServiceUrl: 'email-smtp.us-west-2.amazonaws.com'
    });

    var message = {
        from: 'example@mail.com', // verified in Amazon AWS SES
        to: 'example@mail.com', // verified in Amazon AWS SES
        subject: 'testing',
        text: 'hello',
        html: '

hello

' + 'test' }; transport.sendMail(message, function(error) { if (error) { console.log(error); } else { console.log('Message sent: ' + response.message); } });

该代码是控制器的一部分,该控制器中的所有其他功能都可以正常运行。

我有什么想念的吗?

也许我要求使用错误的nodemailer模块?

还是传输应该是SMTP,而不是SES?

我被卡住了。

1 个回答
  • 下面的代码是我使用的,并且对我有用。这是针对当前的NodeMailer。需要单独包括运输模块的地方。在以前的版本中,传输模块是内置的 。https://andrisreinman.com/nodemailer-v1-0/#migrationguide

    var nodemailer = require('nodemailer');
        var sesTransport = require('nodemailer-ses-transport');
    
        var SESCREDENTIALS = {
          accessKeyId : "accesskey" ,
          secretAccessKey : "secretkey"
        };
    
        var transporter = nodemailer.createTransport(sesTransport({
            accessKeyId: SESCREDENTIALS.accessKeyId,
            secretAccessKey: SESCREDENTIALS.secretAccessKey,
            rateLimit: 5
        }));
    
    
    
          var mailOptions = {
              from: 'FromName <registeredMail@xxx.com>',
              to: 'registeredMail@xyz.com', // list of receivers
              subject: 'Amazon SES Template TesT', // Subject line
              html: <p>Mail message</p> // html body
          };
    
          // send mail with defined transport object
          transporter.sendMail(mailOptions, function(error, info){
              if(error){
                  console.log(error);
              }else{
                  console.log('Message sent: ' + info);
              }
          });
    

    2023-01-12 11:45 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有