<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Dust Of Dream

    知識(shí)真的是一個(gè)圓么?

    JMail 簡單應(yīng)用-文件傳輸

        日常工作中,常常要將在公司做的東西拷回家,或者要從家里拷東西到公司,但是如果用U盤拷又太麻煩,上web發(fā)郵件又有點(diǎn)煩,所以就做了下面的小程序,發(fā)送前切版里的內(nèi)容到指定郵箱來傳遞文件.
        相關(guān)技術(shù)點(diǎn):
        1.JMail郵件發(fā)送
        2.剪切板提取
       具體代碼實(shí)現(xiàn)如下:
    /*
     * Created on 2008-3-5
     
    */
    package org.dueam.ft;

    import java.awt.HeadlessException;
    import java.awt.Toolkit;
    import java.awt.datatransfer.DataFlavor;
    import java.awt.datatransfer.UnsupportedFlavorException;
    import java.io.File;
    import java.io.IOException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.util.List;

    import org.apache.commons.mail.EmailAttachment;
    import org.apache.commons.mail.EmailException;
    import org.apache.commons.mail.MultiPartEmail;

    import sun.misc.BASE64Encoder;

    /**
     * 剪切板內(nèi)容發(fā)生
     * 
    @author <a href="mailto:windonly@gmail.com">Anemone</a>
     * hz,zj,china(2008-3-5)
     
    */
    public class ClipboardFileTransmission {

        
    /**
         * 
    @param args
         * 
    @throws EmailException
         * 
    @throws IOException
         * 
    @throws UnsupportedFlavorException
         * 
    @throws HeadlessException
         
    */
        @SuppressWarnings(
    "unchecked")
        
    public static void main(String[] args) throws EmailException, HeadlessException, UnsupportedFlavorException,
                IOException {
            String context 
    = null;
            List
    <File> fileList = null;
            
    /**
             * 處理前切版
             
    */
            
    for (DataFlavor df : Toolkit.getDefaultToolkit().getSystemClipboard().getAvailableDataFlavors()) {
                
    //如果拷貝的是文本內(nèi)容
                if (df.equals(DataFlavor.stringFlavor)) {
                    context 
    = (String) Toolkit.getDefaultToolkit().getSystemClipboard().getData(DataFlavor.stringFlavor);
                }
                
    else if (df.equals(DataFlavor.javaFileListFlavor)) {
                    
    //如果拷貝的是文件則當(dāng)附件發(fā)送
                    fileList = (List<File>) Toolkit.getDefaultToolkit().getSystemClipboard().getData(
                            DataFlavor.javaFileListFlavor);
                }
            }
            
    if ((null == context || "".equals(context)) && (fileList == null || fileList.isEmpty())) {
                
    return;
            }
            
    if (null == context || "".equals(context)) {
                context 
    = "具體資料請(qǐng)看附件";
            }

            MultiPartEmail email 
    = new MultiPartEmail();
            
            
    // 發(fā)送服務(wù)器
            email.setHostName("smtp.163.com");
            
    //服務(wù)器用戶和密碼(如果你自己搞了臺(tái)不用驗(yàn)證的郵件服務(wù)器就不用了)
            email.setAuthentication("XXX""XXX");
            
    //接收的郵箱
            email.addTo("XXX@gmail.com""我的資料庫");
            
    //發(fā)送服務(wù)器的郵件地址,現(xiàn)在很多郵件提供商都有驗(yàn)證這個(gè)同用戶名是否對(duì)應(yīng),還是老老實(shí)實(shí)填真實(shí)的吧
            email.setFrom("XXX@163.com""Anemone");
            email.setSubject(
    "[日常資料傳遞]-" + getTime());
            
    //文本編碼
            email.setCharset("utf-8");
            email.setMsg(context);
            
    if (null != fileList)
                
    for (File f : fileList) {
                    
    if (f.exists() && f.isFile()) {
                        
    //處理附件
                        EmailAttachment attachment = new EmailAttachment();
                        attachment.setPath(f.getPath());
                        attachment.setDisposition(EmailAttachment.ATTACHMENT);
                        attachment.setDescription(getTime() 
    + "By Anemone");
                        BASE64Encoder enc 
    = new BASE64Encoder();
                        
    //附件中文名問題
                        attachment.setName("=?GBK?B?" + enc.encode(f.getName().getBytes()) + "?=");
                        email.attach(attachment);
                    }
                }

            email.send();

        }

        
    public static String getTime() {
            SimpleDateFormat df 
    = new SimpleDateFormat("yyyy-MM-dd HH:mm");
            
    return df.format(new Date());
        }

    }
    以上代碼在163和gmail之間測(cè)試通過過,建議用exe4j打成EXE文件,然后扔到system32目錄下面,這樣只要想發(fā)送資料的時(shí)候,只要復(fù)制下資料,再執(zhí)行下這個(gè)命令就一切都OK了.
    相關(guān)類包:下載


    posted on 2008-03-19 10:03 Anemone 閱讀(1601) 評(píng)論(5)  編輯  收藏 所屬分類: 牧羊心得

    Feedback

    # re: JMail 簡單應(yīng)用-文件傳輸 2008-03-19 11:13 BeanSoft

    想法很不錯(cuò) 支持。只是現(xiàn)在還不知道有幾個(gè)人能想起Java里面操作剪貼板。。。  回復(fù)  更多評(píng)論   

    # re: JMail 簡單應(yīng)用-文件傳輸 2008-03-19 11:49 stoneshao

    使用gmail+gspace,方便快捷  回復(fù)  更多評(píng)論   

    # re: JMail 簡單應(yīng)用-文件傳輸 2008-03-19 14:46 迷失的風(fēng)

    好像google現(xiàn)在提供的notebook很好用,大家試試。  回復(fù)  更多評(píng)論   

    # re: JMail 簡單應(yīng)用-文件傳輸 2008-03-19 15:50 Anemone

    notebook以前我也一直在用,但是插件這個(gè)東西在IE或FF里經(jīng)常不知所謂地掛掉,后面我都直接禁止掉了  回復(fù)  更多評(píng)論   

    # re: JMail 簡單應(yīng)用-文件傳輸 2008-08-19 16:19 hjg515

    我建議你使用酷達(dá)公司的Qoodaa傳輸精靈。如果你和你朋友都是用企業(yè)網(wǎng)帶寬有1M或2M的話,可以考慮用Qoodaa傳輸精靈傳送。舉個(gè)例子,如果你們都是電信的2M的ADSL的話,那么上傳一方的最大速度可以達(dá)到每秒60KB以上,也就是說你的接收速度也可以是每秒60KB以上,快的時(shí)候可以達(dá)到100多KB每秒,我試過了,速度的確很快。用一個(gè)小時(shí)多左右就可以搞定。如果你用其他同類軟件建議你不要試了,那個(gè)速度慢的你想自殺。這種軟件在http://www.qoodaa.com.cn可以下載到

      回復(fù)  更多評(píng)論   


    My Links

    Blog Stats

    News

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    新聞檔案

    相冊(cè)

    常去網(wǎng)站

    搜索

    積分與排名

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 亚洲天堂福利视频| 一级一看免费完整版毛片| 日本高清色本免费现在观看| 美女黄频视频大全免费的| 无码欧精品亚洲日韩一区| 最近的中文字幕大全免费版| 一级毛片免费播放男男| 亚洲国产美女福利直播秀一区二区| 日韩一级在线播放免费观看| 国产又黄又爽又大的免费视频| 亚洲国产精品专区| 亚洲另类激情专区小说图片| 1000部拍拍拍18勿入免费视频下载 | 亚洲va成无码人在线观看| 亚洲?v女人的天堂在线观看| 91麻豆国产免费观看| 日韩电影免费在线观看网址| 亚洲国产精品张柏芝在线观看| 亚洲高清无码在线观看| 亚洲精品动漫免费二区| a级在线免费观看| 美女被吸屁股免费网站| 亚洲伊人久久大香线蕉影院| 亚洲日韩av无码| 在线免费观看毛片网站| 99久久人妻精品免费一区| 国产高潮流白浆喷水免费A片 | 日本亚洲免费无线码 | 国产人成免费视频| 18禁止看的免费污网站| 中文字幕永久免费| 在线看亚洲十八禁网站| 亚洲乱码一区二区三区国产精品| 亚洲A∨无码一区二区三区| 亚洲电影日韩精品 | 久久久久久免费一区二区三区| 老牛精品亚洲成av人片| 亚洲日本人成中文字幕| 久久精品国产亚洲av麻豆色欲| 久久影视国产亚洲| 亚洲AV无码乱码在线观看|