我试图配置在localhost上运行的wildfly来发送电子邮件,但我失败了。
我已经阅读了一堆教程,他们使用gmail发送电子邮件,但这需要SSL,并且服务器运行时带有自签名证书,因此无法正常工作。我不明白的一件事是,我是否使用像gmail这样的smtp服务器,或者如果wildfly有一个集成,如果我可以用它来发送电子邮件。
<subsystem xmlns="urn:jboss:domain:mail:2.0">
<mail-session jndi-name="java:jboss/mail/Default">
<smtp-server outbound-socket-binding-ref="mail-smtp">
</smtp-server>
</mail-session>
</subsystem>
...
<outbound-socket-binding name="mail-smtp">
<remote-destination host="localhost" port="25"/>
</outbound-socket-binding>
java:
@Resource(mappedName = "java:jboss/mail/Default")
private Session mailSession;
public void sendVerifEmail() {
try {
MimeMessage m = new MimeMessage(mailSession);
Address from = new InternetAddress("mymail@gmail.com");
Address[] to = new InternetAddress[] {new InternetAddress(user.getEmail()) };
m.setFrom(from);
m.setRecipients(Message.RecipientType.TO, to);
m.setSubject("registration");
m.setSentDate(new java.util.Date());
m.setContent("Mail sent from JBoss AS 7","text/plain");
Transport.send(m);
System.out.println("Mail sent!");
}
catch (javax.mail.MessagingException e)
{
e.printStackTrace();
}
}
答案 0 :(得分:0)
我以为我无法使用gmail,因为我在尝试时遇到了错误。实际上我的防病毒软件没有启用它。因此禁用我的防病毒功能解决了这个问题。