EKP后端/邮件通知相关 - 错误邮箱地址导致系统群发邮件时发生错误

1、EKP群发邮件时,若某个邮箱地址不存在或无法接收邮件时会导致发送失败,只是因为EKP在某项配置上采用的是"全发"或"全不发"的策略。

2、解决方案:修改KmssMailSenderImpl并覆盖原jar包内该类

路径下com.landray.kmss.sys.notify.service.spring 建java类KmssMailSenderImpl

把原jar包内该类代码反编译后复制到新建类,并再init方法中增加以下代码:

javaMailProperties.setProperty("mail.smtp.sendpartial", "true");

修改后的init方法:

private void init(Map<String, String> setting) throws Exception {
		if (setting == null) {
			setting = new SysNotifyMailSetting().getDataMap();
		}
		String host = setting.get("kmss.notify.mailHost");
		String port = null;
		if (StringUtil.isNotNull(host)) {
			if (host.contains(":")) {
				String[] newhost = host.split(":");
				this.setHost(newhost[0]);
				this.setPort(Integer.parseInt(newhost[1]));
				port = newhost[1];
			} else {
				this.setHost(host);
			}
		}
		String username = setting.get("kmss.notify.mailUsername");
		if (StringUtil.isNotNull(username)) {
			this.setUsername(username);
		}
		String password = setting.get("kmss.notify.mailPassword");
		if (StringUtil.isNotNull(password)) {
			this.setPassword(password);
		}
		
		String defaultEncoding = setting
				.get("kmss.notify.mailDefaultEncoding");
		if (StringUtil.isNotNull(defaultEncoding)) {
			this.setDefaultEncoding(defaultEncoding);
		}
		String mailSmtpAuth = setting.get("kmss.notify.mailSmtpAuth");
		Properties javaMailProperties = new Properties();
		if (StringUtil.isNotNull(mailSmtpAuth)) {
			javaMailProperties.setProperty("mail.smtp.auth", mailSmtpAuth);
		}
		String defaultTimeout = setting.get("kmss.notify.mailTimeout");
		if (StringUtil.isNotNull(defaultTimeout)) {
			javaMailProperties.setProperty("mail.smtp.timeout", defaultTimeout);
		} else {
			javaMailProperties.setProperty("mail.smtp.timeout", "30000");
		}
		
		String agreement = setting.get("kmss.notify.mailHost.agreement");
		if (StringUtil.isNotNull(agreement)) {
			// 忽略无效邮箱 
			javaMailProperties.setProperty("mail.smtp.sendpartial", "true");
			javaMailProperties.setProperty("mail.smtp.socketFactory.port", port);
		}

		this.setJavaMailProperties(javaMailProperties);
		isInited = true;
	}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Liquid-Li

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值