messagesender.java

来自「java xml开发指南(初学者推荐)Java Xml 编程指南书籍源码」· Java 代码 · 共 89 行

JAVA
89
字号
/*
    <msgSender>
      <class>MyNa.xml.MessageSender</class>
      <smtphost>mailhost.msn.com</smtphost>
      <mailerName>Simple Mail Bean 0.1</mailerName>
      <port>-1</port>
      <verbose>true</verbose>
      <debug>true</debug>
    </msgSender>
*/
package MyNa.xml;
import MyNa.utils.*;
import org.w3c.dom.Node;
import java.util.Enumeration;
import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;


public class MessageSender extends XmlConfigBase{

  Session session; 
  String smtphost;
  String mailerName;
  Env beanEnv;
  String errorMessage; String errorType;

  Logger lg;

public MessageSender(){
  beanEnv=new Env();
  errorMessage="";
  lg=new Logger();
}

public void setMiscError(String S){
  errorType="miscError"; errorMessage=S;
}
public String getErrorMessage(){
  String S=errorMessage; errorMessage=""; return S;
}
public boolean hasError(){return errorMessage.length()>0;}

public void startSession(){
    Properties props = System.getProperties();
    props.put("mail.smtp.host", getSmtphost());
    session = Session.getDefaultInstance(props, null);
    session.setDebug(debug);
}
public void endSession(){
    session = null;
}

public Session getSession(){return session;}

public void setInitDefs(Env E){
  lg.logIt("MS.setInitDefs("+E.toStringRec()+")");
  beanEnv.addHashtable(E);
  }
public void setSmtphost(String S){smtphost=S;}
public void setMailerName(String S){mailerName=S;}

public void setString(String key,String val){
  if(key==null)return;
  if(key.equals("verbose"))setVerbose(val);
  else if(key.equals("debug"))setDebug(val);
  else if(key.equals("beanName"))setBeanName(val);
  else if(key.equals("smtphost"))setSmtphost(val);
  else if(key.equals("mailerName"))setMailerName(val);
  else lg.logIt("(MessageSender) no such setstring: "+key+"!="+val);
}

public String getMailerName(){return mailerName;}
public String getSmtphost(){return smtphost;}

public String getString(String key){
  if(null==key)return null;
  if(key.equals("mailerName"))return getMailerName();
  return null; 
}

public void sendMessage(MimeMessage msg){
  try{Transport.send(msg);}
  catch(Exception E){setMiscError("fail to send "+E);}
}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?