Для запуска серверной части проекта на Nuxt 3, развернутого на Vercel, вам нужно создать файл api/index.js в корне вашего проекта. В этом файле вы можете определить все необходимые эндпоинты для вашего сервера. Затем вам нужно добавить "serverMiddleware" в ваш nuxt.config.js файл:
```javascript
export default {
serverMiddleware: [
'~/api/index.js'
]
}
```
Теперь ваш серверный код будет запущен на Vercel.
Чтобы настроить отправку формы на почту через nodemailer в проекте с использованием серверной части, вам нужно сначала установить nodemailer в свой проект:
```
npm install nodemailer
```
Затем в вашем api/index.js файле вы можете создать эндпоинт для отправки формы:
```javascript
import nodemailer from 'nodemailer';
// создаем транспортер для отправки писем
const transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
user: '[email protected]',
pass: 'your-password'
}
});
export default (req, res) => {
if (req.method === 'POST') {
const { email, message } = req.body;
// настройка письма
const mailOptions = {
from: '[email protected]',
to: '[email protected]',
subject: 'New Message',
text: `From: ${email}\n\nMessage: ${message}`
};
// отправляем письмо
transporter.sendMail(mailOptions, (error, info) => {
if (error) {
console.error(error);
res.status(500).send('Error sending email');
} else {
console.log('Email sent: ' + info.response);
res.status(200).send('Email sent successfully');
}
});
} else {
res.status(405).end();
}
};
```
Теперь вы можете отправлять формы на этот эндпоинт для отправки писем через nodemailer. Убедитесь, что ваш сервер валидирует данные перед отправкой письма и что вы используете безопасные методы для хранения ваших учетных данных для электронной почты.