小編提醒你們,必定要看到文章最後歐,有驚喜哦javascript
你爲何不經過發送電子郵件傳輸信息?php
不使用數據庫就能接收到傳入的消息,絕對是最佳選擇,也是最方便用戶的選擇。但問題來了—如何實現呢?你可能認爲須要使用某種後端語言。 html
實際上,你沒必要使用任何如 php 或 python 這種後端語言,你甚至不須要用到 node.js!前端
你須要的就是一個簡單的 EmailJS 庫。java
本文將介紹下面兩個重要功能:node
請注意,在個人項目中,我使用了 gulp 和 webpack,我在 src 文件夾存放源碼,dist 存放最終發佈版本的代碼。python
我將分 5 個步驟向你展現如何從頭開始構建電子郵件發送器。webpack
首先須要建立一個 HTML 表單。你沒必要放置像 required 或 max 這種驗證屬性,由於稍後,preventDefault() 函數將在你的提交事件上運行,它會讓這些屬性的處理失效。程序員
表單中最重要的是爲每一個輸入放置 name 屬性,後面會用到。web
個人很是簡單的表單是這樣的:
src/html/index.html
<form class="form"> <input name='name' type="text" placeholder="Your name..." class="form__input" /> <input name='topic' type="text" placeholder="Topic..." class="form__input" /> <textarea name='message' type="text" placeholder="Your Message..." class="form__input" ></textarea> <input type="submit" value="send" class="form__input form__input--button"> </form>步驟2-註冊成爲 email 用戶
要配置你的電子郵件,你必須註冊電子郵件服務。別擔憂—使用這個網站很是方便和省時。
登入後,系統會詢問你的電子郵件服務,它位於我的電子郵件服務區(personal email service)。在個人例子中,我選擇了 gmail。
而後,你須要鏈接你的 gmail 賬戶。這將用來發送電子郵件給你客戶。例如,若是你關聯了 xyz@gmail.com 帳戶,你後續發送的郵件都將從這個郵箱發出。因此不要擔憂「 Send email on your behalf」 這個受權信息—這正是你須要的!
鏈接完 gmail 帳戶後,點擊添加服務(add service)按鈕。
若是你已經成功鏈接了你的 gmail 帳戶,你如今應該在信息中心中。如今須要建立電子郵件模板了。
切換到電子郵件模板卡,並單擊建立一個新的模板(create a new template)。界面很是友好,因此建立模板不會有任何問題。
你能夠選擇模板的名稱和 ID。我稱之爲「個人神奇模板(my_amazing_template)」。
接下來,你必須指定郵件的內容。
模板的變量值來自 input 中的 `name` 屬性。你已將變量插入`{{{}}}`符號中。
不要忘記在「收件人」部分 (右側) 添加電子郵件地址。你的電子郵件將被髮送到該電子郵件地址上。截圖中的收件人郵箱是我本身的公司郵箱。
這是個人簡單模板,它使用來自 HTML 表單裏的 3 個變量。我還指定了接收電子郵件的主題。
這部分沒什麼特別的。Emailjs 共享受權 API 密鑰,將在發送電子郵件時使用。固然,放這些鑰匙最好的地方是`.env` 配置。可是由於我使用的是簡單的靜態文件,我不想使用服務器配置,因此我將它們保存在 apikeys 文件中,而後再將它們導入。
這是我基於不存在的 keyssrc / js / apikeys. js 的示例配置.
src/js/apikeys.js
export default { USER_ID :'user_DPUd-rest-of-my-id', TEMPLATE_ID:'my_amazing_template'}
若是須要將源碼發佈到 GITHUB,不要忘記將 APIKEYS 文件添加到 .GITIGNORE文件中
如今是該項目最後也是最重要的部分的了。如今咱們必須使用 javascript 發送電子郵件。
首先,你必須下載 emailjs 包。
npm i emails-com
而後,轉到 js 文件,導入庫和 apikeys。
src/js/main.js
import emailjs from 'emailjs-com'import apiKeys from './apikeys'
如今是編寫發送電子郵件功能的時候了
src/js/main.js
const sendEmail = e => { e.preventDefault() emailjs .sendForm('gmail', apiKeys.TEMPLATE_ID, e.target, apiKeys.USER_ID) .then( result => { console.log(result.text) }, error => { console.log(error.text) } )}
sendForm 函數有4個參數:
最後,查找表單並添加提交事件監聽器:
src/js/main.js
const form = document.querySelector('.form')form.addEventListener('submit',sendEmail)
正如我前面提到的,因爲 `preventDefault()` 函數,屬性驗證將沒法工做。你必須使用 JS 本身進行驗證和清除輸入。
以上就是所有內容,接下來讓咱們測試一下。
填寫頁面上的表單併發送。
我收到電子郵件,內容正是根據咱們的模板和表單數據渲染出來的。
經過上圖能夠看出,全部的變量的值都填充到了正確的位置上。
經過本文的介紹你會發現用 JS 發送郵件並不是難事。
使用 emailjs,你能夠簡單的方式發送電子郵件。
最後附上一些學習資料圖哦,無論你學習什麼,都離不開高質量的學習路線和學習資料
「大清亡於閉關鎖國,學習技術須要交流和資料」 。關於web前端有許多的技術乾貨,包括但不限於各大廠的最新面試題系列、遊戲項目源碼、最新前端路線等。須要的夥伴能夠私信我,
發送【前端資料】
就能夠獲取領取地址,免費送給你們。對於學習web前端有任何問題(學習方法,學習效率,如何就業)均可以問我。但願你也能憑本身的努力,成爲下一個優秀的程序員!