form表单提交转发到邮箱
时间: 2023-08-07 12:05:51 浏览: 389
表单提交到邮箱代码
4星 · 用户满意度95%
要将表单提交转发到邮箱,可以使用 Node.js 中的 Nodemailer 模块。以下是一个简单的示例:
1. 首先,需要在 HTML 表单中设置 action 属性和 method 属性。action 属性指定表单提交的 URL,method 属性指定表单提交的 HTTP 方法。例如:
```html
<form action="/submit-form" method="post">
<input type="text" name="username">
<input type="email" name="email">
<button type="submit">提交</button>
</form>
```
2. 接下来,在后端编写处理表单提交的代码。使用 Express 框架和 Nodemailer 模块,可以很方便地实现将表单数据转发到邮箱的功能。以下是一个示例:
```javascript
const express = require('express');
const bodyParser = require('body-parser');
const nodemailer = require('nodemailer');
const app = express();
app.use(bodyParser.urlencoded({ extended: true }));
const transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
user: 'your_email@gmail.com',
pass: 'your_email_password'
}
});
app.post('/submit-form', (req, res) => {
const { username, email } = req.body;
const mailOptions = {
from: 'your_email@gmail.com',
to: 'recipient_email@example.com',
subject: '表单提交',
html: `<p>用户名:${username}</p><p>邮箱:${email}</p>`
};
transporter.sendMail(mailOptions, (error, info) => {
if (error) {
console.error(error);
res.status(500).send('Internal Server Error');
} else {
res.status(200).send('Success');
}
});
});
app.listen(3000, () => {
console.log('Server started on port 3000');
});
```
在上面的代码中,我们使用了 Express 和 body-parser 模块来处理表单提交,并使用了 Nodemailer 模块来发送电子邮件。在表单提交处理函数中,我们从 req.body 对象中获取表单数据,并将其转发到指定的邮箱地址。
请注意,上面的代码仅供参考,实际情况可能会有所不同,需要根据具体需求进行调整。另外,需要将 `your_email@gmail.com` 和 `your_email_password` 替换为你的 Gmail 邮箱账号和密码,并将 `recipient_email@example.com` 替换为你要转发到的邮箱地址。
阅读全文