1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > java exchange发邮件_Java通过exchange协议发送邮件

java exchange发邮件_Java通过exchange协议发送邮件

时间:2021-11-16 17:32:46

相关推荐

java exchange发邮件_Java通过exchange协议发送邮件

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

pom.xml 导入包

com.microsoft.ews-java-api

ews-java-api

2.0

application.properties 配置信息

#邮箱地址

youjia.exchange.mail.username=123@

#邮箱密码

youjia.exchange.mail.password=123456

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

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

代码

package com.youjia.found.manager;

import com.mon.util.Check;

import microsoft.exchange.webservices.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.plex.MessageBody;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

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

import org.ponent;

import javax.mail.internet.InternetAddress;

import .URI;

/**

*

exchange邮件处理类

*

* @author eric

* @date /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.mail.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.Exchange_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;

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。