>Java >java지도 시간 >Java로 이메일 전달

Java로 이메일 전달

WBOY
WBOY원래의
2024-08-30 15:56:10363검색

다음 문서에서는 Java에서 이메일 전달에 대한 개요를 제공합니다. javamail API는 많은 javamail 클래스에서 사용할 수 있는 이메일을 보내고 받는 데 사용할 수 있습니다. 리소스 학습 대상으로 메일 전달 작업을 수행하는 데 사용됩니다. javamail API에는 mail.jar과 activate.jar라는 두 개의 jar이 포함되어 있습니다. 이러한 jar를 사용하는 동안 메일 데이터가 전달됩니다. 담당자 부재시 자동 답변드립니다.

javamail API와 mail.jar 및 활성화와 같은 두 개의 특정 jar를 알면 대상 리소스에 대한 메일 전달 작업을 수행하기 위해 다양한 javamail 클래스에 대해 이메일을 보내고 받는 데 사용할 수 있습니다. 이러한 jar를 사용하면 메일 데이터가 전송되고, 수신자가 없으면 자동 응답이 전송됩니다. 그런 다음 이메일이나 메시지를 전달하고 싶을 때마다 가능합니다. 하나 또는 여러 개의 이메일을 빠르게 전달하는 데 사용됩니다. 그런 다음 좀 더 많은 작업과 메시지 전달이 필요합니다. JavaMail API를 사용하여 메일 메시지를 구성할 수 있는 다양한 섹션에 대한 메시지를 전송하고 있으므로 이 작업을 수행하기 위해 호출할 수 있는 단일 함수가 없습니다. 모든 구성 요소에는 자체 본문 부분이 있으며 MIME 메시지 작업 시 마임 본문 부분이기도 합니다.

Java로 이메일 전달

무료 소프트웨어 개발 과정 시작

웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등

주요 시사점

  • 이메일을 보내면서 받은 메일을 다른 사람에게 전달할 수도 있습니다.
  • 메시지는 다양한 Javamail 클래스를 사용하여 대상 리소스로 전달됩니다.
  • 이 예제를 읽기 전에 JavaMail API의 이메일 전송 단계를 알아보고 이해하세요.
  • JavaMail API를 사용하여 이메일을 보내거나 받으려면 mail.jar 및 activate.jar이라는 두 개의 jar 파일을 로드해야 합니다.
  • Simple Java Mail을 사용하면 이메일을 보내는 것이 간단합니다. 시작하려면 EmailBuilder를 사용하여 이메일 객체를 생성하세요.

Java에서 이메일 전달 사용

이 문제는 하나의 메일 서버에서 메일을 읽고 동일한 애플리케이션 내의 다른 이메일 주소로 동일한 메시지를 전달하는 것과 관련됩니다. 이를 수행하려면 읽기 및 보내기 모두에 Java Mail API를 사용하십시오. 두 단계의 호스트가 다른 경우 속성을 주의해서 업데이트해야 합니다. 기업에서는 다양한 채널을 사용하여 커뮤니케이션하므로 검색 가능한 아카이브에 모든 메시지를 한 곳에 보관하는 것이 도움이 될 수 있습니다. SMS 메시지를 이메일로 전달하는 동안 두 가지 유형의 텍스트를 한곳에 보존할 수 있습니다. 가장 널리 사용되는 웹 개발 언어를 사용하는 Plivo를 사용하면 SMS 메시지를 이메일로 전달하는 것이 더욱 간단해집니다. plivo는 도구 중 하나이며 메일 작업 및 기타 통신을 수행하기 위한 API입니다.

Simple Java Mail을 사용하여 이메일을 보내는 것은 정말 간단합니다. 첫 번째 단계는 EmailBuilder를 사용하여 이메일 객체를 생성하는 것입니다. 그런 다음 이메일을 보내려면 MailerBuilder를 사용하여 메일러 객체를 생성하고 메일러 객체에 이메일 객체를 제공해야 합니다. 나열된 설정 외에도 Simple Java Mail은 이메일 및 메일러에 대한 추가 구성 옵션을 제공합니다. 사용자에게 애플리케이션 이벤트 및 이메일 전송 기능을 알려야 합니다. 이는 규모가 크고 고객 지향적인 모든 앱에 필수입니다. 이는 특히 계정 활성화, 비밀번호 변경 및 기타 사용자 확인과 같은 이벤트 기반 알림을 보내려는 경우 각 사용자와 상호 작용할 수 있는 간단하고 저렴하며 사용자 친화적인 방법입니다. 결과적으로 이는 이제 일반 텍스트가 포함된 간단한 알림부터 링크 및 기타 여러 첨부 파일이 포함된 자세한 보고서에 이르기까지 각 최종 사용자와의 비동기 통신을 위한 일반적인 방법입니다.

JavaMail API 단계별 전달

  • Session 객체의 속성에 접근하여 POP 및 SMPT 서버 정보를 확인하세요. 메시지 검색을 위해서는 POP 정보가 필요하며, 메시지 전송을 위해서는 SMPT 정보가 필요합니다.
  • POP3 스토어 객체 생성 후 스토어에 접속하세요.
  • 폴더 개체를 생성한 후 이메일에서 해당 폴더를 엽니다.
  • 메시지를 다시 받아보세요.
  • 메시지를 전달하려면 메시지를 하나씩 살펴보고 'Y' 또는 'y'를 입력하세요.
  • 메시지의 전체 세부정보(받는 사람, 보낸 사람, 제목 및 내용)를 가져옵니다.
  • 메시지 구성 요소를 활용하여 전달 메시지를 구성합니다. 메시지의 텍스트가 첫 번째 섹션이 되고 전달할 메시지가 두 번째 섹션이 됩니다. 두 개를 함께 여러 부분으로 만듭니다. 그런 다음 멀티파트는 전송되기 전에 적절하게 주소가 지정된 메시지에 첨부됩니다.

Java 이메일 전달 예시

다음은 언급된 예입니다.

코드:

package TestNG;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Date;
import java.util.Properties;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Store;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
public class NewTest
{
public static void main(String [] args) throws Exception
{
Properties props = new Properties();
props.put("mail.store.protocol", "pop3");
props.put("mail.pop3s.host", "pop.gmail.com");
props.put("mail.pop3s.port", "995");
props.put("mail.pop3.starttls.enable", "true");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.port", "25");
Session sess = Session.getDefaultInstance(props);
try {
Store store = sess.getStore("pop3s");
store.connect("pop.gmail.com", "[email protected]",
"xodbizaoiqijifre");
Folder folder = store.getFolder("inbox");
folder.open(Folder.READ_ONLY);
BufferedReader reader = new BufferedReader(new InputStreamReader(
System.in));
Message[] msgarr = folder.getMessages();
if (msgarr.length != 0) {
for (int i = 0, n = msgarr.length; i < n; i++) {
Message msgarrs = msgarr[i];
String from = InternetAddress.toString(msgarrs.getFrom());
if (from != null) {
System.out.println("From: " + from);
}
String msgrply = InternetAddress.toString(msgarrs
.getReplyTo());
if (msgrply != null) {
System.out.println("Reply the mail " + msgrply);
}
String tomsg = InternetAddress.toString(msgarrs
.getRecipients(Message.RecipientType.TO));
if (tomsg != null) {
System.out.println("To: " + tomsg);
}
String sub = msgarrs.getSubject();
if (sub != null) {
System.out.println("Mail Subject is: " + sub);
}
Date dsnt = msgarrs.getSentDate();
if (dsnt != null) {
System.out.println("Msg Sent: " + dsnt);
}
System.out.print("Do you want to reply [y/n] : ");
String str = reader.readLine();
if ("Y".equals(str) || "y".equals(str)) {
Message msgfwd = new MimeMessage(sess);
msgfwd.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(from));
msgfwd.setSubject("Fwd: " + msgarrs.getSubject());
msgfwd.setFrom(new InternetAddress(tomsg));
MimeBodyPart msgpart = new MimeBodyPart();
Multipart mpart = new MimeMultipart();
msgpart.setContent(msgarrs, "message/rfc822");
mpart.addBodyPart(msgpart);
msgfwd.setContent(mpart);
msgfwd.saveChanges();
Transport ts = sess.getTransport("smtp");
try {
ts.connect("[email protected]", "xodbizaoiqijifre");
ts.sendMessage(msgfwd, msgfwd.getAllRecipients());
} finally {
ts.close();
}
System.out.println("Your message is forwarded successfully");
folder.close(false);
store.close();
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

출력:

Java로 이메일 전달

FAQ

아래에 언급된 FAQ가 나와 있습니다.

Q1. Java에서 이메일 전달이란 무엇입니까?

답변: Java API를 사용하여 하나의 이메일 주소로 전달된 이메일 메시지를 하나 이상의 추가 이메일 주소로 보내는 프로세스를 이메일 전달이라고 합니다.

Q2. Java에서 이메일 전달은 어떻게 작동하나요?

답변: 메시지는 다양한 Javamail 클래스를 사용하여 대상 리소스로 전달됩니다. JavaMail API를 사용하여 이메일을 보내거나 받으려면 다음 두 개의 jar 파일을 로드해야 합니다.

  • mail.jar
  • activation.jar

Q3. 이메일 전달에 사용되는 프로토콜은 무엇입니까?

답변: 다음은 이메일 전달에 사용되는 프로토콜입니다.

SMTP

IMAP
마임

결론

수신자가 처음에 이메일 체인에 속하지 않은 경우에도 이메일을 전달하여 볼 수 있습니다. 또한 이메일 메시지를 전달할 때 모든 원본 콘텐츠, 서식, 첨부 파일과 함께 다른 개인이나 조직에 보내기 위해 사용됩니다. Java API를 사용하면 이 작업을 수행할 수 있습니다.

위 내용은 Java로 이메일 전달의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:자바 테스트 JUnit다음 기사:자바 테스트 JUnit