"no provider for smtp" 应该是没有提供实现者的错误。javamail主要是一个框架,提供通用的操作email的api接口。其他的实现由各厂商提供,当然sun自己也造了一个,附带在javamail中。你在windows下面应该用的是那个从sun下的javamail开发包中带的sun的provider实现吧。我想问题应该出在你在linux下面可能没有弄对配置吧。如果你是直接把class文件copy到linux下面就可能出问题了,检查一下javamail在linux下面的配置吧。在下也是猪头,一起讨论吧,哈哈。