Обновление: То, что я пробовал до сих пор
app.post('/jobs/join-us', upload.array(), function (req, res, next) {
console.log(req.body);
res.json(req.body);
var form = new formidable.IncomingForm();
form.parse(req, function(err, fields, files) {
// `file` is the name of the <input> field of type `file`
var old_path = files.file.path,
file_size = files.file.size,
file_ext = files.file.name.split('.').pop(),
index = old_path.lastIndexOf('/') + 1,
file_name = old_path.substr(index),
new_path = path.join(process.env.PWD, '/uploads/', file_name + '.' + file_ext);
fs.readFile(old_path, function(err, data) {
fs.writeFile(new_path, data, function(err) {
fs.unlink(old_path, function(err) {
if (err) {
res.status(500);
res.json({'success': false});
} else {
res.status(200);
res.json({'success': true});
}
});
});
});
});
У меня есть контактная форма, где люди могут подать заявку на работу, для этого необходимо загрузить резюме на мой сайт.Как я могу отправлять вложения с помощью nodemailer и multer?Мой app.js для отправки электронных писем:
app.post('/jobs/join-us', upload.array(), function (req, res, next) {
console.log(req.body);
res.json(req.body);
const output = `
<p>You have a new message from contact form.</p>
<h3>Contact Details</h3>
<ul>
<li>Role: ${req.body.role}</li>
<li>First name: ${req.body.first_name}</li>
<li>Last name: ${req.body.last_name}</li>
<li>Email: ${req.body.email}</li>
<li>Phone: ${req.body.phone}</li>
<li>Agreement: ${req.body.agreement}</li>
<li>Referer: ${req.body.referer}</li>
<li>CV: ${req.files}</li>
</ul>
<h3>Message</h3>
<p>${req.body.description}</p>
`;
// create reusable transporter object using the default SMTP transport
let transporter = nodemailer.createTransport({
host: 'smtp.gmail.com',
port: 587,
secure: false, // true for 465, false for other ports
auth: {
user: 'xx', // generated ethereal user
pass: 'xx',
},
tls: {
rejectUnauthorized: false
}
});
Я также пытался добавить console.log (req.files) в app.post, но, похоже, он ничего не возвращает, может кто-нибудь предложить мне руководство?