繁体   English   中英

nodemailer node.js缺少附件或无法打开

[英]nodemailer node.js missing attachment or can't open

我已经开始用node.js和nodemailer模块组合一个简单的邮件程序。 邮件正在工作,我可以通过我的服务器上的SMTP传输进行连接,但是我无法将附件推送到邮件中。

我最初使用iCloud设置了众所周知的服务模块,文件正在解析文件,但是当我切换到SMTP时,我似乎无法绕过它,这很奇怪。

// Create a SMTP transport object
var transport = nodemailer.createTransport("SMTP",{
    host: 'mail.server.com',
    port: 25,
    secureConnection: false,
    auth: {
        user: 'user@server.com',
        pass: 'pass'
    },
    tls:{
        ciphers:'SSLv3'
    }
});

console.log('SMTP Configured');

var mailOptions;
// Message object
app.get('/send', function (req, res) {
    mailOptions = {
        from: 'user@server.com',
        to: req.query.toAddress,
        subject: req.query.messageSub,
        html: '<img src="cid:img@server" alt="" />,
        attachments: [
            {
                fileName: 'gif.gif',
                path: req.query.imageURL,
                cid: 'img@server'
            }
        ]
    };
    console.log('Sending Mail..');
    transport.sendMail(mailOptions, function (error) {
        if (error) {
            console.log('Error occured');
            console.log(error.message);
            return;
        }
        console.log('Message sent successfully!');
        transport.close(); // close the connection pool
        res.redirect('/');
        return;
    });
});

我正在使用get方法从表单中获取字段,记录它的控制台,我看到所有内容都被解析为app.js文件,但是附件要么丢失要么包含错误,这让我觉得有些问题路径,其他一切都发送好了。

我正在解析的路径(我尝试手动放置它而不是req.query.imageURL)看起来像这样,但我尝试了其他组合:

'./public/including/christmas-gif.gif'

如果我使用带有http:// ...的URL,我也可以解析该文件。 我会很高兴任何提示。

我已经解决了这个问题,为传输设置了一些额外的选项,并使用smtp-transport模块将nodemailer从0.7更新为1.0 ...

// Create a SMTP transport object
var transport = nodemailer.createTransport(smtpTransport({
    host: 'mail.server.com',
    port: '25',
    secure: false,
    ignoreTLS: true,
    auth: {
        user: 'user@server.com',
        pass: 'pass'
    },
    tls:{
        ciphers:'SSLv3',
        rejectUnauthorized: true
    },
    authMethod: 'PLAIN',
    debug: true
}));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM