博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java mail发送邮件
阅读量:5993 次
发布时间:2019-06-20

本文共 2602 字,大约阅读时间需要 8 分钟。

import java.io.UnsupportedEncodingException;

import java.util.Date;
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.NoSuchProviderException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class EmailUtility {
    
     private static int port = 25;
     private String server = "mail.163.com";//邮件服务器
     private String from = "vivk";//发送者,显示的发件人名字
     private String user = "";//发送者邮箱地址
     private String password = "";//密码
       
     /**
      * Send emails
      * @param email
      * @param subject
      * @param body
      * @throws UnsupportedEncodingException
      */
     public void sendEmail(String [] email, String subject, String body) throws UnsupportedEncodingException {
            
         try
         {
            
             Properties props = new Properties();
             props.put("mail.smtp.host", server);                
             props.put("mail.smtp.port", String.valueOf(port));
             props.put("mail.smtp.auth", "false");
             props.put("mail.smtp.starttls.enable", "true");
             Transport transport = null;
             Session session = Session.getInstance(props, new MailAuthenticator(from, password));
             transport = session.getTransport("smtp");
             transport.connect(server, user, password);
             MimeMessage msg = new MimeMessage(session);
             msg.setSentDate(new Date());
             InternetAddress fromAddress = new InternetAddress(user,from,"UTF-8");
             msg.setFrom(fromAddress);
             InternetAddress[] toAddress = new InternetAddress[email.length];    
             
             for (int i=0;i<email.length;i++)
             {
                 toAddress[i] = new InternetAddress(email[i]);
             }             
             
             msg.setRecipients(Message.RecipientType.TO, toAddress);
             msg.setSubject(subject, "UTF-8");   
             msg.setText(body, "UTF-8");
             msg.saveChanges();
             transport.sendMessage(msg, msg.getAllRecipients());
             System.out.println("Complete sent emai!!!");
             LogUtil.debug("Complete sent emai!!!");
             
         }
         catch (NoSuchProviderException e) {
             e.printStackTrace();
            } catch (MessagingException e) {
             e.printStackTrace();
            }
        }
     /**
      * 需要认证账号和密码
      * @author zhaohongbing
      *
      */
     class MailAuthenticator extends Authenticator {
         String user;
         String pw;
        
         public MailAuthenticator (String username, String password){
             super();
             this.user = username;
             this.pw = password;
         }
         public PasswordAuthentication getPasswordAuthentication(){
             return new PasswordAuthentication(user, pw);
         }
     }
    
    
     public static void main(String args[]) throws UnsupportedEncodingException
     {
         EmailUtility myEmailUtility = new EmailUtility();
         String [] toAddress = {"ans@163.com"};
         myEmailUtility.sendEmail(toAddress,"邮件测试","测试邮件,收到请回复我一下,thanks");//收件人
        
     }
        
        
}

转载于:https://www.cnblogs.com/ansonz/p/3816349.html

你可能感兴趣的文章
关于XAMPP环境配置
查看>>
npm run dev 出错的解决办法
查看>>
自定义全局样式
查看>>
事件委托和事件冒泡
查看>>
使用redis和fastjson做应用和mysql之间的缓存
查看>>
tensorflow学习资源
查看>>
DICOM简介
查看>>
【Storm篇】--Storm基础概念
查看>>
Android 通过反射让SQlite建表
查看>>
JS给html控件赋值
查看>>
html5-文本属性
查看>>
上传文件,比较完善
查看>>
汉王刘迎建:未来在全世界建研发中心
查看>>
分布式中Redis实现Session终结篇
查看>>
excel随机数的获取
查看>>
项目管理生命周期各个阶段的文档
查看>>
注册团队博客地址
查看>>
寒假挑战PythonTip(一人一python)总结——算法是程序的灵魂,程序员的心法
查看>>
PHP基础面试题(1-10)
查看>>
点分治
查看>>