大学IT网 - 最懂大学生的IT学习网站! QQ资料交流群:367606806
当前位置:大学IT网 > Java技巧 > JavaMail最基本的发送邮件例子

JavaMail最基本的发送邮件例子

关键词:JavaMail邮件JavaMail最基本的发送邮件  阅读(671) 赞(15)

[摘要]本文主要是对JavaMail最基本的发送邮件例子的讲解,希望对大家学习JavaMail最基本的发送邮件例子有所帮助。

  首先需要导入jar包,mail-1.4.2.jar,然后给出最简单的java mail发送邮件的代码,SimpleSendMailDemo.java

  SimpleSendMailDemo.java

  package com.steven.mail;

  import java.util.Properties;

  import javax.mail.Address;

  import javax.mail.Authenticator;

  import javax.mail.Message;

  import javax.mail.PasswordAuthentication;

  import javax.mail.Session;

  import javax.mail.Transport;

  import javax.mail.internet.InternetAddress;

  import javax.mail.internet.MimeMessage;

  /**

  * 最基本的邮件发送代码

  *

  * @author Steven

  *

  */

  public class SimpleSendMailDemo {

  public static void main(String[] args) throws Exception {

  // 创建邮件的发送过程中用到的主机和端口号的属性文件

  Properties pro = new Properties();

  // 设置邮件发送方的主机地址如果是163邮箱,则为smtp.163.com

  pro.put("mail.smtp.host", "smtp.qq.com");

  // 设置发送邮件端口号

  pro.put("mail.smtp.port", "25");

  // 设置邮件发送需要认证

  pro.put("mail.smtp.auth", "true");

  // 创建邮件验证信息,即发送邮件的用户名和密码

  Authenticator authenticator = new Authenticator() {

  @Override

  protected PasswordAuthentication getPasswordAuthentication() {

  // 重写验证方法,填写用户名,密码

  return new PasswordAuthentication("songdeitao@qq.com", "123");

  }

  };

  // 根据邮件会话 构建一个邮件的session

  Session sendMailSession = Session

  .getDefaultInstance(pro, authenticator);

  // 创建一个邮件消息

  Message message = new MimeMessage(sendMailSession);

  // 创建邮件发送者地址

  Address sourceAddress = new InternetAddress("songdeitao@qq.com");

  // 将原地址设置到消息的信息中

  message.setFrom(sourceAddress);

  // 创建邮件的接收者地址

  Address destAddress = new InternetAddress("songdeitao@163.com");

  // 将接收者的地址设置到消息的信息中

  message.setRecipient(Message.RecipientType.TO, destAddress);

  // 设置邮件的主题

  message.setSubject("Merry Christmas!");

  // 设置邮件的发送内容

  message.setText("你好,圣诞节快乐!");

  // 可以设置邮件的发送时间(就是对方看邮件发送的时间)

  // String sendDate = "2013-12-23 17:55:00";

  // Date date = new

  // SimpleDateFormat("yyyy-MM-dd hh:mm:ss")。parse(sendDate);

  // message.setSentDate(date);

  // 发送邮件

  Transport.send(message);

  }

  }

  这个例子是完全没有封装后的源代码,如果进行封装的话,可以考虑将发送的邮箱信息封装成一个邮件信息的类,然后验证可以通过一个类继承Authenticator然后复写方法getPasswordAuthentication(),接着发送的主要业务逻辑可以封装成一个类,这样在使用的时候,就可以通过创建邮件信息,进行验证,通过主要的业务逻辑调用发送邮件。

  然后发送的最终效果如下图1所示:

  图1

  具体的实现封装的代码我将会放到资源中,有需要的话可以进行下载。



相关评论