软件编程
位置:首页>> 软件编程>> java编程>> Java通过exchange协议发送邮件

Java通过exchange协议发送邮件

作者:tomato先生  发布时间:2022-10-05 01:46:10 

标签:java,exchange,发送邮件

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

pom.xml 导入包


<dependency>
 <groupId>com.microsoft.ews-java-api</groupId>
 <artifactId>ews-java-api</artifactId>
 <version>2.0</version>
</dependency>

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.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.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;

/**
* <P>exchange邮件处理类</P>
*
* @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.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.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;
}

}

来源:https://blog.csdn.net/tomatoxman/article/details/104249121?utm_source=distribute.pc_feed.none-task

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com