使用 Activiti 流程框架发送邮件1025端口异常

1、BPMN 流程

在这里插入图片描述
MailTask 配置:
在这里插入图片描述

2、测试类

/**
 * 启动流程
 */
@Test
public void repositoryQuery() {
    ProcessDefinition sendMail = repositoryService
            .createProcessDefinitionQuery()
            .processDefinitionKey("Process_0ba7gzl")
            .latestVersion().singleResult();
    runtimeService.startProcessInstanceById(sendMail.getId());
}

/**
 * 部署流程
 */
@Test
public void deployment() {
    Deployment deploy = repositoryService.createDeployment()
            .addClasspathResource("diagram/sendmail.bpmn")
            .addClasspathResource("diagram/sendmail.png")
            .deploy();
}

部署流程无异常,启动流程时出现以下异常:

org.activiti.engine.ActivitiException: Could not send e-mail in execution b544770c-0a17-11ea-9c83-1831bfbd5d2d

	at org.activiti.engine.impl.bpmn.behavior.MailActivityBehavior.handleException(MailActivityBehavior.java:406)
	at org.activiti.engine.impl.bpmn.behavior.MailActivityBehavior.execute(MailActivityBehavior.java:102)
	at org.activiti.engine.impl.agenda.ContinueProcessOperation.executeActivityBehavior(ContinueProcessOperation.java:210)
	at org.activiti.engine.impl.agenda.ContinueProcessOperation.executeSynchronous(ContinueProcessOperation.java:146)
	at org.activiti.engine.impl.agenda.ContinueProcessOperation.continueThroughFlowNode(ContinueProcessOperation.java:101)
	at org.activiti.engine.impl.agenda.ContinueProcessOperation.run(ContinueProcessOperation.java:66)
	at org.activiti.engine.impl.interceptor.CommandInvoker.executeOperation(CommandInvoker.java:73)
	
__________________________________________________ 省略部分异常信息 ______________________________________________________
......
__________________________________________________ 省略部分异常信息 ______________________________________________________
	
	at org.activiti.engine.impl.bpmn.behavior.MailActivityBehavior.execute(MailActivityBehavior.java:97)
	... 80 more
Caused by: com.sun.mail.util.MailConnectException: Couldn't connect to host, port: localhost, 1025; timeout 60000;
  nested exception is:
	java.net.ConnectException: Connection refused: connect
	at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2118)
	at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:712)
	at javax.mail.Service.connect(Service.java:366)
	at javax.mail.Service.connect(Service.java:246)
	at javax.mail.Service.connect(Service.java:195)
	at javax.mail.Transport.send0(Transport.java:254)
	at javax.mail.Transport.send(Transport.java:124)
	at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1459)
	... 82 more
Caused by: java.net.ConnectException: Connection refused: connect
	at java.base/java.net.PlainSocketImpl.waitForConnect(Native Method)
	at java.base/java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java:107)
	at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:399)
	at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:242)
	at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:224)
	at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:403)
	at java.base/java.net.Socket.connect(Socket.java:591)
	at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:329)
	at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:238)
	at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2084)
	... 89 more

3、解决方法

根据以上错误信息可以看出,MailTask 默认使用的是1025端口,而我们配置的邮箱服务器使用的是25端口,故出现以上异常,通过在 Activiti 配置类中设置端口即可,具体如下:

import org.activiti.spring.SpringProcessEngineConfiguration;
import org.activiti.spring.boot.ProcessEngineConfigurationConfigurer;
import org.springframework.context.annotation.Configuration;

@Configuration
public class ActivitiConfig implements ProcessEngineConfigurationConfigurer {
    @Override
    public void configure(SpringProcessEngineConfiguration springProcessEngineConfiguration) {
        //springProcessEngineConfiguration.setMailServerPort(25);
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值