我是一个相当新的Java spring-我得到以下错误时,试图发送一个测试电子邮件。
发送电子邮件时出错:
org.springframework.Mail.mailsendexception:邮件服务器连接失败;嵌套异常为javax.mail.MessagingException:无法连接到SMTP主机:SMTP.gmail.com,端口:587;嵌套异常是:javax.net.SSL.sslexception:无法识别的SSL消息,明文连接?。失败消息:javax.mail.MessagingException:无法连接到SMTP主机:SMTP.gmail.com,端口:587;嵌套异常为:javax.net.SSL.sslexception:无法识别的SSL消息,明文连接?;消息异常(1)是:失败消息1:javax.mail.MessagingException:无法连接到SMTP主机:SMTP.gmail.com,端口:587;嵌套异常为:javax.net.SSL.sslexception:无法识别的SSL消息,明文连接?“
SimePleMailController.java
package controller;
import javax.mail.internet.MimeMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class SimpleEmailController {
@Autowired
private JavaMailSender sender;
@RequestMapping("/simpleemail")
@ResponseBody
String home() {
try {
sendEmail();
return "Email Sent!";
}catch(Exception ex) {
return "Error in sending email: "+ex;
}
}
private void sendEmail() throws Exception{
MimeMessage message = sender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message);
helper.setTo("set-your-recipient-email-here@gmail.com");
helper.setText("How are you?");
helper.setSubject("Hi");
sender.send(message);
}
}
application.properties
设置如下所示-对测试帐户进行测试
spring.mail.port=587
spring.mail.host=smtp.gmail.com
spring.mail.username=xxxxxxxxxxxxx@gmail.com
spring.mail.password=zzzzzzzzzzz
spring.mail.protocol=smtp
spring.mail.defaultEncoding=UTF-8
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.auth = true
spring.mail.properties.mail.smtp.socketFactory.port = 25
spring.mail.properties.mail.smtp.socketFactory.class = javax.net.ssl.SSLSocketFactory
spring.mail.properties.mail.smtp.socketFactory.fallback = true
spring.mail.properties.mail.smtp.ssl.enable=true
support.mail.address=xxxxxxxxxxxxxxx@gmail.com
尝试使用@as setTo()参数进行第一次快速测试。然后,你可以让缺省配置,你不需要太多它。
spring.mail.host=smtp.gmail.com
spring.mail.username=romanineers@gmail.com
spring.mail.password=****** #hope it wasn't your real password :)
spring.mail.properties.mail.smtp.auth = true
从应用程序中删除此行。属性
:spring.mail.properties.mail.smtp.ssl.enable=true
因为您正在使用端口587
,该端口用于使用TLS发送消息。如果使用端口465
(SMTP SSL端口),则应使用上述配置。
使用的技术: Spring Boot 1.4.2.Release,Spring 4.3.4.Release,Tymeleaf 2.1.5.Release,Tomcat Embeded 8.5.6、Maven 3、Java 8 我创建了这个服务来发送电子邮件
我创建了简单的MailService来通过电子邮件发送内容。它工作但我不知道如何处理异常(我的想法是在HTML视图中打印一些信息或在404页重定向) 邮件服务: 在控制器中的用法:
当我使用JavaMailSender发送带有附件的电子邮件时,它总是失败,并引发以下异常: 这是我的密码
web.xml 应用程序-servlet.xml context.xml(在tomcat conf文件夹中) 谢谢你的建议和帮助。
我正在使用JavaMailSender通过我的gmail帐户向我的客户发送电子邮件。在我的gmail帐户设置中,我可以将值设置为“发送邮件为”,以便在客户端电子邮件中显示我的自定义名称。例如,如果我用gmail发送电子邮件,我的客户端电子邮件将显示以下内容: 发件人:这是我的自定义名称(不是我的电子邮件地址) 致:client-email@mail.com 主题 身体... 如何在Spring中设
我正在尝试使用JavaMailSender发送电子邮件。我在HTML中的href标记中有一个动态链接,我必须替换它。在我的数据库中,我存储了: 因此,我在Java Spring中的变量文本中检索该字符串,并发送电子邮件: 在记录器中,我看到: 但在电子邮件中我看到: 而且这两个链接都不可点击。这有什么问题吗?替换不是要使用的正确功能?