Node.js 如何在nodejs服务器代码中使用Mailgun以html格式向mail发送文件?
我正在收集信息,并通过HTML表单附加文件,并在邮枪的帮助下将其发送到邮件。我想通过表单手动附加文件。附加到表单的文件已发送到邮件。我被困在这个问题上了。有人能帮我吗 这是我的html文件Node.js 如何在nodejs服务器代码中使用Mailgun以html格式向mail发送文件?,node.js,forms,email-attachments,mailgun,Node.js,Forms,Email Attachments,Mailgun,我正在收集信息,并通过HTML表单附加文件,并在邮枪的帮助下将其发送到邮件。我想通过表单手动附加文件。附加到表单的文件已发送到邮件。我被困在这个问题上了。有人能帮我吗 这是我的html文件 <div class="form-group"> <label for="district"> District</label> <select id="
<div class="form-group">
<label for="district"> District</label>
<select id="output" onchange="random_function1()" class="form-control" placeholder="Your District..." >
</select>
</div>
<div class="form-group">
<label for="messege"> Subject of Correspondence</label>
<input type="text" class="form-control" id="messege" name="messege" placeholder="Your suject of contact..." required maxlength="150">
</div>
<div class="form-group">
<label for="attachments"> Document Upload:</label>
<input type="file" class="form-control" id="attachments" name="attachments" required>
</div>
<div class="form-group">
<label for="number"> Enter Mobile Number</label>
<input type="number" class="form-control" id="number" name="number" placeholder="Enter Your Mobile number here..." required maxlength="50">
</div>
<div class="form-group">
<label for="email"> Enter Your E-Mail Id</label>
<input type="email" class="form-control" id="email" name="email" placeholder="Enter Your Email Address here..." required maxlength="50">
</div>
<button type="submit" value="submit" class="btn btn-lg btn-success pull-right" id="btnContactUs">Submit</button>
</form>
</div>
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
$("form").on("submit", e => {
e.preventDefault();
const member = $("#member").val().trim();
const designation = $("#designation").val().trim();
const input = $("#input").val().trim();
const output = $("#output").val().trim();
const messege = $("#messege").val().trim();
const attachments = $("#attachments").val().trim();
const number = $("#number").val().trim();
const email = $("#email").val().trim();
const data = {
member,
designation,
input,
output,
messege,
attachments,
email,
number
};
$.post("/email", data)
.then(() => {
window.location.href = "/email/sent";
})
.catch(() => {
window.location.href = "/error";
});
});
</script>
</body>
</html>
const nodemailer = require('nodemailer');
const mailGun = require('nodemailer-mailgun-transport');
const auth = {
auth: {
api_key: process.env.API_KEY ||
domain: process.env.DOMAIN ||
}
};
const transporter = nodemailer.createTransport(mailGun(auth));
const sendMail = ( email, member, designation, input, output, attachment, messege, number) => {
const mailOptions = {
from: email,
to: 'test@gmail.com',
subject: 'help',
text: 'For contact use only. Name:'+member+' Designation:'+designation+' State:'+input+' District:'+output+' Messege:'+messege+' Number:'+number
};
transporter.sendMail(mailOptions, function (err, data) {
if (err) {
return (err, null);
}
return (err, data);
});
}
module.exports = sendMail;