Java邮件发送的简单实现

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lucia_fanchen/article/details/50396877

java邮件发送:利用现有的邮件账户发送邮件,比如说,我在网易注册一个邮箱账户,通过JAVA操控,我可以不亲自登录网易邮箱,让程序自动的使用网易邮箱发送邮件。这一机制被广泛的用在注册激活和垃圾邮件的发送等方面。

实现:
1.JavaMail
可以到http://www.oracle.com/technetwork/java/javamail/index-138643.html进行下载,并将mail.jar添加到classpath即可。但是其操作过程十分繁琐,笔者搞了好长时间才还没弄好.

2.Apache Commons Email

简介:
Commons Email封装了javamail,使用非常简单。
功能:简单文本邮件、带附件的邮件、HTML格式的邮件
官方首页:http://commons.apache.org/email/
官方示例:http://commons.apache.org/email/userguide.html

使用前需引入3个jar文件:commons-email-1.1.jar、javamail.jar、activation.jar
或者使用maven在pom.xml加入:

        <dependency>
           <groupId>javax.mail</groupId>
            <artifactId>mail</artifactId>
            <version>1.4.1</version>
        </dependency>

        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-email</artifactId>
            <version>1.3.2</version>
        </dependency>

示例:

Email email = new Email();
email.setHostName("smtp.qq.com");
email.setSmtpPort(465);
email.setAuthentication("1776898728@qq.com","mraaxppugeeyhheb");//邮件服务器验证:用户名/密码
email.setSSLOnConnect(true);
email.setCharset("UTF-8");// 必须放在前面,否则乱码
try {
     email.setFrom("1776898728@qq.com", "1776898728");
     email.setSubject("subject中文");
     email.setMsg("msg中文");
     email.addTo("1234567@qq.com");
     email.send();
 } catch (EmailException e) {
     e.printStackTrace();
 }

说明:
1.email.setAuthentication(“1776898728@qq.com”,”mraaxppugeeyhheb”);这里的密码是授权密码!!!
在邮箱的设置->账户栏里先开启stmp服务,在设置密码
这里写图片描述

2.哪出错了就找官网!!!!笔者之前看的博客,一直错,到官网一查,一目了然=_=

阅读更多

没有更多推荐了,返回首页