node.js使用nodemailer发送阿里云企业邮箱的邮件

百度一搜就能搜到各种博客例子,但是有个问题:有些参数写的不明不白的,我在发送的时候总是报错

后面看到了一篇博客:

基于nodemailer使用阿里云企业邮箱发送邮件(526错误的解决)
 

注意几点:

1、阿里云邮箱管理员在创建账号的时候一定要 勾选这两个

 

 

 

2、createTransport 这个方法的参数一定要写对,不写对邮件是发送不出去的

npm install nodemailer --save

const nodemailer = require('nodemailer');
 

var mailTransport = nodemailer.createTransport({
                    host: 'smtp.mxhichina.com',//阿里云企业邮箱使用的是这个 不是你自定义域名的
                    "port": 465,
                    "secure": true, // use SSL
                    secureConnection: false, // 使用SSL方式(安全方式,防止被窃取信息)
                    auth: {
                        user: '***********,//邮箱
                        pass: '**********'//密码  有人说这里可以使用授权码 但是我在阿里云企业邮箱中没有找到授权码在哪 有人找到了可以说下
                    },
                  
                })

后面的就简单了

按照文档发出去就行了,可以使用html代码直接发各种花里胡哨的东西

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用 Node.js 实现点击按钮发送信息到 qq 邮箱,你需要使用 Node.js 的第三方邮件发送库。这里以 nodemailer 为例进行说明。 首先,你需要在你的项目中安装 nodemailer: ``` npm install nodemailer ``` 然后,在你的 Express 应用中添加路由处理 `/sendemail`,处理前端发送过来的邮件发送请求。示例代码如下: ```javascript const express = require('express'); const bodyParser = require('body-parser'); const nodemailer = require('nodemailer'); const app = express(); app.use(bodyParser.urlencoded({ extended: true })); app.post('/sendemail', (req, res) => { let transporter = nodemailer.createTransport({ service: 'qq', secure: true, auth: { user: '你的 QQ 邮箱地址', pass: '你的 QQ 邮箱密码' } }); let mailOptions = { from: '你的 QQ 邮箱地址', to: req.body.to, subject: req.body.subject, text: req.body.message }; transporter.sendMail(mailOptions, (error, info) => { if (error) { console.log(error); res.send('邮件发送失败'); } else { console.log('邮件发送成功:' + info.response); res.send('邮件发送成功'); } }); }); app.listen(3000, () => { console.log('服务器已启动'); }); ``` 这段代码使用 nodemailer 创建一个邮件传输对象 `transporter`,并设置服务提供商为 `qq`,使用 QQ 邮箱的 SMTP 服务器发送邮件。在创建 `mailOptions` 对象时,我们使用了表单数据中的收件人地址、主题和正文。最后,我们使用 `transporter.sendMail()` 方法发送邮件,并在邮件发送完成后向前端发送响应。 在前端页面中,你可以使用 jQuery 或其他类库监听按钮的点击事件,并使用 AJAX 技术将表单数据发送到 `/sendemail` 路由。示例代码如下: ```html <!DOCTYPE html> <html> <head> <title>发送邮件</title> <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script> </head> <body> <form> <label for="to">收件人:</label> <input type="email" id="to" name="to" required><br> <label for="subject">主题:</label> <input type="text" id="subject" name="subject" required><br> <label for="message">内容:</label> <textarea id="message" name="message" required></textarea><br> <button type="button" id="send">发送</button> </form> <script> $(function() { $('#send').click(function() { var to = $('#to').val(); var subject = $('#subject').val(); var message = $('#message').val(); $.post('/sendemail', {to: to, subject: subject, message: message}, function(response) { alert(response); }); }); }); </script> </body> </html> ``` 这里使用了 jQuery 的 `$.post()` 方法将表单数据发送到 `/sendemail` 路径,然后在后端服务器上监听该路径。当邮件发送完成后,我们在前端弹出一个提示框,显示邮件发送结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值