Java Exchange企业邮件服务器 发Email
- 下载EWS Java 相应的jar包
- 创建Java项目,并导入相应的jar包
- 以下是Email发送函数
- 函数中涉及一个MailsenderIfo类,此类为邮件的基本信息类
- 函数中涉及一个MailInfoGetFromProp类,此类为从磁盘中的Java配置文件中读取出邮件的基本信息。java配置文件的路径为java运行环境下的当前路径+properties.txt(配置文件名)。
- 配置文件properties.txt,保存邮件的基本信息,可供用户根据相应的需求更改发送邮件的信息。外部接口。
- java读取磁盘文件函数
- 主函数
- 只要工程和相应的包都引入了就能正常的发邮件
/*邮件发送函数*/
package BugFreeMailServer;
import java.io.File;
import microsoft.exchange.webservices.data.EmailMessage;
import microsoft.exchange.webservices.data.ExchangeCredentials;
import microsoft.exchange.webservices.data.ExchangeService;
import microsoft.exchange.webservices.data.ExchangeVersion;
import microsoft.exchange.webservices.data.MessageBody;
import microsoft.exchange.webservices.data.WebCredentials;
public class SendMail {
public static int sendEmail_1( MailSenderIfo mailInfo) throws Exception {
int sendReslt = 0;//发送结果标记位1为成功,0为失败
// 实例化ExchageService
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
// 指定用户名,密码,和域名
ExchangeCredentials credentials = new WebCredentials(mailInfo.getUserName(),mailInfo.getUserPasswd(),mailInfo.getDomain());
//进行认证
service.setCredentials(credentials);
//设置Exchange连接的服务器地址
//service.setUrl(new URI("SGHXCH09.cn.int.tgr.net"));
//设置Exchange连接服务器地址,根据邮箱地址自动识别服务器地址
service.autodiscoverUrl(mailInfo.getMailServerHost());
//创建Email对象
EmailMessage msg= new EmailMessage(service);
//添加Email信息
//主题
msg.setSubject(mailInfo.getmSubject());
//收件人
msg.getToRecipients().add(mailInfo.getmTo());
//加载抄送人,先判断是否有抄送人,然后根据抄送人信息中的;分号来判断抄送人的个数,并加载到邮件抄送人中
if (mailInfo.getmCC().equals(""))
{
System.out.println("没有抄送者"); //没有抄送人
}else{
String[] temp = mailInfo.getmCC().split(";"); //分号隔离每个抄送人
for (int i = 0; i < temp.length; i++)
{
msg.getCcRecipients().add(temp[i]); //抄送人
}
}
//从文件中读取出文件的信息,并作为邮件的内容显示在邮件内容中,
if (mailInfo.getmTxtPath().equals("")){
if(mailInfo.getmBody().equals("")){
System.out.println("没有y邮件内容");
}else{
msg.setBody(MessageBody.getMessageBodyFromText(mailInfo.getmBody())); //内容
}
}else{
File file = new File(mailInfo.getmTxtPath());
msg.setBody(MessageBody.getMessageBodyFromText(TxtToString.txtToString(file,mailInfo.getmBody()))); //内容
}
//加载邮件的附件 , 先判断附件地址是否存在,存在就加载到邮件附件中
if (mailInfo.getmUrl().equals("")){
System.out.println("没有附件");
}else{
msg.getAttachments().addFileAttachment(mailInfo.getmUrl()); //附件
System.out.println("有附件");
}
try {
msg.send(); //发送
sendReslt = 1; //发送成功标志置1
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("不能找到附件目录,或者邮件发送失败");
}
return sendReslt;
}
}
“`
