const express = require('express');
const nodemailer = require('nodemailer');
const bodyParser = require('body-parser');
const app = express();
app.use(bodyParser.json());
app.use(express.static('public'));
const smtpTransport = nodemailer.createTransport({
service: 'Gmail',
auth: {
user: 'admsscms23@gmail.com',
pass: 'zpkh lpda nrum hwsu'
}
});
// POSTリクエストの処理
app.post('/sendMail', (req, res) => {
const { email, cardText } = req.body;
let message = '';
let file = '';
if (cardText === 'Card1') {
message = 'Card1 が選択されました。https://drive.google.com/drive/folders/1iidBp8z-c-7_9ABYoxzb2F_3BAnYMq4t?usp=sharing';
file = {
filename: 'イベント用スプレッドシート',
path: 'public/index.html'
}
} else if (cardText === 'Card2') {
message = 'Card2 が選択されました。https://drive.google.com/drive/folders/1iidBp8z-c-7_9ABYoxzb2F_3BAnYMq4t?usp=sharing';
file = {
filename: 'グルメ用スプレッドシート',
path: 'public/index.html'
}
}
const mailOptions = {
from: 'admsscms23@gmail.com',
to: email,
subject: 'スプレッドシート送付',
text: message,
attachments: [file]
};
smtpTransport.sendMail(mailOptions, (error, response) => {
if (error) {
console.log('メール送信エラー:', error);
res.status(500).json({ message: 'へのメールの送信に失敗しました' });
} else {
console.log('メールが送信されました:', response.response);
res.json({ message: 'にメールが送信されました' });
}
});
});
// GETリクエストの処理
app.get('/', (req, res) => {
res.sendFile(__dirname + '/public/index.html');
});
const port = 3000;
app.listen(port, () => {
console.log(`サーバーがポート ${port} で起動しました`);
});