javaMail,和 commons-email 错误Javax.mail.NoSuchProviderException: smtp

 

/**
 * @company:

 * @author:

 * @createtime: 2011-4-19 上午10:06:31

 * @description:

 * @version:

 */
public class SendEmail {

	public static boolean sendSimpleEmail()throws Exception{
		boolean flag = false ;
		Email email = new SimpleEmail();
		email.setHostName("smtp.gmail.com");
		email.setSmtpPort(587);
		email.setAuthenticator(new DefaultAuthenticator("username", "password"));
		email.setTLS(true);
		email.setFrom("username@gmail.com");
		email.setSubject("TestMail");
		email.setMsg("This is a test mail ... :-)");
		email.addTo("123456@qq.com");
		email.send();
		return flag;
	}
	public static void main(String[] args) {
		try {
			sendSimpleEmail();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

我用的是 commons-email-1.2 

 

邮件发送,报错了 javax.mail.NoSuchProviderException:smtp 网上查了一堆 说 tomcat myeclipse javaee5的包发送了冲突了,

 

解决办法 是 :

1)在oralce下载一个 JavaMail 包 http://www.oracle.com/technetwork/java/javamail/index-138643.html 下载JavaMail 1.4.4 

2)在 找到myeclipse环境中的javaee.jar 包,用winrar或者其他解压缩工具打开,删除mail跟activation包,因为javaee.jar中的mail与javamail冲突。 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`javax.mail.NoSuchProviderException: imap`异常通常是因为JavaMail API找不到IMAP Provider提供者类。这可能是由于以下原因之一: 1. 缺少IMAP Provider依赖项。你需要确保已在你的构建路径中包含了`javax.mail`和`javax.mail.providers`包,以及IMAP Provider的实现类。你可以通过Maven或手动下载JavaMail API来获取这些依赖项。 2. IMAP Provider实现类名称不正确。你需要确保在你的代码中正确地指定了IMAP Provider实现类的名称。例如,如果你使用的是JavaMail API的默认实现类,你应该使用以下代码: ```java Properties props = new Properties(); props.setProperty("mail.store.protocol", "imap"); Session session = Session.getDefaultInstance(props); Store store = session.getStore(); ``` 如果你使用的是其他IMAP Provider实现类,你需要在`props.setProperty("mail.store.protocol", "imap")`语句中指定正确的实现类名称。 3. IMAP Provider实现类未正确注册。你需要在你的代码中明确地注册IMAP Provider实现类。例如,如果你使用的是IMAPStore实现类,你可以使用以下代码: ```java Properties props = new Properties(); props.setProperty("mail.store.protocol", "imap"); Session session = Session.getInstance(props, null); session.setProvider(new com.sun.mail.imap.IMAPProvider()); Store store = session.getStore(); ``` 这将显式地注册IMAPProvider实现类,并解决NoSuchProviderException异常。 希望这些信息能够帮助你解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值