【问题标题】:Loopback email connector connect ETIMEDOUT error环回电子邮件连接器连接 ETIMEDOUT 错误
【发布时间】:2018-05-01 20:34:54
【问题描述】:

我在email connector 看到了使用电子邮件连接器的环回文档 我在 datasources.js 中的电子邮件数据源如下:

"emailDataSource": {
"name": "emailDataSource",
"connector": "mail",
"transports":[{
  "type":"SMTP",
  "host": "stmp.gmail.com",
  "secure":true,
  "port":50,
  "auth":{
    "user":"test@gmail.com",
    "pass":"pass"
  }
}]}

还有我在 model-config.json 中的配置

"Email":{
"dataSource":"emailDataSource"}

这是我使用远程方法对模型 js 文件的测试:

MyModel.orderproduct = function(id, email, cb){
    MyModel.app.models.Email.send({
        to: email,
        from: 'test@gmail.com',
        subject: 'test subject',
        text : 'my text',
        html : 'my <em> html </em>'
    }, function(err, mail){
        console.log('email sent!' + mail);
        cb(err);
    });

}

MyModel.remoteMethod('orderproduct',{
    accepts:[{arg:'id',type : 'string', required: true},
            {arg: 'email', type : 'string', required : true}],
    http: {path : '/product/:id', verb : 'get',source: 'query'},
    return:{arg : 'res', type : 'Object'}
});

我的远程方法获得了请求成功的状态。但我从邮件连接器组件收到错误:

{"error": {
"statusCode": 500,
"name": "Error",
"message": "connect ETIMEDOUT 125.235.4.59:50",
"errno": "ETIMEDOUT",
"code": "ECONNECTION",
"syscall": "connect",
"address": "125.235.4.59",
"port": 50,
"command": "CONN",
"stack": "Error: connect ETIMEDOUT 125.235.4.59:50\n    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1189:14)"

} }

有人请提供一些使用 Loopback 框架的邮件连接器的高级或教程。 谢谢~

【问题讨论】:

    标签: javascript email loopback


    【解决方案1】:

    问题在于SMTP 服务器的配置。端口号应为465 而不是50。使用以下配置

    "transports": [{
        "type": "SMTP",
        "host": "smtp.gmail.com",
        "secure": true,
        "port": 465,
        "auth": {
          "user": "name@gmail.com",
          "pass": "pass"
        }
      }]
    

    参考:https://loopback.io/doc/en/lb3/Email-connector.html#using-gmail

    【讨论】:

    • 感谢您的快速回复。但我已经使用 465 端口进行配置。但我得到了同样的错误:{“error”:{“statusCode”:500,“name”:“Error”,“message”:“connect ETIMEDOUT 125.235.4.59:465”,“errno”:“ETIMEDOUT”,“code “:“ECONNECTION”,“系统调用”:“连接”,“地址”:“125.235.4.59”,“端口”:465,“命令”:“CONN”,“堆栈”:“错误:连接 ETIMEDOUT 125.235.4.59 :465\n 在 TCPConnectWrap.afterConnect [as oncomplete] (net.js:1189:14)" } }
    • 检查服务器名称。 stmp.gmail.com 有错字。应该是smtp.gmail.comstmp -> smtp
    • @Kumar :非常感谢,这是我的错误。你拯救了我的一天。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-13
    • 1970-01-01
    • 2021-10-20
    • 2016-08-31
    • 2019-12-24
    • 1970-01-01
    相关资源
    最近更新 更多