자바, mail. jar 패키지 로 메 일 보 내기

5273 단어 자바
우선 mail. jar 패키지 와 buildpath 를 가 져 옵 니 다.이 가방 은 주로 javax. mail. internet. * 와 javax. mail. * 의 내용 을 사용 합 니 다.qq 를 연결 하 는 서버 (SMTP 방식) 의 메 일 프로그램 을 작성 합 니 다:
정적 방법 sendEmail () {} 쓰기;첫 번 째 단계: properties 를 쓰 고 각 값 을 설정 합 니 다. 다음 에 사용 할 것:
        Properties props = System.getProperties();  
        //          
        props.put("mail.smtp.host", "smtp.qq.com");//  host,          
        props.put("mail.smtp.auth", "true"); //     
        props.put("mail.smtp.port", "465");//      465
        props.put("mail.transport.protocol", "smtp");//   smtp
        props.put("mail.smtp.ssl.enable", "true");//  
       //props.put("mail.debug", "true");//    

속성 properties 를 넣 는 세 션 만 들 기:
Session session = Session.getDefaultInstance(props, null);  

세 션 을 넣 을 메 시 지 를 만 듭 니 다:
MimeMessage msg = new MimeMessage(session);

그리고 닉네임 을 인 코딩 해서 메 일 로 보 내 고 from 을 설정 합 니 다.
 msg.setFrom(new InternetAddress(MimeUtility.encodeText("   :") + "<266****[email protected]>"));  

새 수신 자의 주소 to:
InternetAddress[] address = new InternetAddress[]{"944*9@qq.com","689*8@qq.com}

지정 한 수락 형식 에 주 소 를 추가 합 니 다:
msg.addRecipients(Message.RecipientType.TO, address); 

메 일 테마 subject 설정:
msg.setSubject(subject);  

그 다음 에 mime 형식의 Multipart 부분, 즉 본문 을 설정 합 니 다. 먼저 새로 만 듭 니 다.
Multipart mp = new MimeMultipart(); 

그리고 첨부 파일 을 추가 합 니 다. 여러 첨부 파일 을 여러 번 반복 합 니 다.
MimeBodyPart mbp = new MimeBodyPart();  
     //        
FileDataSource fds = new FileDataSource(filename);  
   //          BodyPart  
mbp.setDataHandler(new DataHandler(fds));  
  //          BodyPart  
mbp.setFileName(fds.getName());  
//    mbp  add    
mp.addBodyPart(mbp); 

같은 이치 로 텍스트 추가:
         MimeBodyPart mbp = new MimeBodyPart();  
         mbp.setText(body);
         mp.addBodyPart(mbp);

그리고 mp 를 메시지 본문 으로 설정 합 니 다:
 msg.setContent(mp);  

첨부 파일 이 없 으 면 메시지 본문 을 직접 설정 하면 됩 니 다.
msg.setText("  ");

메시지 헤더 의 날 짜 를 설정 하고 모든 것 을 업데이트 하고 저장 합 니 다.
 msg.setSentDate(new Date());  
 msg.saveChanges();  

마지막 으로 연결 및 발송, 연결 닫 기:
Transport transport = session.getTransport("smtp");  
 transport.connect(username, password);
 ransport.sendMessage(msg,msg.getRecipients(Message.RecipientType.TO));  
 transport.close();  

이상!

좋은 웹페이지 즐겨찾기