import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.*;
import java.net.*;
public static void sendMailSend(String recipients[], String subject, String message, String from) throws MessagingException {
try{
boolean debug = false;
java.security.Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
String SMTP_HOST_NAME = "smtp.gmail.com";
//Properties 설정
Properties props = new Properties();
props.put("mail.transport.protocol", "smtp");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.host", SMTP_HOST_NAME);
props.put("mail.smtp.auth", "true");
//props.put("mail.smtp.connectiontimeout", "10000");
//props.put("mail.smtp.timeout", "10000");
props.put("mail.smtp.port", "465");
props.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
Authenticator auth = new SMTPAuthenticator();
Session session = Session.getDefaultInstance(props, auth);
session.setDebug(debug);
// create a message
Message msg = new MimeMessage(session);
// set the from and to address
InternetAddress addressFrom = new InternetAddress(from);
msg.setFrom(addressFrom);
InternetAddress[] addressTo = new InternetAddress[recipients.length];
if(recipients != null){
for (int i = 0; i < recipients.length; i++) {
addressTo[i] = new InternetAddress(recipients[i]);
}
}
msg.setRecipients(Message.RecipientType.TO, addressTo);
// Setting the Subject and Content Type
msg.setSubject(subject);
msg.setContent(message.toString(), "text/html; charset=euc-kr");
Transport.send(msg);
}catch(Exception e){
e.printStackTrace();
}
}
/**
*
* 1. 패키지명 :
* 2. 타입명 : alarmMail.java
* 3. 작성일 : 2013. 2. 18. 오후 1:58:06
* 4. 작성자 : jt-laptop
* 5. 설명 : 구글 사용자 메일 계정 아이디/패스 정보
*
*/
private static class SMTPAuthenticator extends javax.mail.Authenticator {
public PasswordAuthentication getPasswordAuthentication() {
String username = "ㅁㅁㅁ@gmail.com"; // gmail 사용자;
String password = "ㅁㅁㅁ"; // 패스워드;
return new PasswordAuthentication(username, password);
}
}
public static void sendEmail(String strType){
ArrayList list = null;
HashMap<String,String> hmap = new HashMap();
String[] userInfo = null;
String mailTitle = "";
String mailContent = "";
try {
//각 사용자 메일정보를 ㅁㅁㅁ.properties에서 받아온다.
//구분자(&&&)를 이용해서 메일 정보를 나눈다
userInfo = Util.getConfigValue("ㅁㅁㅁUserAlarm", "RECEIVE_USER_LIST").split("&&&");
mailTitle = strType+ " SERVER에서 문제가 발생되었습니다";
mailContent = strType + " SERVER의 점검 및 확인부탁드립니다";
//메일을 발송한다.
ImdbAlarmMail.sendMailSend(userInfo, mailTitle, mailContent, "ㅁㅁㅁ@gmail.com");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
*
* 1. 메소드명 : main
* 2. 작성일 : 2013. 2. 18. 오후 2:07:29
* 3. 작성자 : jt-laptop
* 4. 설명 : 배치가 돌게되면 가장 먼저
*
* @param Args
*/
public static void main(String[] Args){
String firstServer = "";
String "";
try{
for(int i=0;i<2;i++){
if(i == 0){
try{
URL site = new URL(firstServer );
java.net.URLConnection imdbUrl = site.openConnection();
if(imdbUrl.getContentLength() == -1){
sendEmail("firstServer ");
}
}catch(Exception e){
System.out.println("======== !!!! firstServer 접속오류 확인!!!! ========");
e.printStackTrace();
sendEmail("NEWS");
}
}else{
try{
URL site = new URL(popupServer);
java.net.URLConnection imdbUrl = site.openConnection();
if(imdbUrl.getContentLength() == -1){
sendEmail("secondServer ");
}
}catch(Exception e){
System.out.println("======== !!!! secondServer 접속오류 확인!!!! ========");
e.printStackTrace();
sendEmail("POPUP");
}
}
}
}catch(Exception e){
System.out.println("======== 메일전송 프로그램에 오류가 발생하였습니다 ========");
e.printStackTrace();
}
System.out.println("======== 서버정상 작동 확인여부 종료 ========");
}
}
'IT > Java' 카테고리의 다른 글
텍스트 포멧 코딩~ (0) | 2021.05.17 |
---|---|
The error occurred while applying a parameter map (0) | 2021.05.17 |
파일 읽어들일때 라인넘버 추가하는법~ (0) | 2021.05.17 |
jstl fmt 관련~ (0) | 2021.05.17 |
classes에서 properties 파일 읽어오기 (0) | 2021.05.17 |