자바 기반 자바 메 일 로 메 일 보 내기

1.우편물 의 관련 개념
우편 협의.주로 다음 을 포함한다.
SMTP 프로 토 콜:Simple Mail Transfer Protocol,즉 간단 한 메 일 전송 프로 토 콜 로 메 일 을 보 내 는 데 사 용 됩 니 다.
POP 3 프로 토 콜:Post Office Protocol 3,즉 우체국 프로 토 콜 의 세 번 째 버 전 으로 메 일 을 받 는 데 사 용 됩 니 다.
IMAP 프로 토 콜:Internet Message Access Protocol,즉 인터넷 메시지 액세스 프로 토 콜 은 POP 3 의 대체 프로 토 콜 입 니 다.
--------------------------------------------------------------------------------
 2.James 메 일 서버 구축
 James 는 Apache 의 오픈 소스 프로젝트 로 순수한 자바 구현
 James 서버 구축
 ① apache-james-2.3.2.zip 압축 풀기
 ② bin 디 렉 터 리 에 있 는 run.bat 를 실행 하면 서버[Telnet]를 시작 합 니 다.  localhost 4555]
 ③ apps\\james\SAR-INF\\config.xml 를 통 해 서버 설정
 주:먼저 빈 아래 에서 run 하 세 요.중국어 디 렉 터 리 가 아 닌 경우 제어 판 에서 Telnet 클 라 이언 트 를 열 어야 합 니 다.
--------------------------------------------------------------------------------
 3.OutLook[메 일 클 라 이언 트]설치
제품 키:PQDV9-GPDV4-CRM4D-PHDTH-4M2MT
사용자 계 정 만 들 기
1.telnet 으로 James 를 연결 하 는 Remote Administration Tool
2.관리자 로 로그 인
3.adduser 명령 으로 사용자 추가
--------------------------------------------------------------------------------
4.outlook 메 일 클 라 이언 트 설정
보기 편 하도록 Microsoft Outlook 메 일 클 라 이언 트 를 설정 하여 James 메 일 서버 가 시작 상태 임 을 보증 하고 Microsoft Outlook 을 시작 할 수 있 습 니 다.
"도구"->"옵션"을 선택 하고"옵션"패 널 을 엽 니 다.'메 일 설정'을 선택 하고'메 일 계 정'을 클릭 하여'계 정 설정'패 널 을 엽 니 다."전자 우편"옵션 아래 새 메 일 계 정
--------------------------------------------------------------------------------
5.사례[James 메 일 서버 구축]
필요 설명:
이 컴퓨터 에 James 메 일 서버 를 구축 하여 서버 의 이름 을 사용자 정의 합 니 다.
테스트 사용자 두 명 을 만 듭 니 다.
Microsoft Outlook 에서 테스트 사용 자 를 Outlook 메 일 계 정 으로 설정 합 니 다.

--------------------------------------------------------------------------------
 6.자바 메 일 로 이메일 보 내기(사례)
 필요:
자바 메 일 기술 을 사용 하여 A 계 정 에서 B 계 정 에 이메일 을 보 내 는 것 을 실현 합 니 다.제목 은'회의 알림'이 고 메 일 내용 은'XX 안녕하세요!"내일 오후 16 시 정각에 B01 회의실 에 가서 기술 토론 회 를 열 어 주세요."Outlook 클 라 이언 트 를 통 해 메 일 프로그램 이 보 낸 메 일이 성공 적 으로 보 냈 는 지 확인 합 니 다.
키 코드:
클래스 Email Authenticator 를 만 들 고 Authenticator 에서 계승 하 며 사용자 이름과 비밀 번 호 를 삽입 합 니 다.

 Mail 클래스 설정 메 일 정보 만 들 기:

public class Mail {

 private String mailServer,from,to,mailSubject,mailContent;

 private String username,password;

 public Mail(){

   //      

   //          

   username="[email protected]";

   //    

   password="hq";

   //             

   mailServer="192.168.17.176";

   //     

   from="wj";

   //     

   to="[email protected]";

   //    

   mailSubject="       333";

   //    

   mailContent="        !    ,     ";

 }

 //       

 @SuppressWarnings("static-access")

public void send(){

   Properties prop=System.getProperties();

   //    server

   prop.put("mail.smtp.host", mailServer);

    

   //      

   prop.put("mail.smtp.auth", "true");

    

   //smtp   

   prop.put("mail.smtp.port", "25");

   //  Session  

   EmailAuthenticator mailauth=new EmailAuthenticator(username, password);

   Session mailSession=Session.getInstance(prop,(Authenticator)mailauth);

    try {

      //  Message  

      Message message=new MimeMessage(mailSession);

      

      message.setFrom(new InternetAddress(from)); //   

      message.setRecipient(Message.RecipientType.TO, new InternetAddress(to));//   

      message.setSubject(mailSubject);

      //    (           )

      message.setContent(mailContent,"text/html;charset=gbk");

      message.setSentDate(new Date());

      //  Transport  ,    

      Transport tran=mailSession.getTransport("smtp");

      tran.send(message,message.getAllRecipients());

      tran.close();

      

    } catch (Exception e) {

      e.printStackTrace();

    }

 } 
테스트 클래스:

public class MyTest {

  public static void main(String[] args) {

    Mail mail=new Mail();

    mail.send();

    System.out.println("success!");

  }
} 


--------------------------------------------------------------------------------
7.첨부 파일 을 보 내 는 Mail

public class MailWithAttachment {

  private JavaMailSender mailSender; //     JavaMailSender

  public void setMailSender(JavaMailSender mailSender) {

    this.mailSender = mailSender;

  }

   

  public void send() throws MessagingException,IOException{

    MimeMessage mimeMessage = mailSender.createMimeMessage();

    MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true, "UTF-8");

    helper.setFrom("[email protected]");

    helper.setTo("[email protected]");

     

    helper.setSubject("   ");

    helper.setText("    ,    !!!");

    //    1

    ClassPathResource file1 = new ClassPathResource(

                    "/cn/bdqn/attachfiles/test.doc");

    helper.addAttachment(file1.getFilename(), file1.getFile());

    //    2:          ,            ,      

    ClassPathResource file2 = new ClassPathResource(

                    "/cn/bdqn/attachfiles/      .doc");

    helper.addAttachment(MimeUtility.encodeWord(file2.getFilename()),file2.getFile());

    mailSender.send(mimeMessage);

  }

} 

테스트 클래스:

public class MailTest {

  public static void main(String[] args){

    ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");

     

    /*        */

    try{

      MailWithAttachment mailWithAttach = (MailWithAttachment)context.getBean("mailWithAttachment");

      mailWithAttach.send();

    }catch(Exception e){

      System.out.print(e.toString());

    }

  }

}  
applicationContext.xml:큰 설정
 


 이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기