- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我很沮丧,并且已经用尽了我认为好的谷歌搜索。我正在创建一个网络应用程序并使用 Angular Seed 作为我的起点。该项目使用http服务器。我创建了几个 View / Controller /等。我的观点之一是有联系表。我认为我可以轻松添加nodemailer,使我能够以电子邮件的形式发送表单。那是一个巨大的失败。我在网上看到很多例子告诉我将 nodemailer 代码添加到 app.js 但我不断收到错误,说 require 未定义。我不知道还能做什么。这是我正在做的事情:
app.js:
'use strict';
(function() {
// Declare app level module which depends on views, and components
var myApp = angular.module('myApp', [
'ngRoute',
'sn.skrollr',
'ng.picturefill',
'ngAnimate',
'ui.bootstrap',
'myApp.version'
]).config(["snSkrollrProvider", function(snSkrollrProvider) {
snSkrollrProvider.config = { smoothScrolling: true,};
}]);
//initialise skrollr at runtime
myApp.run(["snSkrollr", function(snSkrollr) {
snSkrollr.init();
console.log("in init ");
}]);
myApp.config(['$routeProvider', function($routeProvider) {
$routeProvider.
when("/homePage", {
templateUrl: "Views/homePage.html",
json: 'json/home.json',
controller: 'homeController'
}).
when("/ourMission", {
templateUrl: "Views/mission.html",
json: 'json/mission.json',
controller: 'ourMissionController'
}).
when("/achievements", {
templateUrl: "Views/achievements.html",
json: 'json/achievements.json',
controller: 'achievementsController'
}).
when("/whoWeAre", {
templateUrl: "Views/whoWeAre.html",
json: 'json/whoWeAre.json',
controller: 'whoWeAreController'
}).
when("/contact", {
templateUrl: "Views/contact.html",
json: 'json/contact.json',
controller: 'contactUsController'
}).
when("/globalNav", {
templateUrl: "Navigation/bandedNavTemplate.html",
controller: 'bandedNavControl',
json: 'json/globalNav.json'
}).
otherwise({redirectTo: '/homePage'})
}]);
})();
package.json:
{
"name": "C4P",
"private": true,
"version": "0.0.0",
"description": "C4P ",
"repository": "https://github.com/angular/angular-seed",
"license": "MIT",
"devDependencies": {
"bower": "^1.3.1",
"gulp": "^3.9.0",
"gulp-concat-css": "^2.2.0",
"gulp-sass": "^2.1.0",
"http-server": "^0.6.1",
"jasmine-core": "^2.3.4",
"karma": "~0.12",
"karma-chrome-launcher": "^0.1.12",
"karma-firefox-launcher": "^0.1.6",
"karma-jasmine": "^0.3.5",
"karma-junit-reporter": "^0.2.2",
"protractor": "^2.1.0",
"shelljs": "^0.2.6"
},
"scripts": {
"postinstall": "bower install",
"prestart": "npm install",
"start": "http-server -a localhost -p 8000 -c-1",
"pretest": "npm install",
"test": "karma start karma.conf.js",
"test-single-run": "karma start karma.conf.js --single-run",
"preupdate-webdriver": "npm install",
"update-webdriver": "webdriver-manager update",
"preprotractor": "npm run update-webdriver",
"protractor": "protractor e2e-tests/protractor.conf.js",
"update-index-async": "node -e \"require('shelljs/global'); sed('-i', /\\/\\/@@NG_LOADER_START@@[\\s\\S]*\\/\\/@@NG_LOADER_END@@/, '//@@NG_LOADER_START@@\\n' + sed(/sourceMappingURL=angular-loader.min.js.map/,'sourceMappingURL=bower_components/angular-loader/angular-loader.min.js.map','app/bower_components/angular-loader/angular-loader.min.js') + '\\n//@@NG_LOADER_END@@', 'app/index-async.html');\""
},
"dependencies": {
"nodemailer": "^2.3.0"
}
}
如果我尝试将以下内容添加到 app.js 中,则会收到错误:
'use strict'
var nodemailer = require("nodemailer");
var smtpTransport = nodemailer.createTransport("SMTP",{
service: "Gmail", // sets automatically host, port and connection security settings
auth: {
user: "user@gmail.com",
pass: "12346Guuhf."
}
});
smtpTransport.sendMail({ //email options
from: "Sender P <email@gmail.com>", // sender address. Must be the same as authenticated user if using Gmail.
to: "Receiver Name <receiver@email.com>", // receiver
subject: "Emailing with nodemailer", // subject
text: "Email Example with nodemailer" // body
}, function(error, response){ //callback
if(error){
console.log(error);
}else{
console.log("Message sent: " + response.message);
}
smtpTransport.close(); // shut down the connection pool, no more messages. Comment this line out to continue sending emails.
});
我是否将此代码添加到了错误的区域?
预先感谢您的任何意见。
最佳答案
首先,您应该区分客户端(您的 Angular 代码)和服务器端(您的 Node.js)代码。在您的示例中,您似乎在 Angular 应用程序中使用了 NodeJS 代码,这将不起作用。
一旦您的服务器端被托管(请参阅 here 中的说明),您就可以使用 $http
(以 Angular 形式)从客户端调用它。
在服务器端,我建议您使用 Express 进行设置,以便可以处理路由(从而接受诸如 senderEmail
、senderName
、html
等。您可以在 Angular 中找到 full example(使用 $http),以及使用 NodeJS 和 Nodemailer 作为依赖项的 Express 设置。
关于javascript - 使用 Angular-Seed 实现 nodemailer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36395308/
我已经使用 sendInBlue 创建了一个帐户,并将 nodemailer 和 nodemailer-sendinblue-transport 导入到我的项目中,我正在尝试发送一封简单的确认电子邮件
我想使用客户端路由渲染我的 React 应用程序,并且我想使用 Nodemailer 发送邮件。由于 Nodemailer 不能在客户端使用,我必须在 Express 服务器上实现它。这是服务器的样子
我在让 nodemailer 与 AuthSMTP ( https://www.authsmtp.com/ ) 一起工作时遇到问题。 var nodemailer = require('nodemai
我是 nodejs 的新手,尝试从 nodemailer 模块发送邮件,但它有错误,即“不支持的配置,将 Nodemailer 降级到 v0.7.1 以使用它”。 这是我的代码:- var nodem
我正在使用 feathersjs 构建一个 API,我需要发送一封带有附件的电子邮件。 电子邮件似乎已发送,但我什么也没收到。 在我的 mail.service.js const nodemailer
我正在使用带有 mailgun 的 Nodemailer 向一组用户发送电子邮件。我正在生成 HTML 以使用 React 发送电子邮件。我想将电子邮件数组中的当前“收件人”传递给 React 组件,
我正在使用NodeMailer 。它运行良好,但我想发送一封匿名电子邮件(带有假姓名和电子邮件地址),但它不应该是这样。这是我的代码: let transporter = nodemailer.cre
我在 NodeMailer 中有这个代码用于发送电子邮件: var mailOptions = { from: 'test@test.com', to: 'send@send.com',
我正在将 nodemailer 与 npm 包电子邮件模板一起使用。我没有收到电子邮件。当我设置预览时模板正在工作:true。控制台出现错误错误:未定义收件人。为什么会出现此错误?尝试了很多方法,但
我遇到一个问题,如果我从定义了 Express 服务器的 app.js 调用我的订阅表单,它就可以完美工作,但如果我将 subscribe.js 移动到路由文件夹,我就无法发送邮件。我连接了两个文件,
我正在尝试使用nodemailer发送带有HTML表格的电子邮件。该表需要遍历数组。目前它的工作方式是为每次迭代发送一封单独的电子邮件,而不是发送带有表格的单个电子邮件。我尝试将 for 循环移至
我正在尝试使用 nodemailer 从我的 gmail 发送日历事件。 我使用 npm 包 ics 生成 ics 字符串。 const message = { from: '...',
我不太明白这一点...我有一个 SMTP 服务器与我托管在同一网络上,我可以 ping 它并尝试发送电子邮件,但实际的电子邮件从未通过。我正在使用 node_mailer ...在回调期间没有返回错误
我正在使用 nodemailer 发送邮件和附件。但是在发送附件之前我需要验证它是否存在,因此我将它分配给一个变量。但是当我使用变量时它不发送附件 working smtpTransport.send
{ [Error: Invalid login: 535 5.0.0 Authentication Failed] code: 'EAUTH', response: '535 5.0.0 Authen
我尝试使用nodemailer使用我的本地系统以及heroku应用程序发送邮件,但在这两种情况下我都超时,这是我的代码,现在我尝试使用gmail和smtp电子邮件,但仍然没有任何效果 exports.
我正在使用 Nodemailer 通过 Gmail 服务发送忘记密码的邮件。我尝试在 StackOverflow 中早期找到相同的错误,但找不到解决方案。请帮助我,我不知道为什么会出现这样的错误, "
发送电子邮件后尝试让我的页面从node.js 和express.js 页面重定向。消息已发送,我在终端中收到 console.log() (使用 morgan 进行日志记录),但它没有将我重定向到成功
我正在使用 nodemailer 从注册表单发送电子邮件。 这是我的表格 Registration
我使用 NodeMailer 和 Gmail API 从我的服务器发送电子邮件。当我在本地主机上测试它时,一切都很好。但是当我在我的服务器上运行它时,Nodemailer 没有任何响应,也没有发送任何
我是一名优秀的程序员,十分优秀!