Hỏi về Nodemailer trên VPS



  • Mình dùng nodemailer để gửi mail, test local env ok rồi nhưng khi up lên VPS thì bị timeout không gửi được.
    Bạn nào đã gặp hoặc có kinh nghiệm về vấn đề này, mong các bạn chỉ giáo.



  • Anh thử vào mail mà anh đăng kí xong thử xác minh lại tài khoản đi ạ.



  • Mình dùng email domain của hostinger, trỏ về VPS của Google.
    Dưới môi trường dev mình gửi không vấn đề gì, nhưng khi đưa lên web thì không gửi được. Setting của mình:

      options: {
        host: 'mx1.hostinger.vn',
        port: '587',
        secure: true,
        auth: {
          user: '[email protected]',
          pass: 'password'
        }
      }
    

    Không có lỗi gì xảy ra những server báo 504 gateway timeout.
    Có bạn nào đã gặp lỗi này chưa, mong được giúp đỡ.



  • Bạn tiến hành các bước sau:

    1. Kiểm tra lại VPS, có kết nối được internet không.
    2. vps của bạn kết nối được đến server mx1.hostinger.vn, port 587 không.
    3. hostinger.vn có thiết lập whitelist ip không? Nếu có kiểm tra xem ip của VPS có được thêm vào whitelist chưa?

    tuanquynet

    0


  • @tuanquynet Cảm ơn bạn đã giúp đỡ.
    Mình đã check 3 step trên vẫn không được bạn ạ. Ping từ host đến hosting vẫn chạy bt.
    Lỗi của Nodemailer như sau:

    { Error: Connection timeout
    at SMTPConnection._formatError (/usr/local/first/node_modules/nodemailer-smtp-transport/node_modules/smtp-connection/lib/smtp-connection.js:528:15)
    at SMTPConnection._onError (/usr/local/first/node_modules/nodemailer-smtp-transport/node_modules/smtp-connection/lib/smtp-connection.js:514:16)
    at SMTPConnection.<anonymous> (/usr/local/first/node_modules/nodemailer-smtp-transport/node_modules/smtp-connection/lib/smtp-connection.js:236:14)
    at ontimeout (timers.js:386:14)
    at tryOnTimeout (timers.js:250:5)
    at Timer.listOnTimeout (timers.js:214:5) code: 'ETIMEDOUT', command: 'CONN' }

    Mình đã thử tạo 1 account google, gửi thì lại được, tuy nhiên mail vào folder Spam.

    Liệu còn khả năng nào nữa không bạn?



  • Bạn thử dùng lệnh netcat -zv mx1.hostinger.vn 587. Nếu kết quả trả về giống như kết quả dưới đây thì vps của bạn kết nối ok.
    mx1.hostinger.vn [31.220.106.27] 587 (submission) open

    Nếu trả về "Connection refused" thì vps của bạn đã block port 587.

    tuanquynet

    0


  • @tuanquynet Kết quả là timeout bạn ạ.
    netcat: connect to mx1.hostinger.vn port 587 (tcp) failed: Connection timed out

    Mình đã add vps ip vào whitelist trên hostinger rồi, bị cái gì block nhỉ.
    Mình cũng allow Firewall cho port 587 rồi.



  • @Acenter-Ha
    Bạn thử check bằng thằng này rồi fix tiếp
    https://mxtoolbox.com/SuperTool.aspx
    Nếu là Firewall thì check cả trên hệ điều hành và cả bên cpanel(hostinger) xem


Log in to reply