산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> java

자바 - 이메일 보내기

Java 애플리케이션을 사용하여 이메일을 보내는 것은 간단하지만 시작하려면 JavaMail API가 있어야 합니다. 및 자바 활성화 프레임워크(JAF) 컴퓨터에 설치되어 있습니다.

이 파일을 다운로드하고 압축을 풉니다. 새로 생성된 최상위 디렉토리에서 두 응용 프로그램에 대한 여러 jar 파일을 찾을 수 있습니다. mail.jar를 추가해야 합니다. 및 activation.jar CLASSPATH에 있는 파일.

간단한 이메일 보내기

다음은 기기에서 간단한 이메일을 보내는 예입니다. localhost 인터넷에 연결되어 있고 이메일을 보낼 수 있습니다.

예시

// File Name SendEmail.java

import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;

public class SendEmail {

   public static void main(String [] args) {    
      // Recipient's email ID needs to be mentioned.
      String to = "[email protected]";

      // Sender's email ID needs to be mentioned
      String from = "[email protected]";

      // Assuming you are sending email from localhost
      String host = "localhost";

      // Get system properties
      Properties properties = System.getProperties();

      // Setup mail server
      properties.setProperty("mail.smtp.host", host);

      // Get the default Session object.
      Session session = Session.getDefaultInstance(properties);

      try {
         // Create a default MimeMessage object.
         MimeMessage message = new MimeMessage(session);

         // Set From: header field of the header.
         message.setFrom(new InternetAddress(from));

         // Set To: header field of the header.
         message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));

         // Set Subject: header field
         message.setSubject("This is the Subject Line!");

         // Now set the actual message
         message.setText("This is actual message");

         // Send message
         Transport.send(message);
         System.out.println("Sent message successfully....");
      } catch (MessagingException mex) {
         mex.printStackTrace();
      }
   }
}

이 프로그램을 컴파일하고 실행하여 간단한 이메일을 보내십시오 -

출력

$ java SendEmail
Sent message successfully....

여러 수신자에게 전자 메일을 보내려면 다음 방법을 사용하여 여러 전자 메일 ID를 지정합니다. -

void addRecipients(Message.RecipientType type, Address[] addresses)
   throws MessagingException

다음은 매개변수에 대한 설명입니다. -

HTML 이메일 보내기

다음은 컴퓨터에서 HTML 이메일을 보내는 예입니다. 여기에서는 localhost가 인터넷에 연결되어 있고 이메일을 보낼 수 있습니다.

이 예제는 이전 예제와 매우 유사합니다. 여기에서는 두 번째 인수가 "text/html"인 콘텐츠를 설정하기 위해 setContent() 메서드를 사용하여 HTML 콘텐츠가 메시지에 포함되도록 지정한다는 점을 제외하고는 매우 유사합니다.

이 예를 사용하면 원하는 HTML 콘텐츠만큼 크게 보낼 수 있습니다.

예시

// File Name SendHTMLEmail.java

import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;

public class SendHTMLEmail {

   public static void main(String [] args) {
      // Recipient's email ID needs to be mentioned.
      String to = "[email protected]";

      // Sender's email ID needs to be mentioned
      String from = "[email protected]";

      // Assuming you are sending email from localhost
      String host = "localhost";

      // Get system properties
      Properties properties = System.getProperties();

      // Setup mail server
      properties.setProperty("mail.smtp.host", host);

      // Get the default Session object.
      Session session = Session.getDefaultInstance(properties);

      try {
         // Create a default MimeMessage object.
         MimeMessage message = new MimeMessage(session);

         // Set From: header field of the header.
         message.setFrom(new InternetAddress(from));

         // Set To: header field of the header.
         message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));

         // Set Subject: header field
         message.setSubject("This is the Subject Line!");

         // Send the actual HTML message, as big as you like
         message.setContent("<h1>This is actual message</h1>", "text/html");

         // Send message
         Transport.send(message);
         System.out.println("Sent message successfully....");
      } catch (MessagingException mex) {
         mex.printStackTrace();
      }
   }
}

HTML 이메일을 보내기 위해 이 프로그램을 컴파일하고 실행하십시오 -

출력

$ java SendHTMLEmail
Sent message successfully....

이메일로 첨부 파일 보내기

다음은 컴퓨터에서 첨부 파일이 있는 이메일을 보내는 예입니다. 여기에서는 localhost가 인터넷에 연결되어 있고 이메일을 보낼 수 있습니다.

// File Name SendFileEmail.java

import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;

public class SendFileEmail {

   public static void main(String [] args) {     
      // Recipient's email ID needs to be mentioned.
      String to = "[email protected]";

      // Sender's email ID needs to be mentioned
      String from = "[email protected]";

      // Assuming you are sending email from localhost
      String host = "localhost";

      // Get system properties
      Properties properties = System.getProperties();

      // Setup mail server
      properties.setProperty("mail.smtp.host", host);

      // Get the default Session object.
      Session session = Session.getDefaultInstance(properties);

      try {
         // Create a default MimeMessage object.
         MimeMessage message = new MimeMessage(session);

         // Set From: header field of the header.
         message.setFrom(new InternetAddress(from));

         // Set To: header field of the header.
         message.addRecipient(Message.RecipientType.TO,new InternetAddress(to));

         // Set Subject: header field
         message.setSubject("This is the Subject Line!");

         // Create the message part 
         BodyPart messageBodyPart = new MimeBodyPart();

         // Fill the message
         messageBodyPart.setText("This is message body");
         
         // Create a multipar message
         Multipart multipart = new MimeMultipart();

         // Set text message part
         multipart.addBodyPart(messageBodyPart);

         // Part two is attachment
         messageBodyPart = new MimeBodyPart();
         String filename = "file.txt";
         DataSource source = new FileDataSource(filename);
         messageBodyPart.setDataHandler(new DataHandler(source));
         messageBodyPart.setFileName(filename);
         multipart.addBodyPart(messageBodyPart);

         // Send the complete message parts
         message.setContent(multipart );

         // Send message
         Transport.send(message);
         System.out.println("Sent message successfully....");
      } catch (MessagingException mex) {
         mex.printStackTrace();
      }
   }
}

HTML 이메일을 보내기 위해 이 프로그램을 컴파일하고 실행하십시오 -

출력

$ java SendFileEmail
Sent message successfully....

사용자 인증 부분

인증을 위해 이메일 서버에 사용자 ID와 비밀번호를 제공해야 하는 경우 이러한 속성을 다음과 같이 설정할 수 있습니다. -

props.setProperty("mail.user", "myuser");
props.setProperty("mail.password", "mypwd");

나머지 이메일 전송 메커니즘은 위에서 설명한 대로 유지됩니다.


java

  1. 자바 연산자
  2. 자바 주석
  3. 자바 for-each 루프
  4. 자바 문자열
  5. 자바 인터페이스
  6. 자바 익명 클래스
  7. 자바 리소스 사용
  8. 자바 주석
  9. 자바 어설션
  10. 자바 벡터