亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Javascript fetch API 和 PHPMailer 響應緩慢

Javascript fetch API 和 PHPMailer 響應緩慢

PHP
ibeautiful 2023-09-22 16:08:03
當客戶訂購產品時,他們會向服務器端發送一個表單。我在 php 中驗證表單,如果沒有錯誤,我會向客戶發送電子郵件,并向自己發送一封電子郵件,其中包含從表單收到的產品信息。我使用 PHPMailer 發送電子郵件,但它相當慢,發送郵件并從服務器返回 javascript 的響應需要大約 5 秒。當我取出發送電子郵件的代碼時,回復立即到達。PHPMailer 的響應速度變慢,但我不知道為什么。JavaScript: const form = document.querySelector("#form");      form.addEventListener("submit", (e) => {        e.preventDefault();        const formData = new FormData(form);        fetch("index.php", {          method: 'post',          body: formData        }).then((resp) => resp.json())        .then(function (text) {          console.log(text); //Do something with the response, which is an array          if(text !== undefined && text.length > 0) { //The array isn't empty            //Show errors            const formdiverror = document.querySelector(".col-100-form-error");            const colform = document.querySelector(".col-100-form");            colform.style.display = "block";            formdiverror.innerHTML = "";            text.forEach(t => formdiverror.innerHTML += t + "</br>");          } else {            //array is empty, no errors             const colform = document.querySelector(".col-100-form");             if(colform !== null || colform !== undefined) colform.style.display = "none";             alert("Success!");             window.location.replace("index.html"); //if there was no error redirect to index.html          }        });      })如果驗證中出現錯誤,我會echo json_encode($errors);發送回錯誤并在客戶端顯示它們。如果沒有錯誤我使用echo json_encode([]);. 在 javascript 中,我檢查獲取響應。如果它是一個空數組,則沒有錯誤,我可以重定向到index.html。
查看完整描述

1 回答

?
函數式編程

TA貢獻1807條經驗 獲得超9個贊

這很可能是因為 SMTP 通常很慢(有時是故意的),尤其是在與遠程服務器通信時。在頁面/請求處理期間發送根本不適合 SMTP,但這并不能阻止很多人這樣做。

使其更快的最佳方法通過本地郵件服務器進行中繼。這樣就沒有網絡開銷,并且響應時間會非??臁棵?/em>發送數百條消息應該沒有問題。它還將為您處理排隊、限制、重試等問題。


查看完整回答
反對 回復 2023-09-22
  • 1 回答
  • 0 關注
  • 148 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號