java mail 简单示例

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

愤怒的月光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值