이메일은 일상 생활입니다. 이 기사는 주로 SMTP를 기반으로 이메일을 보내는 Java의 방법을 소개합니다. SMTP 서비스를 기반으로 Java의 전송 이메일의 관련 기술을 분석합니다. 특정 참조 값이 있습니다. 필요한 친구는 그것을 참조 할 수 있습니다.
1. 필요한 속성을 캡슐화하려면 MailSendProper 클래스를 작성하십시오.
import java.util.properties; public class mailsendproper {private String host; // 보내는 메일 서버의 IP 개인 문자열 포트; // 전송 메일 서버의 포트 번호 개인 문자열 sendAdDress; // 메일 발신자의 주소 개인 문자열 HeageAdDress; // 메일 수신자의 주소 개인 문자열 사용자 이름; // 사서함 사용자 이름을 보내는 데 로그인; // 사서함 비밀번호 전송에 로그인 개인 부울 isvalidate = true; // 인증이 필요한지 여부는 개인 문자열 주제; // 이메일 제목 개인 문자열 내용; // 이메일 content public String getSubject () {return aversity; } public void setSubject (문자열 주제) {this.subject = subject; } public String getContent () {return 컨텐츠; } public void setContent (문자열 내용) {this.content = content; } public String gethost () {return host; } public void sethost (문자열 호스트) {host = host; } public String getPort () {return port; } public void setport (문자열 포트) {port = port; } public String getSendAddress () {return sendAddress; } public void setsendAddress (String sendAddress) {sendAddress = sendAddress; } public String getReceiveAddress () {return LeadeAdDress; } public void setReceiveAddress (String HeagiveAddress) {리포드 드레스 = 미수 드레스; } public String getUserName () {return username; } public void setusername (String username) {this.username = username; } public String getPassword () {return password; } public void setpassword (문자열 비밀번호) {this.password = password; } public boolean isisvalidate () {return isvalidate; } public void setisValidate (boolean isvalidate) {this.isvalidate = isvalidate; } 공개 속성 getProperTies () {속성 속성 = 새로운 속성 (); properties.put ( "mail.smtp.host", this.host); properties.put ( "mail.smtp.port", this.port); properties.put ( "mail.smtp.auth", isvalidate? "true": "false"); 반환 속성; }}2. 전송 정보를 캡슐화하려면 이메일 메신저를 작성하십시오
공개 클래스 이메일 메신저 {개인 문자열 제목; 개인 문자열 컨텍스트; 개인 문자열 토 메일; public emailmessage () {super (); } public emailMessage (문자열 제목, 문자열 컨텍스트, 문자열 발표 메일) {super (); this.title = 제목; this.context = 컨텍스트; this.toemail = toemail; } public string getTitle () {return title; } public void settitle (문자열 제목) {this.title = title; } public String getContext () {return 컨텍스트; } public void setContext (문자열 컨텍스트) {this.context = context; } public String getToeMail () {반환 Toemail; } public void settoeMail (문자열 toemail) {this.toeMail = Toemail; }}3. MailAttorney 이메일 비밀번호 검증 자 수업을 작성하십시오
import javax.mail.authenticator; import javax.mail.passwordauthentication; public class mailattorney 확장 인증기 {private String username; 개인 문자열 비밀번호; public mailattorney (문자열 사용자 이름, 문자열 암호) {this.username = username; this.password = 비밀번호; } // 보호 된 passwordauthentication getpasswordauthentication () {return new passwordauthentication (username, password); }}4. MailSend 메일 도구 클래스를 작성하십시오
import java.util.date; import javax.mail.address; import javax.mail.message; import javax.mail.session; import javax.mail.transport; import javax.mail.internet.internetAddress; import javax.mail.internet.mimessage; internity.mmessage. {public static boolean mailtest (mailsendproper mailsender) {mailattorney 변호사 = null; if (mailsender.isisvalidate ()) {// 신원 인증이 필요한지 여부를 결정합니다. 변호사 = New MailAttorney (mailsender.getusername (), mailsender.getpassword ())); } // 사서함 세션 속성 및 비밀번호 유효성 검사기를 기반으로 사서함을 보내기위한 Viewion 세션 세션을 구성합니다. 세션 세션 = 세션 .getInstance (MailSender.getProperties (), 변호사); // 세션 메시지를 기반으로 메일 메시지를 만듭니다 MailMessage = New Mimemessage (세션); 시도 {// = new InternetAddress (mailsender.getSendAddress ())에서 우편함 주소의 발신자 주소를 만듭니다. // 사서함 메시지의 발신자를 MailMessage.setfrom (from); // 메일 메시지에서 이것을 수신 할 주소를 만들고 메일 메시지 주소로 설정하십시오. MailMessage.setRecipient (message.recipienttype.to, to); MailMessage.setSubject (mailsender.getSubject ()); // 메일 제목을 설정합니다 MailMessage.SetSentDate (새 날짜 ()); // 보내기 시간 보내기 mailmessage.settext (mailsender.getContent ()); // 메일 컨텐츠 전송을 설정합니다 .Send (MailMessage); 진실을 반환하십시오. } catch (예외 e) {e.printstacktrace (); 거짓을 반환합니다. }} public static boolean sendemail (emailMessage 메시지) {mailsendProper mail = 새 MailSendProper (); mail.sethost ( "smtp.126.com"); // SMTP의 간단한 메일 전송 프로토콜, 기본 포트 번호는 25, Mail.Setport ( "25")입니다. mail.setisvalidate (true); // 인증이 필요합니다. mail.setusername ( ""); // 로그인 username mail.setpassword ( "")를 설정합니다. // 발신자의 비밀번호를 설정합니다 .SetSendAddress ( ""); //이 발신자를 보내는 주소를 설정하고 로그인 사용자 이름은 동일한 mail.setReceiveAdDress (message.getToEmail ())입니다. // 수신자의 주소를 설정합니다. // 사서함 제목 메일을 설정합니다. // 사서함 return mailtest (mail)의 내용을 설정합니다. }}참고 : 사용 된 이메일 주소는 POP3/SMTP 서비스를 성공적으로 전송하려면 활성화되어야합니다. 다른 이메일 주소와 이메일 주소에는 다음과 같은 전송 프로토콜이 다릅니다.
QQ 이메일 : SMTP 전송 프로토콜은 smtp.qq.com 포트 25입니다
POP3 전송 프로토콜은 POP3.QQ.com 포트 110입니다
5. 방법 테스트를 사용하십시오
public static void main (String [] args) {emailMessage Message = new emailMessage (); 문자열 code = string.valueof (math.random ()). 서브 스트링 (3, 9); // 검증 코드를 생성합니다. // 이메일 제목 메시지 .setContext ( "안녕하세요, 사용자, 확인 코드는"+code+"입니다.); // 이메일 content message.settoemail ( "[email protected]"); // system.out.println으로 보내는 사람이 기사가 모든 사람이 Java 프로그래밍을 배우는 데 도움이되기를 바랍니다.