如何通过jhipster应用程序发送电子邮件
我使用jhipster开发了一个应用程序。 我已经设置好的应用dev.yml文件,此信息如何通过jhipster应用程序发送电子邮件
mail:
host: smtp.gmail.com
port: 587
username: **********@gmail.com
password: ****************
protocol: smtp
tls: true
properties.mail.smtp:
auth: true
starttls.enable: true
ssl.trust: smtp.gmail.com
,一切工作correctly.If新用户注册,激活邮件正确到达用户的电子邮件地址。 我的问题是,我已经写一页接触我,但我不知道如何发送按钮的工作,我已经在Java后端这种方法
@Async
public void sendEmail(String to, String subject, String content, boolean isMultipart, boolean isHtml) {
log.debug("Send e-mail[multipart '{}' and html '{}'] to '{}' with subject '{}' and content={}",
isMultipart, isHtml, to, subject, content);
// Prepare message using a Spring helper
MimeMessage mimeMessage = javaMailSender.createMimeMessage();
try {
MimeMessageHelper message = new MimeMessageHelper(mimeMessage, isMultipart, CharEncoding.UTF_8);
message.setTo(to);
message.setFrom(jHipsterProperties.getMail().getFrom());
message.setSubject(subject);
message.setText(content, isHtml);
javaMailSender.send(mimeMessage);
log.debug("Sent e-mail to User '{}'", to);
} catch (Exception e) {
log.warn("E-mail could not be sent to user '{}'", to, e);
}
}
,我认为是使用的方法从联系我发送邮件的形式。我需要一个contact-me html页面的控制器? 这是我的联系方式html页面 http://pastebin.com/h8NniSj1
当你使用JHipster,我想你在你的Angular前端有一个控制器和服务。因此,我认为你可以创建一个Spring-MVC控制器来接收你的参数(TO,Subject等),并且调用你在你的问题中发布的这个邮件服务(sendMail)。
请让我知道,如果我理解你的问题是正确的。
在发送REST API端点的电子邮件中公开TO参数并不是一个好主意。这是一个易于被用来发送垃圾邮件的漏洞。 – jannis
@jannis你完全正确!必须有一个服务中间层才能正确使用数据。我只是想解释主要流程。 –
使用“联系我”方法(例如/ api/contactmes)扩展您的REST API,您将从联系表单中调用该方法。端点可以接受POST请求与“我联系”的形式参数:
{
"subject": "...",
"from": "...",
"message": "..."
}
然后,你必须选择:
- 它可以在内部使用的
MailService::sendEMail
方法与您联系(通过电子邮件) - 它可以将信息保存在数据库中,稍后通过管理面板查看它(如果有的话)
- 它可以通过多个联系渠道(例如Slack,电子邮件,FB等)广播消息
- 等
我也有同样的问题。任何人都可以帮忙吗? –
是否有任何样品jhipster项目分享? –