仅需 5 步,用 JavaScript 直接通过前端发送电子邮件

Posted coderhf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了仅需 5 步,用 JavaScript 直接通过前端发送电子邮件相关的知识,希望对你有一定的参考价值。

小编提醒大家,一定要看到文章最后欧,有惊喜哦

你为什么不通过发送电子邮件传输信息?

不使用数据库就能接收到传入的消息,绝对是最佳选择,也是最方便用户的选择。但问题来了—如何实现呢?你可能认为需要使用某种后端语言。 

技术图片

实际上,你不必使用任何如 php 或 python 这种后端语言,你甚至不需要用到 node.js!

你需要的就是一个简单的 EmailJS 库。

本文将介绍下面两个重要功能:

  • 配置 emailjs 帐户
  • 使用 JS 发送电子邮件

请注意,在我的项目中,我使用了 gulp 和 webpack,我在 src 文件夹存放源码,dist 存放最终发布版本的代码。

我将分 5 个步骤向你展示如何从头开始构建电子邮件发送器。

步骤1-用 HTML 创建表单

首先需要创建一个 html 表单。你不必放置像 required 或 max 这种验证属性,因为稍后,preventDefault() 函数将在你的提交事件上运行,它会让这些属性的处理失效。

表单中最重要的是为每个输入放置 name 属性,后面会用到。

我的非常简单的表单是这样的:

 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)按钮。

 

步骤3-创建邮件模板

 

如果你已经成功连接了你的 gmail 账户,你现在应该在信息中心中。现在需要创建电子邮件模板了。

 

切换到电子邮件模板卡,并单击创建一个新的模板(create a new template)。界面非常友好,所以创建模板不会有任何问题。

 

你可以选择模板的名称和 ID。我称之为“我的神奇模板(my_amazing_template)”。

技术图片

 

接下来,你必须指定邮件的内容。

模板的变量值来自 input 中的 `name` 属性。你已将变量插入`{{{}}}`符号中。

不要忘记在“收件人”部分 (右侧) 添加电子邮件地址。你的电子邮件将被发送到该电子邮件地址上。截图中的收件人邮箱是我自己的公司邮箱。

这是我的简单模板,它使用来自 HTML 表单里的 3 个变量。我还指定了接收电子邮件的主题。

技术图片

 

步骤4-保存 API 密钥

这部分没什么特别的。Emailjs 共享授权 API 密钥,将在发送电子邮件时使用。当然,放这些钥匙最好的地方是`.env` 配置。但是因为我使用的是简单的静态文件,我不想使用服务器配置,所以我将它们保存在 apikeys 文件中,然后再将它们导入。

  • 你的 USER_ID 位于 Account > API Keys 菜单下。
  • TEMPLATE_ID 位于模板的标题下面。

 

这是我基于不存在的 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文件中

步骤5-发送电子邮件

现在是该项目最后也是最重要的部分的了。现在我们必须使用 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个参数:

  • 你的电子邮件的 ID,在这里:             
  • TEMPLATE_ID 来自 apikey 文件,
  • 事件对象来自你的表单提交
  • USER_ID 来自 apikey 文件,

最后,查找表单并添加提交事件监听器:

src/js/main.js

const form = document.querySelector(‘.form‘)form.addEventListener(‘submit‘,sendEmail)

正如我前面提到的,由于 `preventDefault()` 函数,属性验证将无法工作。你必须使用 JS 自己进行验证和清除输入。

以上就是全部内容,接下来让我们测试一下。

填写页面上的表单并发送。

 

技术图片

 

我收到电子邮件,内容正是根据我们的模板和表单数据渲染出来的。

 

技术图片

通过上图可以看出,所有的变量的值都填充到了正确的位置上。

 

总结

 

通过本文的介绍你会发现用 JS 发送邮件并非难事。

 

使用 emailjs,你可以简单的方式发送电子邮件。

最后附上一些学习资料图哦,不管你学习什么,都离不开高质量的学习路线和学习资料

 

技术图片

 

技术图片

 

技术图片

 

技术图片

 

技术图片

 

技术图片

 

技术图片

 

技术图片

“大清亡于闭关锁国,学习技术需要交流和资料” 。关于web前端有许多的技术干货,包括但不限于各大厂的最新面试题系列、游戏项目源码、最新前端路线等。需要的伙伴可以私信我,

发送【前端资料】

就可以获取领取地址,免费送给大家。对于学习web前端有任何问题(学习方法,学习效率,如何就业)都可以问我。希望你也能凭自己的努力,成为下一个优秀的程序员!

 

以上是关于仅需 5 步,用 JavaScript 直接通过前端发送电子邮件的主要内容,如果未能解决你的问题,请参考以下文章

『GCTT 出品』仅需简单 5 步,给你的 Golang 程序添加 GUI (使用 Electron )

AIOps 落地难?仅需9步构建一套 AIOps 的最佳实践

仅需三步学会使用低代码ThingJS与森数据DIX数据对接

javaScript快速入门(仅需一天)

虹科方案 | 借助CloudRai.Box仅需4步实现传感器数据快速上云

解决idea中每次创建项目都要重复配置maven,来看全网仅需几步全局配置