This the HTML form code
<form method="POST" class="comment-form" >
<div class="form-group col-md-10 ">
<input class="form-control" placeholder="Name: " name="name" required/>
</div>
<div class="form-group col-md-10 ">
<input class="form-control" placeholder="Email address: " name="email" required/>
</div>
<div class="form-group col-md-10 ">
<input class="form-control" placeholder="Your Phone: " name="phone" required/>
</div>
<div class="form-group col-md-10">
<textarea rows="8" class="form-control" placeholder="Message.." name="comment" required></textarea>
</div>
<div class="form-group col-md-10">
<input type="file" id="fileupload" name="fileupload" value="upload" />
</div>
<div class="form-submit col col-md-12">
<input type="button" class="btn btn-primary" value="Send Mail" onclick="SendMail()">
</div>
</form>
JavaScript code for file attachment which I borrow from https://www.codegrepper.com/code-examples/javascript/smtpjs+attachment '
<script>
function uploadFileToServer()
{
var input = document.querySelector("form")
**var file = event.srcElement.files[0].name;** ->error
var reader = new FileReader();
reader.readAsBinaryString(file);
reader.onload = function () {
var dataUri = "data:" + file.type + ";base64," + btoa(reader.result);
Email.send({
Host : "smtp.gmail.com",
Username : "........@gmail.com",
Password : ".......",
From: input.elements["email"].value,
To : '..........com',
Subject : "Send with base64 attachment",
Body : input.elements["comment"].value + "<br>" +
input.elements["name"].value + file.name,
Attachments : [
{
name : file.name,
data : dataUri
}]
}).then(message => alert(message) );
};
reader.onerror = function() {
console.log('there are some problems');
};
}
</script>
The problem is once I click the button I will get the error in my console
Uncaught TypeError: Cannot read property '0' of null