首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为使用yaml的通配符群中的SMTP邮件配置出站套接字绑定?

如何为使用yaml的通配符群中的SMTP邮件配置出站套接字绑定?
EN

Stack Overflow用户
提问于 2017-08-05 04:33:34
回答 3查看 2.7K关注 0票数 1

我正在将Wildfli10.0.1.0的应用程序移植到极富活力的2017.7.0群中。

除了使用YAML的SMTP电子邮件配置之外,一切都进行得相当顺利:

我尝试了一些替代方案,但这是基于我认为yaml将来自standalone.xml映射- project-defaults.yml的最新一个。

代码语言:javascript
复制
swarm:
  socket-binding-groups:
    mail-socket:    
      outbound-socket-bindings:
        mail-smtp:
          remote-host: smtp.someprovider.com
          remote-port: 587

  mail:
    mail-sessions:
      smtpSession:
        jndi-name: java:/smtpSession
        smtp-server:
          username: username_here
          password: password_here
          tls: true
          outbound-socket-binding-ref: mail-smtp

然而,我仍然会出错:

代码语言:javascript
复制
2017-08-05 11:17:36,100 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([
("subsystem" => "mail"),
("mail-session" => "smtpSession") 
]) - failure description: {
"WFLYCTL0412: Required services that are not installed:" => ["jboss.outbound-socket-binding.mail-smtp"],
"WFLYCTL0180: Services with missing/unavailable dependencies" => ["jboss.mail-session.smtpSession is missing [jboss.outbound-socket-binding.mail-smtp]"]
}
2017-08-05 11:17:36,155 INFO  [org.jboss.as.controller] (Controller Boot Thread) WFLYCTL0183: Service status report
WFLYCTL0184:    New missing/unsatisfied dependencies:
  service jboss.outbound-socket-binding.mail-smtp (missing) dependents: [service jboss.mail-session.smtpSession] 

2017年8月7日编辑?

按照Ladicek的建议,我尝试过这样做:

代码语言:javascript
复制
 swarm:
   socket-binding-groups:
     standard-sockets:
       mail-socket:
         outbound-socket-bindings:
           mail-smtp:
             remote-host: smtp.someprovider.com
             remote-port: 587

代码语言:javascript
复制
swarm:
  socket-binding-groups:
    standard-sockets:
      outbound-socket-bindings:
        mail-smtp:
          remote-host: smtp.someprovider.com
          remote-port: 587

代码语言:javascript
复制
swarm:
  socket-binding-groups:
    standard-socket:
      outbound-socket-bindings:
        mail-smtp:
          remote-host: smtp.someprovider.com
          remote-port: 587

但是既不工作,也有同样的错误。

有人能帮忙吗?

需要升级到2017.8.1并使用以下配置

代码语言:javascript
复制
network:
  socket-binding-groups:
    standard-sockets:
      outbound-socket-bindings:
        mail-smtp:
          remote-host: smtp.someprovider.com
          remote-port: 587

谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-08-07 08:16:38

终于解决了:

需要升级到2017.8.1并使用以下配置

代码语言:javascript
复制
network:
  socket-binding-groups:
    standard-sockets:
      outbound-socket-bindings:
        mail-smtp:
        remote-host: smtp.someprovider.com
        remote-port: 587

谢谢。

票数 0
EN

Stack Overflow用户

发布于 2017-08-05 07:40:46

从我的头脑中,我相信有一个级别的YAML结构是缺失的:您需要选择将套接字绑定添加到其中的套接字绑定组。这是WildFly的托管域的一个工件,这是一个不适用于群的概念,但有时您会碰到它。在独立的WildFly中只有一个套接字绑定组,因此在群中只有一个套接字绑定组:standard-sockets

所以YAML看起来就像:

代码语言:javascript
复制
swarm:
  socket-binding-groups:
    standard-sockets:
      mail-socket:
        ...

关于群集YAML结构的任何类型的问题,请参阅https://reference.wildfly-swarm.io

票数 0
EN

Stack Overflow用户

发布于 2017-08-24 17:51:37

这对我有用。

yml档案:

代码语言:javascript
复制
swarm:
  mail:
    mail-sessions:
      mail-socket:
        jndi-name: java:/mail/NGSoftMail
        smtp-server:
          username: sigafco@xxxmail.com.co
          password: *****
          outbound-socket-binding-ref: mail-smtp
        debug: true
        from: sigafco@xxxmail.com.co 

  network:
    socket-binding-groups:
      standard-sockets:
        outbound-socket-bindings:
          mail-smtp:
            remote-host: xxxmail.com.co
            remote-port: 25

java文件:

代码语言:javascript
复制
@ApplicationScoped
@Path("mailsender")
public class MailSender {

  @Resource(mappedName = "java:/mail/NGSoftMail")
  private Session session;

  @GET
  @Path("mail")
  public String sendGet() throws Exception {
    Message message = new MimeMessage(session);

    message.setFrom();
    message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("david.vasquez@xxx.com.co", false));
    message.setSubject("asunto!!!");
    message.setSentDate(new Date());
    message.setContent("contenido!!!", "text/html; charset=UTF-8");

    Transport.send(message);

    return String.format("{\"your_mail\": \"%s\"}", "OK");
  }
}

pom档案:

代码语言:javascript
复制
<dependency>
    <groupId>org.wildfly.swarm</groupId>
    <artifactId>mail</artifactId>
</dependency>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45518234

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档