js 可以发送邮件吗

万能的网友们,JS怎么发送邮件啊.我觉得不可以,老板说可以post发送.
身为弱鸡的我,只能说声哦,然后默默的回到座位,就开始百度..没找到答案,所以过来问下..

阅读 23.7k
10 个回答

首先需要理解的是,Javascript Post一个请求是使用的是HTTP协议,就是我们常说的Web
而发送邮件使用的是SMTP协议,收邮件是 POP3协议,和HTTP协议是不一样的。

因为,前端Javascript是不可能直接发邮件的。
那可以这样实现

  1. 后端用nodejs,使用sendmail模块,实现发邮件的功能,这一过程是SMTP

  2. 前端将发件人、邮件内容、主题等信息传给后端,后端再调用函数发送。

事实上,我们使用邮箱的网页版,就是这样的一个实现过程。
使用邮箱客户端,大部分直接是SMTP和POP3

// 附上nodejs发邮件的示例代码
const sendmail = require('sendmail')();
 
sendmail({
    from: 'no-reply@yourdomain.com',
    to: 'test@qq.com, test@sohu.com, test@163.com ',
    subject: 'test sendmail',
    html: 'Mail of test sendmail ',
  }, function(err, reply) {
    console.log(err && err.stack);
    console.dir(reply);
});

node 可以,纯前端不可能

可以。。。引入其他js,或自己实现

post给后端接口,后端去发

首先先不说JS能不能发送邮件。
按你老板的意思呢,意思就是把:收件人,内容,通过post传给后台(或者说是接口),让后台来发送邮件。如果这样理解,那说明你老板还算懂点技术。
但是,如果根本没有接口或者后台没有,那可能是第三方接口,能做到他说的!
如果,都没有!!!那只能说明你老板是个2333...不懂装懂!
post传给谁啊????
js能调起本地的邮件客户端来让客户手动发送邮件

新手上路,请多包涵

老板的意思应该是post给一个后台发送email的api请求 携带你要发送的数据, 具体api拿什么语言写就看需求了 node也可以 或者什么PHP也行

一定要有server-side才可以发信吧, 像前面大神说的一样, 协议不同,
不然用ajax传送表单资料给资料库, 在从资料库拿出资料请工读生一个个发邮件吧......

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题