• java: javamail 1.6.2 Create Receive Email using jdk 19


     尝试获取编码(pop3message.getEncoding()),则会获得此contentType(UTF-8一个)

    	    /**
    	     * 接收邮件
    	     * 中文是乱码 未解决
    	     * @param pop3Host   pop.163.com
    	     * @param storeType pop3
    	     * @param user  geovindu@163.com
    	     * @param password  geovindu
    	     * @author geovindu
    	     * @serialData@
    	     * 
    	     * 
    	     * **/
    	    public static void DuReceiveEmail(String pop3Host,String storeType, String user, String password){
    	    	Properties props = new Properties();
    	    	props.put("mail.pop3.host", pop3Host);
    	    	props.put("mail.pop3.port", "110");
    	    	props.put("mail.pop3.starttls.enable", "false");
    	    	props.put("mail.store.protocol", "pop3");
    	     
    	    Session session = Session.getInstance(props);	
    	    try {  
    	    	Store mailStore = session.getStore(storeType);
    	    	mailStore.connect(pop3Host, user, password);
    	     
    	    	Folder folder = mailStore.getFolder("INBOX");
    	    	folder.open(Folder.READ_ONLY);
    	     
    	    	Message[] emailMessages = folder.getMessages();
    	    	System.out.println("Total Message - " 
    	    			+ emailMessages.length);
    	     
    	       //Iterate the messages
    	      for (int i = 0; i < emailMessages.length; i++) {
    	       Message message = emailMessages[i];
    	       Address[] toAddress = 
    	       message.getRecipients(Message.RecipientType.TO);
    	       System.out.println();  
    	       System.out.println("Email " + (i+1) + "-");  
    	       System.out.println("Subject - " + message.getSubject());  
    	       System.out.println("From - " + message.getFrom()[0]); 
    	     
    	       System.out.println("To - "); 
    	       for(int j = 0; j < toAddress.length; j++){
    	    	   System.out.println(toAddress[j].toString());
    	       }
    	       System.out.println("Text - " + 
    	    		   message.getContent().toString());  
    	      }
    	     
    	       folder.close(false);
    	       mailStore.close();
    	    } catch (Exception e) {
    	        e.printStackTrace();
    	        System.err.println("Error in receiving email.");
    	        }        
    	    }
        
        /**
         * 接收邮件
         * 中文是乱码 未解决
         * @param pop3Host   pop.163.com
         * @param storeType pop3 imap
         * @param user  geovindu@163.com
         * @param password  
         * @author geovindu
         * 
         * 
         * **/
        public static void receiveEmail(String pop3Host, String storeType, String user, String password) {  
        		  try {  
        		   //1) get the session object  
        		   Properties properties = new Properties();  
        		   properties.put("mail.pop3.host", pop3Host);  
        		   Session emailSession = Session.getDefaultInstance(properties);  
        		     
        		   //2) create the POP3 store object and connect with the pop server  
        		   POP3Store emailStore = (POP3Store) emailSession.getStore(storeType);  
        		   emailStore.connect(user, password);  
        		  
        		   //3) create the folder object and open it  
        		   Folder emailFolder = emailStore.getFolder("INBOX");  
        		   emailFolder.open(Folder.READ_ONLY);  
        		   //获取邮箱基本信息
       	       //   Map<String, Integer> map = DuMailHelper.emailInfo(emailFolder);
       	            //  System.out.println(map);
        		   //4) retrieve the messages from the folder in an array and print it  
        		   Message[] messages = emailFolder.getMessages();  
        		  // parseMessage(messages);
        		   
        		   for (int i = 0; i < messages.length; i++) {  
        		    Message message = messages[i];  
        		    System.out.println("---------------------------------");  
        		    System.out.println("Email Number " + (i + 1));  
        		    System.out.println("Subject: " + message.getSubject());  
        		    System.out.println("From: " + message.getFrom()[0]);  
        		    System.out.println("Text: " + message.getContent().toString());  
        		   }  
        		  
        		   //5) close the store and folder objects  
        		   emailFolder.close(false);  
        		   emailStore.close();  
        		  
        		  } catch (NoSuchProviderException e) {e.printStackTrace();}   
        		  catch (MessagingException e) {e.printStackTrace();}  
        		  catch (IOException e) {e.printStackTrace();}  
        	}  
    

      

    https://javaee.github.io/javamail/FAQ#commonmistakes

    https://www.geeksforgeeks.org/sending-email-java-ssltls-authentication/

    https://stackoverflow.com/questions/13980922/java-mail-api-encoding-problems

    https://www.go4expert.com/articles/send-receive-mails-java-javamail-t3649/

    https://community.oracle.com/tech/developers/discussion/1590874/send-an-email-encoded-in-utf-8-with-javamail-character-problems

    https://javaee.github.io/javamail/docs/api/

    QQ邮箱的收取邮件支持POP/IMAP两种协议,发送邮件采用SMTP协议,收件和发件均使用SSL协议来进行加密传输,采用SSL协议需要单独对帐户进行设置。采用SSL协议和非SSL协议时端口号有所区别,参照下表的一些常见配置组合:

    类型

    服务器名称

    服务器地址

    非SSL协议端口号

    SSL协议端口号

    发件服务器

    SMTP

    smtp.qq.com

    25

    465/587

    收件服务器

    POP

    pop.qq.com

    110

    995

    收件服务器

    IMAP

    imap.qq.com

    143

    993

     

     

    163邮箱的收取邮件支持POP/IMAP两种协议,发送邮件采用SMTP协议,收件和发件均使用SSL协议来进行加密传输,采用SSL协议需要单独对帐户进行设置。采用SSL协议和非SSL协议时端口号有所区别,参照下表的一些常见配置组合:

     

    类型 服务器名称 服务器地址 SSL协议端口号 非SSL协议端口号
    收件服务器 POP pop.163.com 995 110
    收件服务器 IMAP imap.163.com 993 143
    发件服务器 SMTP smtp.163.com 465/994 25

  • 相关阅读:
    pom 打包空目录
    pom添加多个源代码目录
    pom文件中的内置变量
    POM文件中的标签及说明
    maven 中的内置变量
    maven 的几个重要的配置文件:super pom & 生命周期默认绑定的配置文件
    maven 默认的阶段绑定周期(Plugin Bindings for default Lifecycle Reference)
    maven 生命周期参考(Lifecycles Reference)
    maven编译项目
    cygwin 中文乱码
  • 原文地址:https://www.cnblogs.com/geovindu/p/15860293.html
Copyright © 2020-2023  润新知