Alfresco Community 5.2启动工作流时SMTP 553发送失败问题求助
从你提供的错误日志和配置来看,问题的核心非常明确:你的SMTP服务器要求发件人地址必须与认证的用户名所属邮箱一致,但当前配置里的发件地址和认证用户不匹配,导致被服务器拒绝。
错误日志关键信息分析
2020-06-19 13:24:28,223 ERROR [action.executer.MailActionExecuter] [mailAsyncAction7] Failed to send email to [user] : org.springframework.mail.MailSendException: Failed messages: javax.mail.SendFailedException: Invalid Addresses; nested exception is: com.sun.mail.smtp.SMTPAddressFailedException: 553 5.7.1 user@company.com: Sender address rejected: not owned by user username
这里的553 5.7.1错误直接说明:你使用认证用户username发送邮件,但实际使用的发件地址(结合你的配置应该是alfresco@company.com)并不属于这个认证用户,因此被SMTP服务器拦截。
配置问题定位
你的alfresco-global.properties配置中存在明显的不匹配:
mail.username=username mail.from.default=alfresco@company.com
SMTP服务器在验证时,会检查认证用户是否有权限使用指定的发件地址,而当前配置里的mail.from.default和mail.username对应的邮箱不一致,触发了服务器的地址所有权校验。
可行解决方案
你有两种途径解决这个问题:
调整发件人地址与认证用户匹配
修改mail.from.default为认证用户username对应的真实邮箱地址,比如如果username的官方邮箱是username@company.com,就更新配置:mail.from.default=username@company.com保存配置后重启Alfresco服务,再测试工作流的邮件发送功能。
申请SMTP服务器的发件人别名权限
如果业务上必须使用alfresco@company.com作为统一发件人,需要联系你的邮件服务器管理员,为认证用户username配置发件人别名权限,允许该用户使用alfresco@company.com作为发件地址发送邮件。
额外检查点
还要确认配置中是否存在mail.smtp.from参数——这个参数的优先级高于mail.from.default,如果它的值和认证用户邮箱不匹配,也会导致同样的问题,需要同步修改或直接移除该参数(如果不需要自定义全局发件人)。
内容的提问来源于stack exchange,提问作者Lee Merlas

