JAVA邮件发送的简单实现
2016-05-05 12:14
288 查看
控,我可以不亲自登录网易邮箱,让程序自动的使用网易邮箱发送邮件。这一机制被广泛的用在注册激活和垃
圾邮件的发送等方面。
JavaMail可以到http://www.oracle.com/technetwork/java/javamail/index-138643.html进行下载,并将
mail.jar添加到classpath即可。如果你使用的是JAVA EE SDK,则可以在
C:\glassfishv3\glassfish\modules\mail.jar找到所需的jar包,同样需要添加的classpath。
JAVA邮件发送的大致过程是这样的的:
1、构建一个继承自javax.mail.Authenticator的具体类,并重写里面的getPasswordAuthentication()方
法。此类是用作登录校验的,以确保你对该邮箱有发送邮件的权利。
2、构建一个properties文件,该文件中存放SMTP服务器地址等参数。
3、通过构建的properties文件和javax.mail.Authenticator具体类来创建一个javax.mail.Session。
Session的创建,就相当于登录邮箱一样。剩下的自然就是新建邮件
4、构建邮件内容,一般是javax.mail.internet.MimeMessage对象,并指定发送人,收信人,主题,内容等
等。
5、使用javax.mail.Transport工具类发送邮件。
下面是我封装的代码,注释也比较详细。呼呼~~
1、首先是继承自javax.mail.Authenticator的一个具体类。getPasswordAuthentication()方法也就是构建
一个PasswordAuthentication对象并返回,有点费解JAVA Mail这样的设计意图,可能是
javax.mail.Authenticator为我们提供了附加的保证安全的验证措施吧。
2、邮件发送类,剩下的步骤都是在这个类实现的。代码中的SimpleMail是封装了
邮件主题和内容的一个POJO。觉得在一个方法参数中既包含主题又包含内容,不太
合适,故重载了此方法。还有就是因为大多数邮箱的SMTP服务器地址都是可以通过
邮箱地址算出来,简单起见,提供了一个不需要SMTP服务器地址的构造器。
用户名,密码都会变得十分方便。下面的代码是我在写观察者模式的时候写的,只是简单演示了工厂类。
4、发送邮件,还是观察者模式DEMO里面的代码,呼呼。
相关文章推荐
- 《java入门第一季》之面向对象(继承)
- java 中== equal hashcode()什么的之间的关系
- 利用java制作一个小的目录查询器
- 【深入理解JVM】:Java对象的创建、内存布局、访问定位
- 跟开涛学SpringMVC(5):处理器拦截器详解
- 跟开涛学SpringMVC(4.7):Controller接口控制器详解(7)
- eclipse配置作者和时间
- Java NIO使用及原理分析 (四)
- Android Studio打开Eclipse项目
- Java NIO使用及原理分析(三)
- 跟开涛学SpringMVC(4.6):Controller接口控制器详解(6)
- Java NIO使用及原理分析(二)
- 跟开涛学SpringMVC(4.5):Controller接口控制器详解(5)
- Java NIO使用及原理分析 (一)
- 跟开涛学SpringMVC(4.4):Controller接口控制器详解(4)
- java模式之-模板方法模式
- 跟开涛学SpringMVC(4.3):Controller接口控制器详解(3)
- Java内部类的实现原理与可能的内存泄漏
- 跟开涛学SpringMVC(4.2):Controller接口控制器详解(2)
- Unitils集成DBUnit、Spring-单元测试