java mail 简单示例

来源:互联网 发布:ds1100k 网络键盘 编辑:程序博客网 时间:2024/06/10 07:49

package testEmail;

import java.util.*;
import javax.mail.internet.*;
import javax.mail.*;
public class JavaMail163 {
  static class MailAuthenticator extends javax.mail.Authenticator {
      String authenName;
      String authenPass;
      public MailAuthenticator(String authenName,String authenPass) {
        super();
        this.authenName=authenName;
        this.authenPass=authenPass;
      }
      
      public javax.mail.PasswordAuthentication getPasswordAuthentication() {
       return new javax.mail.PasswordAuthentication(authenName,authenPass);
        }
     }

public static void sendEmail(String context) throws AddressException,
 MessagingException {
 Properties mailpro = new Properties();
 
 mailpro.put("mail.smtp.host", "smtp.somedomain.com");
 //you can change the smtpAuth to false to test another condition
 String smtpAuth="true";
 mailpro.put("mail.smtp.auth", smtpAuth);

 //you need change this to you email account and password in order to receive email;
 Session session=null;
 String sendAccount="youAccount";
 String sendPassword="youPassword";
 String receiveAccount="someone@domain.com";
 
 
 String recipSMTPHost="someone@domain.com";
 String sendSMTPHost="smtp.somedomain.com";
 if (smtpAuth.equals("true")) {
        MailAuthenticator myauth = new MailAuthenticator(sendAccount,sendPassword);
        session = Session.getInstance(mailpro, myauth);
      } else {
       recipSMTPHost=recipSMTPHost.substring(recipSMTPHost.indexOf('@')+1);
       sendSMTPHost=sendSMTPHost.substring(5);
       if(!(recipSMTPHost.equals(sendSMTPHost))){
        throw new MessagingException("Since you choose not carry SMTP authentication,you can not send to a email count whose SMTP host is different from you!");
       }
        session = Session.getInstance(mailpro);         
      }
 session.setDebug(true);
 MimeMessage msg = new MimeMessage(session);
 InternetAddress from=new InternetAddress("someone@domain.com");
 String s=from.toString();
 s=s.substring(s.indexOf('@')+1);
 System.out.println(s);
 msg.setFrom(from);
 msg.setRecipient(Message.RecipientType.TO,
   new InternetAddress(receiveAccount));
 msg.setSubject("测试发送邮件!!!");
 msg.setText(context);
 Transport.send(msg);
}
public static void main(String [] args) throws AddressException, MessagingException{
 sendEmail("hello world!");
}
}

原创粉丝点击