Я пытаюсь отправить простую почту, используя весну.Отправка электронной почты весной с помощью Java Mail
Это определение bean-адреса отправителя в конфигурации java.
@Bean
public JavaMailSender javaMailService() {
JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
mailSender.setSession(getMailSession());
return mailSender;
}
public Session getMailSession() {
JndiTemplate template = new JndiTemplate();
Session session = null;
try {
session = (Session) template.lookup("java:jboss/mail/Default");
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return session;
}
Я работаю с jboss wildfly, и бобы создаются без каких-либо проблем.
Вот мой код для отправки электронной почты.
@Autowired
private JavaMailSender mailSender;
@Override
public void sendMail(String mailTo, String subject, String content) throws MessagingException{
MimeMessage message = mailSender.createMimeMessage();
message.setSubject(subject);
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(mailTo,false));
mailSender.send(message);
}
JavaMailSender вводится правильно. когда я отлаживаю выполнение, происходит до mailsender.send()
метода. и он начинает зависать.
Кажется, все конфигурации в jboss верны. Я также попытался указать параметры почтового сервера в компоненте. но все же он не работает.
Что я здесь делаю неправильно?
Правильно ли настроен почтовый сеанс в JBoss? Является ли сервер SMTP запущенным и работает, вы можете фактически подключиться к серверу от JBoss. Похож на проблему конфигурации сеанса почты для меня. –
Я использую gmail smtp. и я могу telnet и подключиться к нему. это то, что я использовал: telent smtp.gmail.com 465 –
это моя конфигурация jboss: <имя входа = "имя пользователя" пароль = "пароль" /> SMTP-сервер> почта-сессия> \t <исходящее -socket-binding name = "smtp.gmail.com"> <удаленный хост = "smtp.gmail.com" port = "465" /> outbound-socket-binding> –