|  | @ -0,0 +1,124 @@
 | 
	
		
			
				|  |  | //package com.yihu.admin.email;
 | 
	
		
			
				|  |  | //
 | 
	
		
			
				|  |  | //import de.codecentric.boot.admin.event.ClientApplicationEvent;
 | 
	
		
			
				|  |  | //import de.codecentric.boot.admin.notify.MailNotifier;
 | 
	
		
			
				|  |  | //import org.slf4j.Logger;
 | 
	
		
			
				|  |  | //import org.slf4j.LoggerFactory;
 | 
	
		
			
				|  |  | //import org.springframework.boot.context.properties.ConfigurationProperties;
 | 
	
		
			
				|  |  | //import org.springframework.expression.EvaluationContext;
 | 
	
		
			
				|  |  | //import org.springframework.expression.Expression;
 | 
	
		
			
				|  |  | //import org.springframework.expression.ParserContext;
 | 
	
		
			
				|  |  | //import org.springframework.expression.spel.standard.SpelExpressionParser;
 | 
	
		
			
				|  |  | //import org.springframework.expression.spel.support.StandardEvaluationContext;
 | 
	
		
			
				|  |  | //import org.springframework.mail.MailSender;
 | 
	
		
			
				|  |  | //import org.springframework.mail.SimpleMailMessage;
 | 
	
		
			
				|  |  | //import org.springframework.stereotype.Component;
 | 
	
		
			
				|  |  | //
 | 
	
		
			
				|  |  | //import java.util.Arrays;
 | 
	
		
			
				|  |  | //
 | 
	
		
			
				|  |  | ///**
 | 
	
		
			
				|  |  | // * Created by chenweida on 2018/5/8 0008.
 | 
	
		
			
				|  |  | // * de.codecentric.boot.admin.config.NotifierConfiguration */
 | 
	
		
			
				|  |  | //@Component
 | 
	
		
			
				|  |  | //@ConfigurationProperties("spring.boot.admin.notify.mail")
 | 
	
		
			
				|  |  | //public class MyMailNotifier extends MailNotifier {
 | 
	
		
			
				|  |  | //
 | 
	
		
			
				|  |  | //
 | 
	
		
			
				|  |  | //    private static final String DEFAULT_SUBJECT = "#{application.name} (#{application.id}) is #{to.status}";
 | 
	
		
			
				|  |  | //    private static final String DEFAULT_TEXT = "#{application.name} (#{application.id})\nstatus changed from #{from.status} to #{to.status}\n\n#{application.healthUrl}";
 | 
	
		
			
				|  |  | //
 | 
	
		
			
				|  |  | //    private final SpelExpressionParser parser = new SpelExpressionParser();
 | 
	
		
			
				|  |  | //
 | 
	
		
			
				|  |  | //    private Logger logger = LoggerFactory.getLogger(MyMailNotifier.class);
 | 
	
		
			
				|  |  | //
 | 
	
		
			
				|  |  | //    private final MailSender sender;
 | 
	
		
			
				|  |  | //
 | 
	
		
			
				|  |  | //    /**
 | 
	
		
			
				|  |  | //     * recipients of the mail
 | 
	
		
			
				|  |  | //     */
 | 
	
		
			
				|  |  | //    private String to[] = {"root@localhost"};
 | 
	
		
			
				|  |  | //
 | 
	
		
			
				|  |  | //    /**
 | 
	
		
			
				|  |  | //     * cc-recipients of the mail
 | 
	
		
			
				|  |  | //     */
 | 
	
		
			
				|  |  | //    private String cc[];
 | 
	
		
			
				|  |  | //
 | 
	
		
			
				|  |  | //    /**
 | 
	
		
			
				|  |  | //     * sender of the change
 | 
	
		
			
				|  |  | //     */
 | 
	
		
			
				|  |  | //    private String from = null;
 | 
	
		
			
				|  |  | //
 | 
	
		
			
				|  |  | //    /**
 | 
	
		
			
				|  |  | //     * Mail Text. SpEL template using event as root;
 | 
	
		
			
				|  |  | //     */
 | 
	
		
			
				|  |  | //    private Expression text;
 | 
	
		
			
				|  |  | //
 | 
	
		
			
				|  |  | //    /**
 | 
	
		
			
				|  |  | //     * Mail Subject. SpEL template using event as root;
 | 
	
		
			
				|  |  | //     */
 | 
	
		
			
				|  |  | //    private Expression subject;
 | 
	
		
			
				|  |  | //
 | 
	
		
			
				|  |  | //    public MyMailNotifier(MailSender sender) {
 | 
	
		
			
				|  |  | //        super(sender);
 | 
	
		
			
				|  |  | //        logger.info("init email");
 | 
	
		
			
				|  |  | //        this.sender = sender;
 | 
	
		
			
				|  |  | //        this.subject = parser.parseExpression(DEFAULT_SUBJECT, ParserContext.TEMPLATE_EXPRESSION);
 | 
	
		
			
				|  |  | //        this.text = parser.parseExpression(DEFAULT_TEXT, ParserContext.TEMPLATE_EXPRESSION);
 | 
	
		
			
				|  |  | //
 | 
	
		
			
				|  |  | //    }
 | 
	
		
			
				|  |  | //
 | 
	
		
			
				|  |  | //    @Override
 | 
	
		
			
				|  |  | //    protected void doNotify(ClientApplicationEvent event) {
 | 
	
		
			
				|  |  | //        logger.info("send email");
 | 
	
		
			
				|  |  | //        EvaluationContext context = new StandardEvaluationContext(event);
 | 
	
		
			
				|  |  | //
 | 
	
		
			
				|  |  | //        SimpleMailMessage message = new SimpleMailMessage();
 | 
	
		
			
				|  |  | //        message.setTo(to);
 | 
	
		
			
				|  |  | //        message.setFrom(from);
 | 
	
		
			
				|  |  | //        message.setSubject(subject.getValue(context, String.class));
 | 
	
		
			
				|  |  | //        message.setText(text.getValue(context, String.class));
 | 
	
		
			
				|  |  | //        message.setCc(cc);
 | 
	
		
			
				|  |  | //
 | 
	
		
			
				|  |  | //        sender.send(message);
 | 
	
		
			
				|  |  | //    }
 | 
	
		
			
				|  |  | //
 | 
	
		
			
				|  |  | //    public void setTo(String[] to) {
 | 
	
		
			
				|  |  | //        this.to = Arrays.copyOf(to, to.length);
 | 
	
		
			
				|  |  | //    }
 | 
	
		
			
				|  |  | //
 | 
	
		
			
				|  |  | //    public String[] getTo() {
 | 
	
		
			
				|  |  | //        return Arrays.copyOf(to, to.length);
 | 
	
		
			
				|  |  | //    }
 | 
	
		
			
				|  |  | //
 | 
	
		
			
				|  |  | //    public void setCc(String[] cc) {
 | 
	
		
			
				|  |  | //        this.cc = Arrays.copyOf(cc, cc.length);
 | 
	
		
			
				|  |  | //    }
 | 
	
		
			
				|  |  | //
 | 
	
		
			
				|  |  | //    public String[] getCc() {
 | 
	
		
			
				|  |  | //        return Arrays.copyOf(cc, cc.length);
 | 
	
		
			
				|  |  | //    }
 | 
	
		
			
				|  |  | //
 | 
	
		
			
				|  |  | //    public void setFrom(String from) {
 | 
	
		
			
				|  |  | //        this.from = from;
 | 
	
		
			
				|  |  | //    }
 | 
	
		
			
				|  |  | //
 | 
	
		
			
				|  |  | //    public String getFrom() {
 | 
	
		
			
				|  |  | //        return from;
 | 
	
		
			
				|  |  | //    }
 | 
	
		
			
				|  |  | //
 | 
	
		
			
				|  |  | //    public void setSubject(String subject) {
 | 
	
		
			
				|  |  | //        this.subject = parser.parseExpression(subject, ParserContext.TEMPLATE_EXPRESSION);
 | 
	
		
			
				|  |  | //    }
 | 
	
		
			
				|  |  | //
 | 
	
		
			
				|  |  | //    public String getSubject() {
 | 
	
		
			
				|  |  | //        return subject.getExpressionString();
 | 
	
		
			
				|  |  | //    }
 | 
	
		
			
				|  |  | //
 | 
	
		
			
				|  |  | //    public void setText(String text) {
 | 
	
		
			
				|  |  | //        this.text = parser.parseExpression(text, ParserContext.TEMPLATE_EXPRESSION);
 | 
	
		
			
				|  |  | //    }
 | 
	
		
			
				|  |  | //
 | 
	
		
			
				|  |  | //    public String getText() {
 | 
	
		
			
				|  |  | //        return text.getExpressionString();
 | 
	
		
			
				|  |  | //    }
 | 
	
		
			
				|  |  | //}
 |