通过代理的 Nodemailer
Nodemailer through a proxy
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' }
我找到了解决方案,我使用 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 <me@samples.mailgun.org>',
to: 'xxxx@xxxxx.com',
subject: 'Hello',
text: 'Testing some Mailgun awesomness!'
};
...
router.get('/api/postEmail', function (req, res) {
mailgun.messages().send(data, function (error, body) {
console.log(body);
});
...
是的,Nodemailer可以在没有第三方的情况下使用代理。
在transporter方法中,需要添加'proxy' 属性.
let transporter = nodemailer.createTransport({
host: 'smtp.example.com',
port: 465,
secure: true,
proxy: 'http://proxy-host:1234'
});
这应该可以。您可以在以下位置阅读更多相关信息:Nodemailer Proxy Support
如果需要,您可以通过为浏览器设置代理来绕过代理。
例如:如果 Google Chrome,
- 转到设置
- 点击"Open proxy settings"
- 一个对话框打开,点击局域网设置按钮。
- 给出你的代理值
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' }
我找到了解决方案,我使用 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 <me@samples.mailgun.org>',
to: 'xxxx@xxxxx.com',
subject: 'Hello',
text: 'Testing some Mailgun awesomness!'
};
...
router.get('/api/postEmail', function (req, res) {
mailgun.messages().send(data, function (error, body) {
console.log(body);
});
...
是的,Nodemailer可以在没有第三方的情况下使用代理。 在transporter方法中,需要添加'proxy' 属性.
let transporter = nodemailer.createTransport({
host: 'smtp.example.com',
port: 465,
secure: true,
proxy: 'http://proxy-host:1234'
});
这应该可以。您可以在以下位置阅读更多相关信息:Nodemailer Proxy Support
如果需要,您可以通过为浏览器设置代理来绕过代理。 例如:如果 Google Chrome,
- 转到设置
- 点击"Open proxy settings"
- 一个对话框打开,点击局域网设置按钮。
- 给出你的代理值