Nodemailer не отправляет электронные письма - PullRequest
0 голосов
/ 27 февраля 2020

Добрый день всем, у меня есть этот код

// Bol Upload Page
router.post('/bolUpload', ensureAuthenticated, async (req, res) => {
    try {
        var form = new formidable.IncomingForm();
        form.parse(req);
        form.on('fileBegin', async (name, file) => {
            file.path = __dirname + '/../public/bol/' + file.name;
            //Pulls previous expense data
            await CheckCall.find({truckNumber: req.user.truckNumber, type: 'Depart from Consignee'}).sort({date: -1}).limit(1).exec(async (err,docs) => {
                checkCallArray = docs;

                await CheckCall.find({truckNumber: req.user.truckNumber, type: 'Arrive at Consignee'}).sort({date: -1}).limit(1).exec(async (err, docs2) =>{
                    checkCallArray2 = docs2;

                    checkCallArray.forEach(function(docs){
                        checkCallArray2.forEach(function(docs2){

                            form.on('file', function (name, file){
                                console.log('Uploaded ' + file.name);
                                transporter.sendMail({
                                    to: 'test@gmail.com',
                                    subject: docs.loadNumber + ' has departed From Consignee on truck #' + req.user.truckNumber,
                                    html: `<title>Depart from Consignee Check Call for ${req.user.truckNumber}</title>
                                    <h4> Submitting user is ${req.user.email}</h4>
                                    <table>
                                    <tr>
                                    <th>Load Number:</th>
                                    <th>Truck Number:</th>
                                    <th>Arrival Date:</th>
                                    <th>Arrival Trailer:</th>
                                    <th>Departure Trailer:</th>
                                    <th>Departure Date:</th>
                                    <th>Seal Number:</th>
                                    <th>Last Trailer Inspection Date:</th>
                                    <th>Tractor Mileage:</th>
                                    </tr>
                                    <tr>
                                    <td>${docs.loadNumber}</td>
                                    <td>${docs.truckNumber}</td>
                                    <td>${docs2.date}</td>
                                    <td>${docs.arrivalTrailer}</td>
                                    <td>${docs.departureTrailer}</td>
                                    <td>${docs.date}</td>
                                    <td>${docs.seal}</td>
                                    <td>${docs.lastInspection}</td>
                                    <td>${docs.tractorMileage}</td>
                                    </tr>
                                    </table>`,
                                    attachments: [{
                                        path: __dirname + '/../public/bol/' + file.name
                                    }]
                                });
                            });
                        });
                    });
                });
            });
        });
        req.flash('success_msg', 'Your BOL has been submitted. Thank you :D');
        res.redirect('/dfConsignee');
    }   
    catch (e){
        res.send('error_msg');
        console.log(e);
}});

Когда я запускаю этот код в моей локальной среде, он отправляет письмо с вложением без проблем. Но как только я загружаю этот файл на свой сервер, он не отправляет письмо. Я проверил местоположение файла, и файл загружен.

Что может помешать отправке электронного письма? Почему это работает на местном, а не на производстве?

Спасибо всем заранее: D

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...