Chinaunix首页 | 论坛 | 博客
  • 博客访问: 28134
  • 博文数量: 1
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 20
  • 用 户 组: 普通用户
  • 注册时间: 2014-04-16 15:10
文章分类

全部博文(1)

文章存档

2015年(1)

我的朋友

分类: Java

2015-12-13 19:26:40

大家好!欢迎来到我的博客,希望能给您提供到帮助!!!
      自从学习了Java开发,学习过程中会使用到很多别人写好的小工具,比如JDBC的连接,发送邮件,使用验证码等等,这些东西我们都可以自己整理好,用的时候直接使用就好了,因此,从今天开始,我将会整理出自己使用的一些Java开发中常用的小工具,和大家共同分享!
今天,我就先整理一下如何使用Java发送Email,并且会附上自己的完整的代码和注释,以便大家看的更清楚(可能不是最优化的代码,还望大牛能给出更好的建议)。
---------------------------------------------------------------------------------------------------------------------------------
Java发送邮件(一)
项目实现的功能:实现一对一的发送邮件,即收件人只能是一个人,不能添加附件(多收件人,抄送,暗送,添加附件将会在后续Java发送邮件(二)里面进行详解);
项目所需的jar包:mail.jar;
开发步骤:
            1.新建一个Java Project,如:javaMail
            2.导入项目中所需的jar包,即mail.jar
            3.新建一个类:JavaMail
源代码如下:
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.MessagingException;
import javax.mail.NoSuchProviderException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.Message.RecipientType;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

/**
 * Java发送邮件一
 * 功能:发送文本内容
 * @author Administrator
 *
 */
public class JavaMailDemo1 {

/**
* 1.创建Session对象
*/
public static Session createSession(String host,final String username,final String password){

Properties prop = new Properties();
prop.setProperty("mail.smtp.host", host); //指定主机名
prop.setProperty("mail.smtp.auth", "true"); //使用安全验证
prop.setProperty("mail.smtp.starttls.enable", "true"); //使用 STARTTLS安全连接

//创建验证器
Authenticator auth = new Authenticator(){
public PasswordAuthentication getPasswordAuthentication(){
return new PasswordAuthentication(username,password);    //此处的username和password必须为final类型
}
};

return Session.getInstance(prop,auth);
}

/**
* 2.编写邮件
* @throws MessagingException 
*/
public static MimeMessage writeEmail(Session session,String from,String to,String subject,String content) throws MessagingException{
//发件人地址
InternetAddress fromAddress = new InternetAddress(from);
//收件人地址
InternetAddress toAddress = new InternetAddress(to);
//创建MimeMessage对象
MimeMessage message = new MimeMessage(session);
//设置发件人
message.setFrom(fromAddress);
//设置收件人
message.addRecipient(RecipientType.TO, toAddress);
//设置主题
message.setSubject(subject);
//设置正文内容
message.setContent(content,"text/html;charset=utf-8");

return message;
}

/**
* 3.发送邮件
* @throws MessagingException 
*/
public static void sendEmail(MimeMessage message) throws MessagingException{
Transport.send(message);
}

/**
* 测试
* @param args
*/
public static void main(String[] args) {
Session session = JavaMailDemo1.createSession("smtp.qq.com","用户名", "密码");
MimeMessage message;
try {
message = JavaMailDemo1.writeEmail(session, "发件人邮箱", "收件人邮箱", "Java发送邮件一", "你好,这是邮件正文!");
JavaMailDemo1.sendEmail(message);
System.out.println("邮件发送成功!");
} catch (MessagingException e) {
e.printStackTrace();
System.out.println("邮件发送失败!");
}

}

}

到此,一个简单的发送邮件的过程就完成了,希望对您能有所收获,请继续关注下一期:Java发送邮件二(复杂邮件的发送)!


阅读(2579) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:没有了

给主人留下些什么吧!~~