⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test.java

📁 用java实现的对电子邮件进行加密解密及签名的算法接口
💻 JAVA
字号:
package cn.edu.scut.smimeapi;

import javax.mail.internet.*;
import javax.mail.*;

/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2006</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
public class Test
{

    public static void main(String[] args) throws Exception
    {

    //demo example of send a mail
   /*
    try{
        SendMail sm=new SendMail();
        sm.setAccount("smtp.163.com","koolyh@163.com","198097");
        sm.Send(sm.CreateMail("koolyh@163.com","koolyh@163.com","test send mail","hello,world!"));

      }
     catch (Exception ex)
     {
    ex.printStackTrace(System.err);
     }

    //demo example of receive a mail code
*/
     try
     {
             ReceiveMail recmail=new ReceiveMail();
             Message[] msg = recmail.getMail("202.38.212.1", "yhliu", "yhliu");
             System.out.println("共有"+msg.length+"封邮件");
             for (int i = 0; i < msg.length; i++)
             {

             System.out.println("第"+i+"封邮件");
              if (msg[i].isMimeType("text/*"))

              { //判断邮件类型为普通文本邮件
                 System.out.println("这是一封普通邮件");
                 recmail.handleText(msg[i]);
              }
             else  if (msg[i].isMimeType("multipart/signed")) //签名邮件
               {
                 //
                 // make sure this was a multipart/signed message - there should be
                 // two parts as we have one part for the content that was signed and
                 // one part for the actual signature.
                 //
                 System.out.println("这是一封签名邮件");
                   recmail.handle(msg[i]);

                   ReadSignedMail rsm =new ReadSignedMail();
                   MimeBodyPart content=null;
                   content=rsm.ReadSignedMailByPassedCert((MimeMessage) msg[i]);

                   Object cont = content.getContent();

                   if (cont instanceof String)
                   {
                     System.out.println("邮件内容:");
                     System.out.println( (String) cont);
                   }
                   else if (cont instanceof Multipart)
                   {
                     Multipart mp = (Multipart) cont;
                     recmail.handleMultipart(mp);
                   }

                 }

              else if (msg[i].isMimeType("application/pkcs7-mime")) //加密邮件
                 {
                    System.out.println("这是一封加密邮件");
                   recmail.handle(msg[i]);
                   ReadEncryptedMail rem=new ReadEncryptedMail();
                   MimeBodyPart res=null;
                   try
                   {
                     res=rem.ReadEncryptedMailAutoByToken((MimeMessage) msg[i],"12345678".toCharArray());
                   }
                   catch (Exception ex)
                   {
                   System.err.println("ReadEncryptedMailAutoByToken error!"+ex);
                   res=rem.ReadEncryptedMailAutoByLocalKey((MimeMessage) msg[i],"tanglab".toCharArray());
                   }

                  Object cont = res.getContent();

                 if (cont instanceof String)
                 {
                   System.out.println("邮件内容:");
                   System.out.println( (String) cont);
                 }
                 else if (cont instanceof Multipart)
                 {
                   Multipart mp = (Multipart) cont;
                   recmail.handleMultipart(mp);

                 }

           }

       else //Not a signed or an encrypted message!
       {
              System.out.println("这是一封多邮件体邮件");
               recmail.handleMultipart(msg[i]);
       }

       System.out.println("---------------------------");
       }

      recmail.close();

     }

    catch(Exception e2)
     {
       System.out.println(e2);
     }


  }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -