`
anxingyu_1984
  • 浏览: 37874 次
  • 性别: Icon_minigender_1
  • 来自: 内蒙古
社区版块
存档分类
最新评论

jdk引入第三方jar

阅读更多

要求:定时发信功能

细节:只允许装jdk

方案:定时用批处理来完成,发信功能由javamail 实现

步骤:1、定时 批处理脚本,以下是每5秒钟运行一次,运行10000000次 ,java 文件新建在 c 盘根目录下

ping -n 5 127.1>nul 
@echo off 
for /l %%x in (1,1,10000000) do ( 
echo %%x 
cd\
javac SendMail.java
java SendMail
ping -n 5 127.1>nul 
) 
pause

2、java 实现发信功能

首先,CLASSPATH 配置第三方jar包,如 :%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;D:\java\jdk1.5.0_12\lib\thirdJar\mail.jar;D:\java\jdk1.5.0_12\lib\thirdJar\activation.jar;D:\java\jdk1.5.0_12\lib\thirdJar\mailapi.jar;

其次,编译文件,执行文件 SendMail.java
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Properties;

import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.Message;
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;

public class SendMail {
    public static void main(String[] args) {
        System.out.println("------start-----");

        SendMail sm = new SendMail();
        String from = "xingyu@bolasoft.com";
        String content = "<html><body>いつも大変、お世話になっております。<br>本日発行したアカウントをご連絡いたします。<br> よろしくお願いいたします。<br>==============================<br>株式会社シルクロード<br>  〒135‐0001 江東区毛利1‐12‐10‐1102<br>電話:03‐5624‐5805<br>Fax :03‐5624‐5807<br> ==============================<br>";
        String to = "anxingyu_1984@126.com";
        String password = "×××";
        String username = "xingyu@bolasoft.com";
        String subject = "発行通知";
        String host = "smtp.bolasoft.com";

        try {
//          读文件,得到发件人和收件人  
            File f=new File("C:/MBSTimingJobs/property.txt");
            InputStream is = new FileInputStream(f);
            List<Object> list = sm.readToBuffer(is);
            is.close();
            from=list.get(0).toString();
            username=list.get(0).toString();
            password=list.get(1).toString();
            to=list.get(2).toString();
            System.out.println(host);
            System.out.println(from);
            System.out.println(to);
            System.out.println(username);
            System.out.println(password);
             sm.smail(host, from, to, username, password, subject, content);
        } catch (Exception e) {
            // TODO Auto-generated catch block  
            e.printStackTrace();
        }
        System.out.println("------end-----");
    }

    public List<Object> readToBuffer( InputStream is)
            throws IOException {
        List<Object> list = new ArrayList<Object>();
        String line; // 用来保存每行读取的内容  
        BufferedReader reader = new BufferedReader(new InputStreamReader(is));
        line = reader.readLine(); // 读取第一行  
        while (line != null) { // 如果 line 为空说明读完了  
            list.add(line);
            line = reader.readLine(); // 读取下一行  
        }
        return list;
    }

    public void smail(String host, String from, String to, String username,
            String password, String subject, String content) throws Exception {
        Properties props = new Properties();

        // Setup mail server  
        props.put("mail.smtp.host", host);
        props.put("mail.smtp.auth", "true");

        // Get session  
        Session session = Session.getDefaultInstance(props);

        // watch the mail commands go by to the mail server  
        session.setDebug(true);

        // Define message  
        MimeMessage message = new MimeMessage(session);
        message.setFrom(new InternetAddress(from));
        message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
        message.setSubject(subject);

        // create the message part  
        MimeBodyPart messageBodyPart = new MimeBodyPart();
        String fileAttachment = "C:/MBSTimingJobs/DayStatistc/"+dateFormat()+".csv";
        // fill message  
        Multipart multipart = new MimeMultipart();
        messageBodyPart.setContent(content, "text/html;charset=GBK");
        multipart.addBodyPart(messageBodyPart);
        // Part two is attachment  
        messageBodyPart = new MimeBodyPart();
        DataSource source = new FileDataSource(fileAttachment);
        messageBodyPart.setDataHandler(new DataHandler(source));
        @SuppressWarnings("unused")
        String fileName = new String(fileAttachment.getBytes("ISO-8859-1"),"GBK");
        String[] arrayStr = fileAttachment.split("/");
        String file = arrayStr[arrayStr.length - 1];
        System.out.println("file = " + file);
        messageBodyPart.setFileName(file);
        multipart.addBodyPart(messageBodyPart);
        // Put parts in message  
        message.setContent(multipart);

        // Send message  
        message.saveChanges();
        Transport transport = session.getTransport("smtp");
        transport.connect(host, username, password);
        transport.sendMessage(message, message.getAllRecipients());
        transport.close();
    }
    private static String dateFormat(){
        SimpleDateFormat sdf=new SimpleDateFormat("yy-MM-dd");
        return sdf.format(new Date());
    }
}


注意:jar 所在位置,根据CLASSPATH可看出,发送邮件的源码中附件的位置 C:/MBSTimingJobs/DayStatistc/ ,附件名称是每天动态得到



ok!







分享到:
评论

相关推荐

    bcprov-jdk15on-1.56.jar中文文档.zip

    bcprov-jdk15on-***.jar中文文档.zip,java,bcprov-jdk15on-***.jar,org.bouncycastle,bcprov-jdk15on,***,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,bouncycastle,bcprov,jdk15on,中文API文档,手册,...

    bcprov-jdk15on-1.58.jar中文文档.zip

    bcprov-jdk15on-***.jar中文文档.zip,java,bcprov-jdk15on-***.jar,org.bouncycastle,bcprov-jdk15on,***,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,bouncycastle,bcprov,jdk15on,中文API文档,手册,...

    itext所应用到的三个重要JAR包

    iTextAsian.jar :PDF支持中文JAR iText-5.0.5.jar :核心JAR bcprov-jdk-145.jar :对加密的支持

    修改版json-lib-2.4-jdk14与json-lib-2.4-jdk13 支持JDK1.4与1.3与1.5

    官网发布的json-lib-2.4-jdk...本jar包经过改造,适用于JDK1.4,需要第三方JAR包的支持(commons-beanutils-1.8.2.jar,commons-collections-3.2.jar,commons-lang-2.5.jar,commons-logging-1.1.jar,ezmorph-1.0.6.jar)

    SpringBoot 打成jar包供第三方引用自动装配方案实现

    看了源码之后,总有种蠢蠢欲动的感觉,想着以后啥时候牛逼了,自己也可以用springboot写个第三方组件,让别人引入jar包就行。虽然知道目前水平有限,先试试普通的jar包如何与spring自动装配吧~ 环境 jdk1.8 ...

    Java 处理word的第三方jar包,可以直接使用,无需破解 超级好用,不会用可以私信交流

    使用方法如下,maven直接引入即可。 &lt;groupId&gt;myjar &lt;artifactId&gt;aspose-words-21.11-jdk17 &lt;scope&gt;system &lt;version&gt;1.8.0 ${project.basedir}/src/lib/aspose-words-21.11-jdk17-1.0.jar &lt;/dependency&gt;

    poi-3.17-jemen.jar

    在Adroid中拟使用Excel等offic文档,从头开发所有的office格式、协议将是无比巨大的工作量,直接从第三方库来做就方便多了。 目前找到比较好的就是apache的poi。 poi是apache开发office库,java语言,用于PC端。 ...

    普通xml,soap-xml文本解析

    突破jdk与wsdl第三方对xml文本解析领域割据趋势,该脚本既可以支持普通xml解析,也支持soap-xml第三方xml文本的解析; 极大的节省了引入冗余jar资源; 纯底层算法解析,不依赖任何第三方工具包,自主产权维护性强。

    普通xml,soap-xml文本解析(flex,as3)

    突破jdk与wsdl第三方对xml文本解析领域割据趋势,该脚本既可以支持普通xml解析,也支持soap-xml第三方xml文本的解析; 极大的节省了引入冗余jar资源; 纯底层算法解析,不依赖任何第三方工具包,自主产权维护性强。

    配置文件Maven

    要引入大量的第三方开发工具包,而对于这些开发包的引用,最初的做 法:下载下来*.jar文件,而后在需要的地方拷贝到项目的WEB-INF/lib 目录之中就可以使用了,但是这种方式很多时候并不方便,如果说现在 开发包的...

    新版Android开发教程.rar

    � 由于采用了 Java 作为应用开发语言,目前可用的传统第三方应用还很少,但由于 Android 是一款完全 开 源的移动计算平台,相信第三方应用会很快的丰富起来。 � Google 提供了一套 Java 核心包 (J2SE 5,J2SE 6) 的...

    javaSE代码实例

    第三篇 高级基础篇 第11章 异常处理——Java世界的医生 195 11.1 异常处理的基本知识 195 11.1.1 try和catch捕获异常 195 11.1.2 异常的传播过程 198 11.1.3 finally语句块的使用 199 11.1.4 try、...

Global site tag (gtag.js) - Google Analytics