Я использую модуль nodemailer здесь: https://github.com/andris9/Nodemailer для отправки электронная почта автоматически из веб-приложения. Проверив его с помощью браузера ПК с помощью Firefox, все работает нормально. Однако, когда я использую сафари для iphone, чтобы использовать приложение, оно, похоже, не отправляет электронное письмо. Я постоянно ломал голову над этим, и я был бы очень благодарен, если бы кто-нибудь знал, в чем причина этого!! Примечание. Я использую службу gmail, но я настроил свою почту gmail так, чтобы она отправляла сообщение как другой адрес (в данном случае [email protected]). Мой код выглядит следующим образом:
модуль электронной почты:
var nodemailer = require("nodemailer");
function sendEmail(firstname, email){
var smtpTransport = nodemailer.createTransport("SMTP",{
service: "Gmail",
auth: {
user: "[email protected]",
pass: "mypassword"
}
});
smtpTransport.sendMail({
from: "Sender <[email protected]>",
to: email,
subject: "blahblah",
text: "blah blah blah",
}, function(error, response){
if(error){
console.log(error);
} else{
console.log("Success!");
}
});
}
exports.sendEmail = sendEmail;
модуль приложения:
var express = require("express");
var fs = require("fs");
var clientEmail = require("./clientEmail.js");
var profileEmail = require("./profileEmail.js");
var app = express();
app.use('/css', express.static(__dirname + '/css'));
app.use('/img', express.static(__dirname + '/img'));
app.use('/javascript', express.static(__dirname + '/javascript'));
app.use(express.bodyParser());
var buf = fs.readFileSync("html/index.html");
var index = buf.toString();
app.get('/', function(request, response) {
response.send(index);
});
app.post('/', function(request, response){
var email = request.body.email;
var name = request.body.name;
var firstname = request.body.firstname;
clientEmail.sendEmail(firstname,email);
response.redirect('/');
});
var port = process.env.PORT || 5000;
app.listen(port, function() {
console.log("Listening on " + port);
});