Java自动发送邮件

需要使用到外部引用包javamail可以到这个网址上下载,我使用的是1.4.4

http://www.oracle.com/technetwork/java/javamail/index-138643.html

它会给出很多jar包,但是只需要引用mail.jar就可以了,这个貌似是集合了所有的包,其他的几个是分开的,你使用到其中哪一个包中得功能了,可以单独引用其他的。

由于这里是自动发送邮件,所以只写发送的部分,自动接收和读出信息可放到私下里交流,如果谁有兴趣,可以跟我联系。

其实javamail已经集成了所有的功能,我们要用到的就只是往里边输入信息就可以了,我下边用一个包装好的方法介绍一下,另外说一下,这个方法是可以重用的,直接复制到程序里就完全OK的。

public   boolean   sendMail(String mf,String mt,Stringms,String mc,String m_server,String m_user,String m_pswd)  

{

//mf:发送方;mt:接收方;ms:邮件标题,mc:邮件内容,m_server:MAIL服务器,m_user:用户名,m_pswd,密码;

      try

      {

        //也可以使用Properties props=System. getProperties();

        Propertiesprops=new Properties();

        //存储发送邮件服务器信息

        props.put("mail.smtp.host",m_server);

        //表示通过验证

        props.put("mail.smtp.auth","true");

        //新建一个邮件会话

        SessionnewSession=Session.getInstance(props);

         //新建一个消息对象

        MimeMessagemessage=new MimeMessage(newSession);

         //下边是设置邮件基本信息

        //设置发件人

        InternetAddressfrom=new InternetAddress(mf);

        message.setFrom(from);

        //设置收件人

        InternetAddresssto=new InternetAddress(mt);

//设置他们的接收类型为To

        message.setRecipient(Message.RecipientType.TO,sto);

        //设置发送副本

        message.setRecipient(Message.RecipientType.CC,sto);

        //设置密件发送副本

        message.setRecipient(Message.RecipientType.BCC,sto);

        //设置邮件的标题

        message.setSubject(ms);

        //设置邮件发送的时间

        message.setSentDate(newDate());

         //新建一个存放信件内容的BodyPart

        BodyPartmdp=new MimeBodyPart();

        //给BodyPart对象设置内容和格式/编码方式防止邮件出现乱码

        mdp.setContent(mc,"text/html;charset=gb2312");

        //新建一个Multipart存放BodyPart,可以存放多个

        Multipartmm = new MimeMultipart();

        //把BodyPart加入到Multipart中,可以添加多个

        mm.addBodyPart(mdp);

        //把Multipart作为消息的内容

        message.setContent(mm);

        //保存邮件信息

        message.saveChanges();

        //以smtp的方式登录邮箱

        Transporttransport=newSession.getTransport("smtp");

        //设置发送邮件的网管,发信的账户和密码

        transport.connect(m_server,m_user,m_pswd);

        //发送信息

        transport.sendMessage(message,message.getAllRecipients());

        transport.close();

        returntrue;

      }

      catch(MessagingExceptione)

      {

        e.printStackTrace();

        System.out.println(e.toString());

        returnfalse;

      }

}

以上是一个封装好的方法,如果使用的时候可以直接拷贝转移,然后在主类引用这个方法即可,注意添加必要的参数,我可以加上一个例子

sendMail( "xxxx@xmu.edu.cn",”****”,"hello","I'mhushichang,this is a automatic message! ^_^","smtp.xmu.edu.cn","xxxx","xxxx");

其中xxxx可以修改为自己发信的账户,以及用户名和密码,****是要接受的账户

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值