서블릿을 통해 전자 메일을 보내야했지만 많은 코드를 시도했지만 그 중 아무도 gmail 계정으로 작업하지 않았습니다.서블릿을 사용하여 전자 메일 보내기
java.security.Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
Properties props = new Properties();
props.put("mail.transport.protocol", "smtp");
props.put("mail.smtp.starttls.enable","true");
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.auth", "true");
Authenticator auth = new SMTPAuthenticator();
//auth = null;
Session sess = Session.getInstance(props, auth);
sess.setDebug(false);
// -- Create a new message --
Message msg = new MimeMessage(sess);
// -- Set the FROM and TO fields --
msg.setFrom(new InternetAddress("[email protected]"));
msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(
"sendtoemail", false));
msg.setSubject("Test");
msg.setText("Yippe");
msg.setSentDate(new Date());
Transport.send(msg);
public class SMTPAuthenticator extends javax.mail.Authenticator {
@Override
public PasswordAuthentication getPasswordAuthentication() {
String username = "[email protected]";
String password = "mypass";
return new PasswordAuthentication(username, password);
}
은}
이 코드는
public static Email createMail(){
Email email = SimpleEmail();
email.setHostName(Settings.getValue("smtp.host"));
email.setSmtpPort(Integer.parseInt(Settings.getValue("smtp.port")));
String username = Settings.getValue("smtp.user");
if (username.length() > 0) {
email.setAuthentication(username, Settings.getValue("smtp.password"));
}
boolean useSSL = false;
try {
useSSL = Boolean.parseBoolean(Settings.getValue("smtp.ssl"));
} catch (Exception ex) {
// ignore - property not set
}
email.setSSL(useSSL);
email.setCharset("utf-8");
return email;
}
public sendMail(String recipientEmail) {
Email email = createMail();
email.addTo(recipientEmail);
email.setFrom("[email protected]");
email.setSubject("Your subject herE");
email.setMsg("Your message here");
email.send();
}
어떻게 이것을 my..netbeans 프로젝트에 추가합니까? – user217029
을 다운로드하여 빌드 경로에 추가하십시오. – Bozho