java发送邮件

来源:互联网 发布:mac地址烧录1.36 编辑:程序博客网 时间:2024/05/17 23:49
import java.util.Date;
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;
import javax.mail.Message.RecipientType;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;

 public class MailTest {

    private MimeMessage msg;

    public static void main(String[] args){
     MailTest mail = new MailTest("saa.u.com","shaoxianjun","11111");
     mail.sendMessage("shaoxianjun@cn.fujitsu.com", "Test", "Hello,World!", "text/html");
    }


      public MailTest(String fromDomin, String userName, String password) {
        Properties p = new Properties();
        p.setProperty("mail.host", "smtp." + fromDomin);
        p.setProperty("mail.smtp.auth", "true");
        Session ses = Session.getDefaultInstance(p, new MyAuthenticator(userName, password));
        ses.setDebug(true);
        msg = new MimeMessage(ses);
        try {
            msg.setFrom(new InternetAddress(userName + "@" + fromDomin));
          } catch (AddressException e) {
             e.printStackTrace();
        } catch (MessagingException e) {
            e.printStackTrace();
        }
      }


     public boolean sendMessage(String toAddress, String title, String content, String type) {
 
         try {
            msg.setRecipient(RecipientType.TO, new InternetAddress(toAddress));
            msg.setSentDate(new Date());
            msg.setSubject(title);
            msg.setContent(content, type);
            Transport.send(msg);
            return true;
         } catch (MessagingException ex) {
            ex.printStackTrace();
            return false;
         }
    }
 
    public boolean sendEmailWithAttachment(String toAddress, String title, MimeMultipart content, String type) {
         try {
             msg.setRecipient(RecipientType.TO, new InternetAddress(toAddress));
             msg.setSentDate(new Date());
             msg.setSubject(title);
             msg.setContent(content);
           Transport.send(msg);
            return true;
            } catch (MessagingException ex) {
             ex.printStackTrace();
            return false;
         }
     }
 }


class MyAuthenticator extends Authenticator {
     
     private String _userName;
     private String _password;
     
     public MyAuthenticator(String userName,String password){
         this._userName = userName;
         this._password = password;
     }
    
     @Override
     public PasswordAuthentication getPasswordAuthentication() {
         return new PasswordAuthentication(_userName, _password);
    }
}
原创粉丝点击