const nodemailer = require('nodemailer');
const { google } = require('googleapis');
// These id's and secrets should come from .env file.
const CLIENT_ID = 'YOUR CLIENT ID';
const CLEINT_SECRET = 'YOUR CLIENT SECRET';
const REDIRECT_URI = 'https://developers.google.com/oauthplayground';
const REFRESH_TOKEN = 'YOUR REFRESH TOKEN';
const oAuth2Client = new google.auth.OAuth2(
CLIENT_ID,
CLEINT_SECRET,
REDIRECT_URI
);
oAuth2Client.setCredentials({ refresh_token: REFRESH_TOKEN });
async function sendMail() {
try {
const accessToken = await oAuth2Client.getAccessToken();
const transport = nodemailer.createTransport({
service: 'gmail',
auth: {
type: 'OAuth2',
user: 'yours authorised email address',
clientId: CLIENT_ID,
clientSecret: CLEINT_SECRET,
refreshToken: REFRESH_TOKEN,
accessToken: accessToken,
},
});
const mailOptions = {
from: 'SENDER NAME <yours authorised email [email]address@gmail.com[/email]>',
to: 'to email address here',
subject: 'Hello from gmail using API',
text: 'Hello from gmail email using API',
html: '<h1>Hello from gmail email using API</h1>',
};
const result = await transport.sendMail(mailOptions);
return result;
} catch (error) {
return error;
}
}
sendMail()
.then((result) => console.log('Email sent...', result))
.catch((error) => console.log(error.message));Elimde yukarıdaki gibi bir form var aktif. Bu formu HTML formuma nasıl entegre ederim? Aşağıda formu verdim.
<form class="form" id="my-form" action="" method="POST">
<label for="isim">Adınız ve Soyadınız</label>
<input type="text" name="isim" id="isim" required>
<label for="proje">Projeniz</label>
<textarea name="proje" id="proje" cols="20" rows="15"></textarea>
<label for="mail">İletişim Mailiniz</label>
<input type="email" name="mail" id="mail" required>
<br>
<button type="submit"> Gönder </button>
<p id="my-form-status"></p>
</form>