2015-04-03 63 views
2

Nodemailer可以通过代理发送邮件吗?Nodemailer通过代理

当我不用代理发送邮件,它完美的作品,但是当我通过代理发送邮件我有这样的错误:

{ [Error: connect ETIMEDOUT] code: 'ETIMEDOUT', errno: 'ETIMEDOUT', syscall: 'connect' } 
{ [Error: socket hang up] code: 'ECONNRESET', sslError: undefined } 
{ [Error: connect ETIMEDOUT] code: 'ETIMEDOUT', errno: 'ETIMEDOUT', syscall: 'connect' } 
+0

https://github.com/andris9/Nodemailer/issues/125 – 2015-04-03 09:37:07

回答

0

我发现了一个解决方案,我用mailgun通过代理

发送邮件
'use strict'; 
var express = require('express'); 
var router = express.Router(); 
var mongojs = require('mongojs'); 
var api_key = 'key-xxxxxxxxxxxxxxxxxxxxxxxxxxx'; 
var domain = 'xxxxxxxxxxxxxxxxxx.mailgun.org'; 
var mailgun = require('mailgun-js')({apiKey: api_key, domain: domain}); 

var nodemailer = require('nodemailer'); 
var data = { 
    from: 'Excited User <[email protected]>', 
    to: '[email protected]', 
    subject: 'Hello', 
    text: 'Testing some Mailgun awesomness!' 
}; 
... 
router.get('/api/postEmail', function (req, res) { 
    mailgun.messages().send(data, function (error, body) { 
     console.log(body); 
    }); 
... 
+0

Nodemailer应该能够通过代理发送。您将需要在NPM中设置代理设置。例如:'npm config set https-proxy http://proxy.company.com:8080'另外请确保您的计算机上的代理设置是正确的。这是一个关于Nodemailer实用教程的链接 - https://kounsel.me/category/coding-for-mbas/8tWJ4/coding-for-mbas-create-a-quick-dirty-mail-merge-utility-10-分钟 – bitanath 2017-05-16 07:05:50