javax.mail 호출 기업 메 일 로 메 일 보 내기
17934 단어 자바
1.smpt,pop 3 와 imap 서비스 가 열 렸 는 지 확인 합 니 다.제 가 사용 하 는 163 무료 기업 메 일 은 기본적으로 열 립 니 다.
2.검사 가방,충돌 할 수 없습니다.그리고 자바 x.mail-xxx.jar 는 자바 x.mail-api-xxx.jar 가 아 닙 니 다.
3.다른 것 은 인증 류 를 반드시 추가 한 다음 에'mail.smtp.auth','true',기본 값 은 인증 을 사용 해 야 합 니 다.
잔말 말고 코드 를 달 아 라.
첫 번 째 클래스(검증 클래스)
import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;
public class MyAuthenticator extends Authenticator{
String userName = null;
String password = null;
public MyAuthenticator() {}
public PasswordAuthentication performCheck(String user, String pass){
userName = user;
password = pass;
return getPasswordAuthentication();
}
protected PasswordAuthentication getPasswordAuthentication(){
return new PasswordAuthentication(userName, password);
}
}
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 두 번 째 클래스(메 일 정보 클래스)
import java.util.Properties;
public class MailSenderInfo{
//
private String mailServerHost;
private String mailServerPort = "25";
//
private String fromAddress;
//
private String toAddress;
//
private String userName;
private String passsword;
//
private boolean validate;
//
private String subject;
//
private String content;
//
private String[] attachFileNames;
/**
*
* */
public Properties getProperties(){
Properties pro = new Properties();
pro.put("mail.smtp.host", this.mailServerHost);
pro.put("mail.smtp.port", this.mailServerPort);
pro.put("mail.smtp.auth", "true");
return pro;
}
public String getMailServerHost() {
return mailServerHost;
}
public void setMailServerHost(String mailServerHost) {
this.mailServerHost = mailServerHost;
}
public String[] getAttachFileNames() {
return attachFileNames;
}
public void setAttachFileNames(String[] attachFileNames) {
this.attachFileNames = attachFileNames;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public boolean isValidate() {
return validate;
}
public void setValidate(boolean validate) {
this.validate = validate;
}
public String getPasssword() {
return passsword;
}
public void setPasssword(String passsword) {
this.passsword = passsword;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getToAddress() {
return toAddress;
}
public void setToAddress(String toAddress) {
this.toAddress = toAddress;
}
public String getFromAddress() {
return fromAddress;
}
public void setFromAddress(String fromAddress) {
this.fromAddress = fromAddress;
}
public String getMailServerPort() {
return mailServerPort;
}
public void setMailServerPort(String mailServerPort) {
this.mailServerPort = mailServerPort;
}
}
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
세 번 째 클래스(메 일 발송 클래스)
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Date;
import java.util.Properties;
public class SimpleMailSender {
public boolean sendTextMail(MailSenderInfo mailInfo){
Properties pro = mailInfo.getProperties();
// , ( )
MyAuthenticator authenticator = new MyAuthenticator();
authenticator.performCheck(mailInfo.getUserName(), mailInfo.getPasssword());
// session
Session sendMailSession = Session.getInstance(pro, authenticator);
//
sendMailSession.setDebug(true);
try {
// session
Message mailMessage = new MimeMessage(sendMailSession);
//
Address from = new InternetAddress(mailInfo.getFromAddress());
//
mailMessage.setFrom(from);
// ,
Address to = new InternetAddress(mailInfo.getToAddress());
mailMessage.setRecipient(Message.RecipientType.TO, to);
//
mailMessage.setSubject(mailInfo.getSubject());
//
mailMessage.setSentDate(new Date());
//
String mailContent = mailInfo.getContent();
mailMessage.setText(mailContent);
//
Transport.send(mailMessage);
return true;
}catch (MessagingException ex){
ex.printStackTrace();
}
return false;
}
}
-----------------------------------------------------------------------------
import com.fndsoft.assistor.holiday.util.MailSenderInfo; import com.fndsoft.assistor.holiday.util.SimpleMailSender; public class TestSendEmail { public static void main(String[] args){ // MailSenderInfo mailInfo = new MailSenderInfo(); mailInfo.setMailServerHost("smtp.qiye.163.com");// mailInfo.setMailServerPort("25"); mailInfo.setValidate(true); mailInfo.setUserName("[email protected]"); mailInfo.setPasssword("***************"); mailInfo.setFromAddress("[email protected]"); mailInfo.setToAddress("[email protected]"); mailInfo.setSubject(" , "); mailInfo.setContent("【 】 :"+"112233"); // SimpleMailSender sms = new SimpleMailSender(); sms.sendTextMail(mailInfo); } }
그 거 나 왔어요.
Authenticator failed,
많은 자 료 를 찾 아 보 았 는데,기본적으로 위 에 설치 해 놓 으 면 큰 문제 가 없 을 것 이다.
여기 몇 편의 블 로그 가 있 는데 볼 수 있 고 많은 것 을 배 웠 습 니 다.
http://blog.csdn.net/wangyonglin1123/article/details/47446919
http://blog.csdn.net/karem/article/details/4646071
여러분 의 질문 과 지 도 를 환영 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.