java mail 簡單樣本

來源:互聯網
上載者:User

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!");
}
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.