我正在尝试制作一个简单的表单,提交后将其发送并发送给固定的电子邮件。
我正在使用spring,并且已经搜索了如何配置应用程序。yml,并且正在使用似乎是通过jhipster应用程序生成的mailsend方法。
我已经建立了FE服务来连接到后端:
sendForm(): Observable<any>{
return this.http.post(SERVER_API_URL + 'api/sendForm', "");
}
我已经构建了onsubmit方法来订阅上述方法:
onSubmit() {
this.auth.sendForm().subscribe( data => {
console.log(data);
})
}
我已经对邮件资源进行了硬编码,只是为了模拟电子邮件以确保其正常工作:
@PostMapping("/sendForm")
public void sendForm() {
this.mailService.sendEmail("mymail@gmail.com","Header","texto",false,true);
}
我发送邮件提交信息的sendMail方法是自动生成的,我认为它应该可以工作
@Async
public void sendEmail(String to, String subject, String content, boolean isMultipart, boolean isHtml) {
log.debug("Send email[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, StandardCharsets.UTF_8.name());
message.setTo(to);
message.setFrom(jHipsterProperties.getMail().getFrom());
message.setSubject(subject);
message.setText(content, isHtml);
javaMailSender.send(mimeMessage);
log.debug("Sent email to User '{}'", to);
} catch (Exception e) {
if (log.isDebugEnabled()) {
log.warn("Email could not be sent to user '{}'", to, e);
} else {
log.warn("Email could not be sent to user '{}': {}", to, e.getMessage());
}
}
}
这是我的application-dev.yml(我仍在开发中)
spring:
profiles:
active: dev
mail:
host: smtp.gmail.com
port: 587
username: gmailuserid@gmail.com #Replace this field with your Gmail username.
password: ************ #Replace this field with your Gmail password.
protocol: smtp
tls: true
properties.mail.smtp:
auth: true
starttls.enable: true
ssl.trust: smtp.gmail.com
我得到的错误如下:
org.springframework.mail.MailSendException: Mail server connection failed; nested exception is com.sun.mail.util.MailConnectException: Couldn't connect to host, port: localh
ost, 25; timeout -1;
nested exception is:
java.net.ConnectException: Connection refused: connect. Failed messages: com.sun.mail.util.MailConnectException: Couldn't connect to host, port: localhost, 25; timeo
ut -1;
我所希望的只是一封邮件,其中包含我已经使用过的模拟内容,我似乎无法使其工作。
我希望我的帖子没有做得太长,并且所有内容都得到了很好的解释。
在此先感谢您愿意提供帮助的人
答案 0 :(得分:0)
显然,为什么不将properties-prod.yml加载到服务器。我必须创建一个具有所有配置的配置文件,才能正常工作