JavaMail示例

package mail.mailsend;

import java.util.Properties;
import javax.mail.Session;
import javax.mail.Store;
import javax.mail.Message;
import javax.mail.internet.MimeMessage;
import javax.mail.MessagingException;
import javax.mail.internet.InternetAddress;
import javax.mail.Multipart;
import javax.mail.internet.MimeMultipart;
import javax.mail.BodyPart;
import javax.mail.internet.MimeBodyPart;
import javax.mail.Transport;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;

public class mailsend {
  private String Filename="";
  private String From="marketing@acg.com.cn";
  private String PassWord="kk@78ms";
  private String SmtpHost="smtp.acg.com.cn";
  private String Subject="";
  private String Text="";
  private String To="";
  private String UserName="marketing@acg.com.cn";
  private boolean needAuth=true;
  private String errorstring;

  public void setFilename(String Filename) {
    this.Filename = Filename;
  }
  public String getFilename() {
    return Filename;
  }
  public void setFrom(String From) {
    this.From = From;
  }
  public String getFrom() {
    return From;
  }
  public void setPassWord(String PassWord) {
    this.PassWord = PassWord;
  }
  public String getPassWord() {
    return PassWord;
  }
  public String errorstring() {
    return errorstring;
  }
  public void setSmtpHost(String SmtpHost) {
    this.SmtpHost = SmtpHost;
  }
  public String getSmtpHost() {
    return SmtpHost;
  }
  public void setSubject(String Subject) {
    this.Subject = Subject;
  }
  public String getSubject() {
    return Subject;
  }
  public void setBody(String Text) {
    this.Text = Text;
  }
  public String getText() {
    return Text;
  }
  public void setUserName(String UserName) {
    this.UserName = UserName;
  }
  public String getUserName() {
    return UserName;
  }
  public void setNeedAuth(boolean needAuth) {
    this.needAuth = needAuth;
  }
  public boolean getNeedAuth() {
    return needAuth;
  }
  public void addAddress(String to){
    this.To=this.To+to+",";
  }

 public void Address(String to){
   this.To=to;
 }

  public InternetAddress[] getAddress(){
    try{
      this.To=this.To.substring(0,this.To.length()-1);
      String[] tempstr=this.To.split(",");
      InternetAddress[] address=new InternetAddress[tempstr.length];
      for (int i=0;i<tempstr.length;i++){
        address[i]=new InternetAddress(tempstr[i]);
      }
      return address;
    }catch(Exception e){System.out.println(e.getMessage());}
    return null;
  }

  public BodyPart getBody(String mailBody) {
    try {
      BodyPart bp = new MimeBodyPart();
      bp.setContent("<meta http-equiv=Content-Type content=text/html; charset=gb2312>" + mailBody, "text/html;charset=GB2312");
      return bp;
    }
    catch (Exception e) {
      errorstring="设置邮件正文时发生错误!" + e;
      return null;
    }
  }

  public BodyPart addFileAffix(String filename) {
    System.out.println("增加邮件附件:" + filename);
    try {
      BodyPart bp = new MimeBodyPart();
      FileDataSource fileds = new FileDataSource(filename);
      bp.setDataHandler(new DataHandler(fileds));
      bp.setFileName(fileds.getName());
      return bp;
    }
    catch (Exception e) {
      System.err.println("增加邮件附件:" + filename + "发生错误!" + e);
      return null;
    }
  }

  public boolean SendNow(){
    try {
      Properties props = new Properties();
      Session sendMailSession;
      Store store;
      Multipart mp=new MimeMultipart();
      mp.addBodyPart(getBody(this.Text));
      if (!"".equals(this.Filename))
        mp.addBodyPart(addFileAffix(this.Filename));
      props.put("mail.smtp.host", this.SmtpHost);
      props.put("mail.smtp.port","25");
      if (this.needAuth)
        props.put("mail.smtp.auth", "true");
      else
        props.put("mail.smtp.auth", "false");
      sendMailSession = Session.getInstance(props, null);
      Message newMessage = new MimeMessage(sendMailSession);
      newMessage.setFrom(new InternetAddress(this.From));
      newMessage.setSubject(this.Subject);
      newMessage.addRecipients(Message.RecipientType.TO,getAddress());
      newMessage.setSentDate(new java.util.Date());
      newMessage.setContent(mp);
      newMessage.saveChanges();
      Transport transport = sendMailSession.getTransport("smtp");
      transport.connect(this.SmtpHost, this.UserName, this.PassWord);
      transport.sendMessage(newMessage,newMessage.getRecipients(Message.RecipientType.TO));
      errorstring="发送邮件成功!";
      transport.close();
      return true;
    }
    catch (MessagingException m) {
      errorstring="发送失败:"+m.toString();
    }
    return false;
  }

}
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值