Я отправляю письмо от Gmail через мое веб-приложение.Java отправить электронную почту через gmail, иногда иногда работает зависание
Однако иногда он работает нормально, но иногда он просто останавливается без какого-либо сообщения.
Кто-нибудь знает, как это решить?
В моей весной AppConfig.java
@Bean
public JavaMailSender getMailSender(){
JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
mailSender.setHost("smtp.gmail.com");
mailSender.setPort(587);
mailSender.setUsername("my email from");
mailSender.setPassword("my email password");
Properties javaMailProperties = new Properties();
javaMailProperties.put("mail.smtp.starttls.enable", "true");
javaMailProperties.put("mail.smtp.auth", "true");
//javaMailProperties.put("mail.transport.protocol", "smtps");
javaMailProperties.put("mail.transport.protocol", "smtp");
javaMailProperties.put("mail.debug", "true");
mailSender.setJavaMailProperties(javaMailProperties);
return mailSender;
}
В моей mailService.java
public void sendEmailWithTemplate(Activity activity, Object object) {
Member member = (Member) object;
MimeMessagePreparator verificationEmail = getEmailFromActivity(activity, member);
try {
mailSender.send(verificationEmail);
System.out.println("Message sent.............................");
} catch (MailException ex) {
System.err.println(ex.getMessage());
}
}
private MimeMessagePreparator getEmailFromActivity(final Activity activity, final Member member) {
MimeMessagePreparator preparator = new MimeMessagePreparator() {
public void prepare(MimeMessage mimeMessage) throws Exception {
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
helper.setSubject(activity.getActivity_subject());
helper.setFrom("my from email");
helper.setTo(member.getEmail());
String mailContent = activity.getActivity_content();
helper.setText(mailContent, true);
}
};
return preparator;
}
Иногда его работает отлично, и я буду иметь возможность отправлять почту, но иногда просто остановиться на более чем 20 минут:
DEBUG SMTP: enable SASL
DEBUG SMTP: useEhlo true, useAuth false
DEBUG SMTP: trying to connect to host "smtp.gmail.com", port 587, isSSL false
Звучит как проблема с сетью. У вас есть брандмауэр или антивирус? Попробуйте установить [время ожидания соединения] (https://javamail.java.net/nonav/docs/api/com/sun/mail/smtp/package-summary.html#mail.smtp.connectiontimeout). –
Привет, я, но я отключу брандмауэр и антивирус, но все равно. Однако все в порядке, потому что я сейчас пытаюсь использовать другой метод из другого сообщения и его работы. Но слишком плохо, что я не могу найти ответ на вопрос –
Точно, что вы изменили, чтобы заставить его работать? –