我制作了一个小应用程序,使用spring boot使用attemet发送电子邮件,首先它可以工作,然后出现端口问题:
“无法连接到主机,端口:smtp.gmail.com,587;超时-1”
我试图将端口更改为"465"
。
但是我发现了同样的问题。
怎么了
谢谢
答案 0 :(得分:0)
我在此代码中使用spring-boot-starter-mail 2.0.4.RELEASE。
我将此配置用于smtp.gmail.com。
@Configuration
public class EmailSenderConfig {
@Value("${mail.login}")
private String login;
@Value("${mail.password}")
private String password;
@Bean
public JavaMailSender getJavaMailSender() {
JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
mailSender.setHost("smtp.gmail.com");
mailSender.setPort(587);
mailSender.setUsername(login); //login for google account "this.my.email@gmail.com"
mailSender.setPassword(password); // password for google account "thisMyPassword666"
Properties props = mailSender.getJavaMailProperties();
props.put("mail.transport.protocol", "smtp");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.debug", "true");
return mailSender;
}
}
此代码用于发送消息
@Autowired
private JavaMailSender mailSender;
public void sendToken(String to) {
SimpleMailMessage smm = new SimpleMailMessage();
String token = String.valueOf(new Random().ints(MIN, MAX).findFirst().getAsInt());
verificationService.saveTemporaryToken(to, token);
smm.setTo(to);
smm.setSubject(TITLE);
smm.setText(token);
mailSender.send(smm);
}
比较我的代码和你的代码,也许你忘了写东西。