簡體   English   中英

Nodemailer:我的前端網站無法通過來自不同 IP 地址的節點郵件發送電子郵件

[英]Nodemailer: My frontend website can't send emails through node mailer from a different IP address

我的前端投資組合有一個電子郵件選項,可以將帖子請求發送到后端的 nodemailer。 我的投資組合已經部署在 firebase 中,我目前正在本地主機服務器上運行后端。

我在筆記本電腦上發送電子郵件時沒有遇到任何問題,相同的 IP 地址,而每當我嘗試在不同的設備上發送電子郵件時,我都會收到錯誤消息。

我已經搜索了一天,但找不到可用的解決方案。 關於如何解決這個問題的任何想法?

我的節點郵件配置:


const transporter = nodemailer.createTransport(smtpTransport({
    name: 'domainname',
    host: 'domainname.com',
    port: 443,
    secure: true,
    service: 'gmail',
    auth: {
        user: '*****@gmail.com',
        pass: '******' //Google's less secure apps option enabled.
    },
    tls: {
        // do not fail on invalid certs
        rejectUnauthorized: false,
    }
}))  

發送email失敗時,控制台會記錄如下錯誤:

POST http://localhost:4000/api/email/ net::ERR_CONNECTION_REFUSED

TypeError: Failed to fetch
    at main.1ec56b92.js:2:347746
    at c (main.1ec56b92.js:2:168378)
    at Generator._invoke (main.1ec56b92.js:2:168166)
    at Generator.next (main.1ec56b92.js:2:168807)
    at Ft (main.1ec56b92.js:2:332714)
    at i (main.1ec56b92.js:2:347506)
    at main.1ec56b92.js:2:347567
    at new Promise (<anonymous>)
    at main.1ec56b92.js:2:347446
    at main.1ec56b92.js:2:348157

謝謝

正如 Derpirscher 指出的那樣,后端的主機被硬編碼為 localhost:4000,因此它在我的筆記本電腦上運行但在我的手機上失敗了。 我的解決方案是將代碼部署到服務器 - 如 Heroku - 並使用其地址連接到 nodemailer API,例如: https://project.herokuapp.com/api/email而不是 https://localhost: 4000/API/電子郵件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM