아파치 커먼즈 이메일 API로 다음 코드를 시도해 본다. 어떤 도움?javax.naming.NoInitialContextException 아파치 커먼즈 api
import java.util.Properties;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.SimpleEmail;
public class email {
/**
* @param args
* @throws EmailException
*/
public static void main(String[] args) throws EmailException {
// TODO Auto-generated method stub
Properties props = new Properties();
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.port", "587");
Session session = Session.getInstance(props,
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("[email protected]", "password");
}
});
SimpleEmail se = new SimpleEmail();
se.addTo("[email protected]");
se.setFrom("[email protected]");
se.setSubject("Test email");
se.setMsg("Hi there");
se.send();
}
}
그것은 다음과 같은 오류가 발생합니다. 이것을 극복하기 위해 어디에서/무엇을 설정해야합니까? 이 점에 어떤 도움이 필요합니까?
javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.lookup(Unknown Source)
at javax.xml.registry.samples.SimpleClient.doit(Unknown Source)
at javax.xml.registry.samples.SimpleClient.main(Unknown Source)
어떻게'doit' 방법이 생겼는데? 'javax.xml.registry.samples.SimpleClient'는 게시하는 코드와 동일합니까? – longhua
나는이 코드를 가지고 있습니까? 나는 무엇인가 놓친다? doit 방법은 무엇입니까? 도울 수 있니? – user1411601
잘못된 수업을 사용하고 계신가요? Java 클래스를 어떻게 실행합니까? javax.xml.registry.samples.SimpleClient가 아닌'email' 클래스를 사용해야합니다. 스택 추적을 확인하십시오. – longhua