Node.js 带环回3的电子邮件连接器
我有一个联系人表单,正在使用PersistedModel存储在mysql表中。现在我想发送带有表单值的电子邮件。如何做到这一点。我尝试过使用loopback 3电子邮件连接器,但没有任何效果,我不知道如何做。谁能给我举个例子吗Node.js 带环回3的电子邮件连接器,node.js,email,loopbackjs,strongloop,loopback,Node.js,Email,Loopbackjs,Strongloop,Loopback,我有一个联系人表单,正在使用PersistedModel存储在mysql表中。现在我想发送带有表单值的电子邮件。如何做到这一点。我尝试过使用loopback 3电子邮件连接器,但没有任何效果,我不知道如何做。谁能给我举个例子吗 <form class="form-area contact-form text-right" name="myForm" id="myForm" novalidate > <div class="row"&
<form class="form-area contact-form text-right" name="myForm" id="myForm" novalidate >
<div class="row">
<div class="col-lg-6 form-group">
<input name="name" id="name" placeholder="Enter your name" onfocus="this.placeholder = ''" onblur="this.placeholder = 'Enter your name'" class="common-input mb-20 form-control" required="" type="text">
<input name="email" id="email" placeholder="Enter email address" pattern="[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{1,63}$" onfocus="this.placeholder = ''" onblur="this.placeholder = 'Enter email address'" class="common-input mb-20 form-control" required="" type="email">
<div class="invalid-feedback">Please Enter a Valid Email Id.</div>
<input name="subject" id="subject" placeholder="Enter your subject" onfocus="this.placeholder = ''" onblur="this.placeholder = 'Enter your subject'" class="common-input mb-20 form-control" required="" type="text">
<div class="mt-20 alert-msg" style="text-align: left;"></div>
</div>
<div class="col-lg-6 form-group">
<textarea class="common-textarea form-control" name="message" id="message" placeholder="Message" onfocus="this.placeholder = ''" onblur="this.placeholder = 'Message'" required=""></textarea>
<button type="submit" class="primary-btn mt-20 text-white" style="float: right;">Send Message</button>
</div>
</div>
</form>
在环回中添加电子邮件数据源。在
afterRemote
函数中编写发送电子邮件功能。在表中保存后是否有发送电子邮件的方法,获取id并通过电子邮件发送值。我已在环回中添加了电子邮件数据源。我需要在datasource“mail”:{“name”:“mail”,“connector”:“mail”,“transports”:[{“type”:“SMTP”,“host”:“SMTP.gmail.com”,“secure”:true,“port”:465,“auth”:{“user”:example@gmail.com,“通过”:“1234567890”}}]}
并像这样发送电子邮件User.app.models.email.send({to:email,from:'noreply@abc.com,主题:“请求重置密码”,文本:“重置密码”,html:html})
你能告诉我如何使用远程方法吗。在编写了一个远程方法之后,您可以在Explorer中看到它,所以我需要在保存后创建一个远程方法以发送电子邮件
<script type='text/javascript'>
$("#myForm").submit(function(e) {
var ins_date=new Date($.now()).toLocaleString();
var parms = {
name : $("#name").val(),
email : $("#email").val(),
subject : $("#subject").val(),
message: $("#message").val(),
inserted_date:ins_date
};
var url2="http://localhost:3000/api";
$.ajax({
method: 'POST',
url: url2 + "/contacts",
async: false,
dataType : "json",
contentType: "application/json; charset=utf-8",
data: JSON.stringify(parms),
success: function(result){
console.log('Submission was successful.');
location.reload();
console.log(data);
}, error: function (data) {
console.log('An error occurred.');
console.log(data);
},
})
});
</script>
{
"db": {
"name": "db",
"connector": "memory"
},
"mysql": {
"host": "localhost",
"port": 3306,
"url": "",
"database": "mydb",
"password": "pass",
"name": "mysql",
"user": "root",
"connector": "mysql"
},
"email": {
"name": "email",
"connector": "mail",
"transports": [
{
"type": "smtp",
"host": "mail.company.com",
"secure": true,
"port": 465,
"tls": {
"rejectUnauthorized": false
},
"auth": {
"user": "email@address.com",
"pass": "password"
}
}
]
}
}