Java通过exchange协议发送邮件

网友投稿 553 2022-12-14


Java通过exchange协议发送邮件

本文实例为大家分享了java通过exchange协议发送邮件的具体代码,供大家参考,具体内容如下

pom.xml 导入包

com.microsoft.ews-java-api

ews-java-api

2.0

application.properties 配置信息

#邮箱地址

youjia.exchange.mail.username=123@abc.com

#邮箱密码

youjia.exchange.mail.password=123456

#邮箱exchange服务地址,如果不知道找运维

youjia.exchange.mail.host=https://*****/ews/exchange.asmx

代码

package com.youjia.found.manager;

import com.youjia.found.common.util.Check;

import microsoft.exchange.webserhttp://vices.data.core.ExchangeService;

import microsoft.exchange.webservices.data.core.enumeration.misc.ExchangeVersion;

import microsoft.exchange.webservices.data.core.enumeration.property.BodyType;

import microsoft.exchange.webservices.data.core.service.item.EmailMessage;

import microsoft.exchange.webservices.data.credential.ExchangeCredentials;

import microsoft.exchange.webservices.data.credential.WebCredentials;

import microsoft.exchange.webservices.data.property.complex.MessageBody;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import org.springframework.beans.factory.annotation.Value;

import org.springframework.stereotype.Component;

import javax.mail.internet.InternetAddress;

import java.net.URI;

/**

*

exchange邮件处理类

*

* @author eric

* @date 2020/2/6 11:08 AM

* @since

*/

@Component

public class MailExchangeManager {

private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Value("${youjia.exchange.mail.username}")

private String username ;

@Value("${youjia.exchange.maiBNVZAaqAl.password}")

private String password;

@Value("${youjia.exchange.mail.host}")

private String host ;

/**

* 使用Exchange协议发送

* @param to 收件人

* @param subject 邮件主题

* @param content 正文

* @param filePath 附件

*

* @throws Exception

*/

public boolean sendMail(String to, String subject, String content, String filePath) {

logger.info("exchange邮件发送 to:{}, subject:{}, content:{},filePath:{}", to, subject, content,filePath);

boolean isOK=false;

ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);

ExchangeCredentials credentials = new WebCredentials(username,password);

service.setCredentials(credentials);

try {

service.setUrl(new URI(host));

EmailMessage msg = new EmailMessage(service);

msg.setSubject(subject);

MessageBody body = MessageBody.getMessageBodyFromText(content);

body.setBodyType(BodyType.HTML);

msg.setBody(body);

//支持多个收件人

InternetAddress[] addresses = InternetAddress.parse(to);

for (InternetAddress address : addresses) {

msg.getToRecipients().add(address.getAddress());

}

if (Check.notEmpty(filePath)) {

msg.getAttachments().addFileAttachment(filePath);

}

msg.send();

isOK=true;

} catch (Exception e) {

logger.error(e.getMessage(),e);

isOK= false;

}

return isOK;

}

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Spring Boot中的Properties的使用详解
下一篇:Java多线程的临界资源问题解决方案
相关文章

 发表评论

暂时没有评论,来抢沙发吧~