package email;

import java.io.File;
import java.util.Date;
import java.util.Properties;

import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.mail.internet.MimeUtility;

public class EmailTest {
    
    public static String myEmailAccount = "xxxxxxxx01@126.com";
    public static String myEmailPassword = "xxxxxxxx01";
    public static String myEmailSMTPHost = "smtp.126.com";
    public static String receiveMailAccount = "xxxxxxxx@qq.com,xxxxxxxxx01@126.com";
   
    
    
    public static void main(String[] args) throws Exception {
        
        Properties props = new Properties();
        props.setProperty("mail.transport.protocol", "smtp");
        props.setProperty("mail.host", myEmailSMTPHost);
        props.setProperty("mail.smtp.auth", "true");
           Session session = Session.getDefaultInstance(props);
            session.setDebug(true);
            MimeMessage message = createMimeMessage(session, myEmailAccount, receiveMailAccount);
            Transport transport = session.getTransport();
            transport.connect(myEmailAccount, myEmailPassword);
            transport.sendMessage(message, message.getAllRecipients());
            transport.close();
        
    }

private static MimeMessage createMimeMessage(Session session,
            String sendMail, String receiveMail) throws Exception {
          MimeMessage message = new MimeMessage(session);
          message.setFrom(new InternetAddress(sendMail, "京东", "UTF-8"));
          // message.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(receiveMail, "XX用户", "UTF-8"));
           InternetAddress[] toAddr = InternetAddress.parse(receiveMail);  
           message.addRecipients(MimeMessage.RecipientType.TO, toAddr);
           message.setSubject("xxxxx", "UTF-8");
           // 5. Content: 邮件正文(可以使用html标签)
        
            Multipart multipart = new MimeMultipart();  
            MimeBodyPart contentPart = new MimeBodyPart();  
            contentPart.setText("XX用户你好。。。");  
            multipart.addBodyPart(contentPart);  
            
            MimeBodyPart attachmentPart = new MimeBodyPart();  
            File file = new File("D://WindV.txt");
            FileDataSource source = new FileDataSource(file);  
            attachmentPart.setDataHandler(new DataHandler(source));  
            attachmentPart.setFileName(MimeUtility.encodeWord(file.getName(), "gb2312", null));  
            multipart.addBodyPart(attachmentPart);  
            message.setContent(multipart);  
            message.setSentDate(new Date());
            message.saveChanges();
            return message;
    }
    
    
}

java email的更多相关文章

  1. 【SSH网上商城项目实战25】使用java email给用户发送邮件

       转自: https://blog.csdn.net/eson_15/article/details/51475046 当用户购买完商品后,我们应该向用户发送一封邮件,告诉他订单已生成之类的信息, ...

  2. What is the best Java email address validation method?

    https://stackoverflow.com/questions/624581/what-is-the-best-java-email-address-validation-method htt ...

  3. java email发送(附件中文的处理)

    这里使用的是commons-email-1.3.2.jar进行的开发,自认为这是简单的邮件发送. package com.yt.base.common; import java.io.Unsuppor ...

  4. java Email发送及中文乱码处理。

    public class mail { private String pop3Server=""; private String smtpServer=""; ...

  5. Java Email 邮件发送

    自己所编码的项目出现了问题,且是 24 小时运行于服务器上的. 如果出错了,那么我们也无从而知. 这个时候,只能通过异常捕获,然后将异常信息发送至开发者的邮箱上. 但是一个邮件的发送配置冗长,代码量至 ...

  6. 【转】java正则表达式

    在Sun的Java JDK 1.40版本中,Java自带了支持正则表达式的包,本文就抛砖引玉地介绍了如何使用java.util.regex包. 可粗略估计一下,除了偶尔用Linux的外,其他Linu ...

  7. java正则API简单解析

    java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包. 1.简介: java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包. ...

  8. java正则表达式Pattern和Matcher

    java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包. 1.简介:  java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包. ...

  9. JAVA 正则表达式 (超详细)

    (PS:这篇文章为转载,我不喜欢转载的但我觉得这篇文章实在是超赞了,就转了过来,这篇可以说是学习JAVA正则表达的必读篇.作者是个正真有功力的人,阅读愉快) 在Sun的Java JDK 1.40版本中 ...

随机推荐

  1. CodeForces 342A Xenia and Divisors (水题)

    题意:给定 n 个数(小于等于7),让你把它分成 m 组,每组有三个数,且满足,a < b < c,并且 a 能整除 b,b 能整除 c. 析:对于这个题,因为题目说了是不大于7的,那么一 ...

  2. 编写高质量代码改善C#程序的157个建议——建议86:Parallel中的异常处理

    建议86:Parallel中的异常处理 建议85阐述了如何处理Task中的异常.由于Task的Start方法是异步启动的,所以我们需要额外的技术来完成异常处理.Parallel相对来说就要简单很多,因 ...

  3. XJOI 3363 树4/ Codeforces 739B Alyona and a tree(树上差分+路径倍增)

    D. Alyona and a tree time limit per test  2 seconds memory limit per test  256 megabytes input  stan ...

  4. 对于nginx为什么能提高性能

    对于后端是动态服务来说,比如Java和PHP.这类服务器(如JBoss和PHP-FPM)的IO处理能力往往不高.Nginx有个好处是它会把Request在读取完整之前buffer住,这样交给后端的就是 ...

  5. 8、Semantic-UI之其他按钮样式

    8.1 其他按钮样式定义 示例:定义其他按钮样式 定义圆形图标按钮样式 <div class="ui circular icon button"><i class ...

  6. Centos配置多个tomcat服务器,并用nginx实现负载均衡

    centos配置tomcat请参见上一篇博文 :http://www.cnblogs.com/nanyangzp/p/4897655.html 一:多tomcat利用不同端口开启服务器 多个tomca ...

  7. opencv——(动态)旋转图像

    #include "stdafx.h" #include <opencv2\opencv.hpp> #include <opencv\cv.h> #incl ...

  8. CLR via C# 读书笔记-21.托管堆和垃圾回收

    前言 近段时间工作需要用到了这块知识,遂加急补了一下基础,CLR中这一章节反复看了好多遍,得知一二,便记录下来,给自己做一个学习记录,也希望不对地方能够得到补充指点. 1,.托管代码和非托管代码的区别 ...

  9. ASP.NET Core入门(一)

    大家好,很荣幸您点了开此篇文章,和我一起来学习ASP.NET Core,此篇文字为<ASP.NET Core入门>系列中的第一篇,本系列将以一个博客系统为例,从第一行代码,到系统发布上线( ...

  10. Filter 设计模式编码实践

    原文地址: haifeiWu和他朋友们的博客 博客地址:www.hchstudio.cn 欢迎转载,转载请注明作者及出处,谢谢! 最近项目中遇到各种输出数据监控,数据校验等逻辑,一个个实现很是麻烦.项 ...