WSO2 EI 6.5.0使用Email Connector V1.0.2发邮件报错:找不到send模板
解决WSO2 EI 6.5.0中Email Connector V1.0.2模板找不到的问题
针对你遇到的InvokeMediator Sequence template org.wso2.carbon.connector.email.send cannot be found错误,按以下步骤排查和修复:
1. 确认Email Connector部署状态
- 检查EI安装目录下
repository/deployment/server/carbonapps文件夹,确认存在emailconnector-1.0.2.car文件 - 查看
wso2carbon.log日志,搜索是否有EmailConnectorMediator activated successfully的成功日志,或者连接器部署失败的报错信息 - 登录EI管理控制台(默认地址
https://localhost:9443/carbon),进入Connectors页面,确认Email Connector显示为Active状态
2. 验证Sequence Template是否存在
- 在管理控制台中,进入Main > Sequence Templates,搜索
org.wso2.carbon.connector.email.send,确认该模板已加载 - 如果模板不存在,重新部署连接器:
- 删除
repository/deployment/server/carbonapps下所有emailconnector相关文件 - 下载对应版本的Email Connector V1.0.2,上传到管理控制台的Connectors页面完成部署
- 重启EI服务器,再次检查模板是否出现
- 删除
3. 检查API中Invoke Mediator的语法
确保API内调用模板的语句完全正确,无拼写错误:
<invoke template="org.wso2.carbon.connector.email.send"> <property name="email.host" value="smtp.gmail.com"/> <property name="email.port" value="587"/> <property name="email.username" value="your-account@gmail.com"/> <property name="email.password" value="your-app-password"/> <property name="email.enableStarttls" value="true"/> <property name="email.auth" value="true"/> <!-- 其他邮件属性:收件人、主题、内容等 --> </invoke>
注意模板名称完全匹配,WSO2的Sequence Template名称区分大小写。
4. 校验LocalEntry配置
如果使用LocalEntry存储邮件初始化配置,确认配置内容和引用方式正确:
- LocalEntry示例:
<localEntry key="EmailInitConfig"> <email.init> <host>smtp.gmail.com</host> <port>587</port> <username>your-account@gmail.com</username> <password>your-app-password</password> <enableStarttls>true</enableStarttls> <auth>true</auth> </email.init> </localEntry>
- Invoke Mediator引用LocalEntry的语句:
<invoke template="org.wso2.carbon.connector.email.send" key="EmailInitConfig"/>
5. 清理缓存并重启服务器
- 删除EI安装目录下
repository/tmp和repository/work文件夹中的所有内容 - 重启EI服务器,强制系统重新加载所有部署组件和模板
6. 确认版本兼容性
检查Email Connector V1.0.2与WSO2 EI 6.5.0的兼容性。如果版本不匹配,尝试更换为EI 6.5.0官方推荐的Email Connector版本(部分老版本EI对新连接器兼容性较差)
7. 再次确认Gmail配置
- 确保账号已开启两步验证,并使用生成的App Password(普通密码已不支持Gmail SMTP)
- SMTP端口使用587(配合
enableStarttls=true)或465(配合enableSsl=true)
内容的提问来源于stack exchange,提问作者Justin
相关产品推荐
相关产品推荐

