因为weblogic下javamail下的jar包会与weblogic自身提供jar冲突,所以Mail类不要import导包。还有需要确定你当前的jar包是最新版本的jar包,
spring提供jar会与mail.jar冲突,具体可以查看这位兄弟的http://zht1933.iteye.com/blog/807856,提供下载
package com.ats.task.mail;
import java.util.Date;
import java.util.Properties;
/**
* 邮件发送类
* @author jeff
*
*/
public class Mail{
private String host;
private String auth;
private String username;
private String domainUser;
private String password;
private Constant c;
public boolean send(String[] to, String[] cc, String[] bcc, String subject, String content) throws javax.mail.MessagingException {
Properties props = new Properties();
props.put("mail.smtp.host", host);
props.put("mail.smtp.auth", auth);
javax.mail.Session s = javax.mail.Session.getInstance(props);
// s.setDebug(true);
javax.mail.internet.MimeMessage message = new javax.mail.internet.MimeMessage(s);
javax.mail.internet.InternetAddress from = new javax.mail.internet.InternetAddress(username);
message.setFrom(from);
javax.mail.internet.InternetAddress[] Toaddress = new javax.mail.internet.InternetAddress[to.length];
for (int i = 0; i < to.length; i++)
Toaddress[i] = new javax.mail.internet.InternetAddress(to[i]);
message.setRecipients(javax.mail.Message.RecipientType.TO, Toaddress);
if (cc != null) {
javax.mail.internet.InternetAddress[] Ccaddress = new javax.mail.internet.InternetAddress[cc.length];
for (int i = 0; i < cc.length; i++)
Ccaddress[i] = new javax.mail.internet.InternetAddress(cc[i]);
message.setRecipients(javax.mail.Message.RecipientType.CC, Ccaddress);
}
if (bcc != null) {
javax.mail.internet.InternetAddress[] Bccaddress = new javax.mail.internet.InternetAddress[bcc.length];
for (int i = 0; i < bcc.length; i++)
Bccaddress[i] = new javax.mail.internet.InternetAddress(bcc[i]);
message.setRecipients(javax.mail.Message.RecipientType.BCC, Bccaddress);
}
sun.misc.BASE64Encoder enc = new sun.misc.BASE64Encoder();
message.setSentDate(new Date());
javax.mail.BodyPart mdp = new javax.mail.internet.MimeBodyPart();
mdp.setHeader("Content-Transfer-Encoding","base64");
mdp.setContent(content, "text/plain;charset=GBK");
javax.mail.Multipart mm = new javax.mail.internet.MimeMultipart();
mm.addBodyPart(mdp);
message.setContent(mm);
message.setSubject(subject);
message.saveChanges();
javax.mail.Transport transport = s.getTransport("smtp");
transport.connect(host, (null == domainUser) ? username : domainUser, password);
transport.sendMessage(message, message.getAllRecipients());
transport.close();
return true;
}
/*构造读取配置文件*/
public Mail() {
super();
c = c.getInstance();
this.host = c.getMailServer();
this.auth = "true";
this.domainUser =c.getMailCount();
this.username = c.getMailAddress();
this.password = c.getMailPassword();
}
}
邮件相关配置类:
package com.ats.task.mail;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Properties;
/**
*
* @author jeff
* 完成邮箱相关配置
*/
public class Constant {
private static Constant instance = null;
public static synchronized Constant getInstance() {
if(instance==null){
instance = new Constant();
}
return instance;
}
private String mailAddress;//邮箱地址
private String mailCount; //邮箱用户名
private String mailPassword;//邮箱密码
private String mailServer; //邮箱smtp服务器
/**
*单态构造,读取文件邮箱配置信息
*/
private Constant(){
init();
}
private void init(){
Properties p = new Properties();
try {
p.load(Constant.class.getResourceAsStream("/email.properties"));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
mailAddress = p.getProperty("mailAddress");
mailCount = p.getProperty("mailCount");
mailPassword = p.getProperty("mailPassword");
mailServer = p.getProperty("mailServer");
}
public String getMailAddress() {
return mailAddress;
}
public void setMailAddress(String mailAddress) {
this.mailAddress = mailAddress;
}
public String getMailCount() {
return mailCount;
}
public void setMailCount(String mailCount) {
this.mailCount = mailCount;
}
public String getMailPassword() {
return mailPassword;
}
public void setMailPassword(String mailPassword) {
this.mailPassword = mailPassword;
}
public String getMailServer() {
return mailServer;
}
public void setMailServer(String mailServer) {
this.mailServer = mailServer;
}
/*
* 测试
*/
public static void main(String[] args) {
Constant c = Constant.getInstance();
System.out.println(c.getMailAddress());
}
}
配置文件为email.properties,具体配置如下:
mailAddress=发送邮箱名
mailCount=sino-life\\ATS (用户名,这里要注意,Exchage邮箱用户名需要 域//用户名)
mailPassword=密码
mailServer=SMTP地址,建议直接使用smtp IP地址,不要用域名,否则linx下会找不到smtp地址
分享到:
相关推荐
在使用JavaMail进行邮件发送的过程中,可能会遇到以下几种常见问题:发送成功但收件方未收到邮件、邮件收到后无主题或无收件人信息以及邮件内容出现乱码等情况。本文将详细探讨这些问题的原因及相应的解决方案。 ##...
用javaMail实现公司内网邮箱邮件发送,包括邮件附件,邮件发送人和抄送人
微软官方提供的EWSJavaAPI_1.2.jar包是专门为Java开发者设计的,用于与Exchange服务器进行通讯,支持包括发送邮件、接收邮件在内的各种操作。 发送邮件的过程通常包括以下几个步骤: 1. 添加依赖:在项目中引入...
JavaMail API,作为Java平台上的邮件处理标准库,为开发人员提供了一个强大且灵活的工具集,用于发送、接收和管理电子邮件。本文将深入探讨Java邮件发送的关键概念,包括SMTP(Simple Mail Transfer Protocol)、...
JavaMail 是一个强大的开源库,用于在Java应用程序中发送和接收电子邮件。这个压缩包"邮件发送javamail所需jar包.rar"包含了实现JavaMail功能所需的依赖库,它们是开发人员在构建邮件系统时必不可少的组件。 ...
这个类称为 MailInfo,包含了邮件的各种信息,例如邮件服务器的主机名和端口号、邮件发送者的地址、邮件接收者的地址、邮件主题、邮件内容、邮件附件等。 在 MailInfo 类中,我们定义了多个成员变量,用于存储邮件...
在尝试使用JavaMail发送邮件时,如果邮件服务器要求使用SSL(Secure Socket Layer)或TLS(Transport Layer Security)协议来确保通信安全,开发者可能会遇到一些挑战。本文将深入探讨如何解决这一问题,主要基于...
JavaMail是一种在Java环境中发送和接收电子邮件的标准API,它提供了丰富的功能来处理复杂的邮件操作。在Struts2框架中集成JavaMail服务,可以方便地在Web应用中实现邮件的发送功能。下面我们将深入探讨JavaMail的...
除了基本的邮件发送,JavaMail还提供了许多高级功能,比如SASL认证、SSL/TLS加密、邮件存储、POP3/IMAP接收邮件、以及对MIME标准的全面支持,使得开发者能够构建功能丰富的邮件应用。因此,JavaMail是Java开发者在...
在Java编程领域,JavaMail API是一个非常重要的工具,它允许开发者通过编程方式发送电子邮件。"常规JavaMail 邮件发送实用类"标题所指的,通常是一个自定义的Java类,封装了JavaMail API的基本操作,使得邮件发送变...
第90行,setSubject("")
在给定的"邮件发送,支持exchange类型 jar包"主题中,我们可以深入探讨如何使用Java进行邮件发送,特别是针对Exchange服务器。 首先,`SendMail.java`这个文件名暗示了一个Java类,该类可能是用来实现邮件发送功能...
JavaMail是一种广泛使用的Java库,用于在应用程序中发送电子邮件。这个标题"JavaMail发送邮件(文本、html、附件)"涵盖了使用JavaMail API发送不同格式邮件的核心功能。下面将详细介绍如何利用JavaMail发送文本、...
JavaMail是一种在Java应用程序中发送和接收电子邮件的标准API,它为开发者提供了强大的功能,使得处理邮件变得简单而高效。在JavaMail中,我们主要利用 javax.mail 和 javax.mail.internet 这两个包中的类来实现邮件...
邮件发送javamail
JavaMail是一种开源的Java库,它允许开发人员在Java应用程序中发送和接收电子邮件。IMAP(Internet Message Access Protocol)是一种标准的邮件访问协议,用于从邮件服务器检索邮件。Exchange 2007是微软的企业级...
在Java编程环境中,发送Exchange邮件通常涉及到使用Exchange Web Services (EWS) API或者JavaMail API。EWS是一种基于SOAP协议的API,它允许程序与Microsoft Exchange Server进行交互,包括发送邮件、管理日历、获取...
以上就是使用JavaMail API通过Gmail发送邮件的基本过程,无论是无附件还是有附件,主要区别在于是否创建和添加`MimeBodyPart`以及`MimeMultipart`。通过理解和应用这些概念,你可以灵活地构建满足需求的邮件系统。
JavaMail邮件发送工具类是Java开发中用于发送电子邮件的标准库,它提供了丰富的API来处理复杂的邮件功能。在JavaMail中,我们可以通过创建特定的类和对象来实现邮件的发送。以下将详细介绍这些类以及如何使用它们。 ...
对于邮件接收,JavaMail API同样提供了`Store`接口,可以连接到邮件服务器(如James)的邮箱,获取和处理新邮件。这通常涉及以下步骤: 1. **配置邮件存储**:与发送邮件类似,我们需要创建一个`Properties`对象,...