zoukankan      html  css  js  c++  java
  • 通过HtmlEmail 发送邮件

    今天第一次来上海市虹口图书馆上自习,感觉还是很爽的。自己撸代码学会了发送邮件。啥都不说了,直接撸代码吧!

      首先 必须引进来三个jar包:

    compile 'javax.mail:mail:1.4.7'
    compile 'org.apache.commons:commons-email:1.3.2'
    compile 'javax.activation:activation:1.1'
    这是我gradle配置文件的配制方法。

    1.Mail对象  里面包含发送邮件的信息

    import java.io.Serializable;
    
    /**
     * Mail属性实体
     *
     * @author shadow
     *
     */
    @SuppressWarnings("serial")
    public class Mail implements Serializable {
    
      public static final String ENCODEING = "UTF-8";
    
      private String host; // 服务器地址
    
      private String sender; // 发件人的邮箱
    
      private String receiver; // 收件人的邮箱
    
      private String name; // 发件人昵称
    
      private String username; // 账号
    
      private String password; // 密码
    
      private String subject; // 主题
    
      private String message; // 信息(支持HTML)
    
      public String getHost() {
        return host;
      }
    
      public void setHost(String host) {
        this.host = host;
      }
    
      public String getSender() {
        return sender;
      }
    
      public void setSender(String sender) {
        this.sender = sender;
      }
    
      public String getReceiver() {
        return receiver;
      }
    
      public void setReceiver(String receiver) {
        this.receiver = receiver;
      }
    
      public String getName() {
        return name;
      }
    
      public void setName(String name) {
        this.name = name;
      }
    
      public String getUsername() {
        return username;
      }
    
      public void setUsername(String username) {
        this.username = username;
      }
    
      public String getPassword() {
        return password;
      }
    
      public void setPassword(String password) {
        this.password = password;
      }
    
      public String getSubject() {
        return subject;
      }
    
      public void setSubject(String subject) {
        this.subject = subject;
      }
    
      public String getMessage() {
        return message;
      }
    
      public void setMessage(String message) {
        this.message = message;
      }
    
    }

    2.发送邮件的工具类

    import org.apache.commons.mail.EmailException;
    import org.apache.commons.mail.HtmlEmail;
    import org.apache.log4j.Logger;
    
    /**
     * 邮件发送工具实现类
     *
     * @author shadow
     * @create 2013/07/12
     */
    public class MailUtil {
    
      protected final Logger logger = Logger.getLogger(getClass());
    
      public boolean send(Mail mail) {
        // 发送email
        HtmlEmail email = new HtmlEmail();
        try {
          // 这里是SMTP发送服务器的名字:163的如下:"smtp.163.com"
          email.setHostName(mail.getHost());
          // 字符编码集的设置
          email.setCharset(Mail.ENCODEING);
          // 收件人的邮箱
          email.addTo(mail.getReceiver());
          // 发送人的邮箱
          email.setFrom(mail.getSender(), mail.getName());
          // 如果需要认证信息的话,设置认证:用户名-密码。分别为发件人在邮件服务器上的注册名称和密码
          email.setAuthentication(mail.getUsername(), mail.getPassword());
          // 要发送的邮件主题
          email.setSubject(mail.getSubject());
          // 要发送的信息,由于使用了HtmlEmail,可以在邮件内容中使用HTML标签
          email.setMsg(mail.getMessage());
          // 发送
          email.send();
          if (logger.isDebugEnabled()) {
            logger.debug(mail.getSender() + " 发送邮件到 " + mail.getReceiver());
          }
          return true;
        } catch (EmailException e) {
          e.printStackTrace();
          logger.info(mail.getSender() + " 发送邮件到 " + mail.getReceiver()
              + " 失败");
          return false;
        }
      }
    
    }
    

    3.测试类

    /**
     * Created by DELL on 2016/6/19.
     */
    public class test {
      public static void main(String[] args) {
        Mail mail = new Mail();
        mail.setHost("smtp.163.com"); // 设置邮件服务器,如果不用163的,自己找找看相关的
        mail.setSender("baizhanshijava@163.com");
        mail.setReceiver("baizhanshijava@163.com"); // 接收人
        mail.setUsername("baizhanshijava@163.com"); // 登录账号,一般都是和邮箱名一样吧
        mail.setPassword("XXXxxxx"); // 发件人邮箱的登录密码  此密码必须是你在邮箱设置打开pop3和SMTP之后设置的密码,否则收不到邮件的
        mail.setSubject("nishishsi");
        mail.setMessage("welcome to china");
        new MailUtil().send(mail);
      }
    }
    

    4.总结 :不管怎么说还是有点成就感的。以后每周还是要来图书馆充充电的。

  • 相关阅读:
    并行计算上机代码
    BZOJ 5170: Fable
    ANTLR4 实验总结
    ANTLR4将BF翻译成CPP
    BF语言学习
    ANTLR4将JSON翻译成XML
    ANTLR4加载csv数据
    语法分析树监听器和访问器
    数据库数据类型总结
    java介绍
  • 原文地址:https://www.cnblogs.com/baizhanshi/p/5598263.html
Copyright © 2011-2022 走看看