零碎1-利用代理发邮件Java功能

  • 1. 需求
  • 用Java完成发邮件的小程序,可用代理,可添加附件
  • 2.实现关键部分
  • jar包:javax.mail.jar(主要包,发送邮件相关),activation-1.1.1.jar(主要用来处理附件)
  • 代码太多,这里就讲下思路:
    • 1)设置session等完成邮件基础设置(代码片段):
    • this.auth = new MailAuthenticator(username,password);
      Session session = Session.getDefaultInstance(pros,auth);
      session.setDebug(true); //设置获取 debug 信息
      mimeMessage = new MimeMessage(session);
          然后包装MimeMessage,即设置邮件内容(代码片段):
    • mimeMessage.setSubject(sub);
      mimeMessage.setText(text);
      mimeMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
      mimeMessage.setSentDate(new Date());
      mimeMessage.setFrom(new InternetAddress(username,username));
    •    然后利用Transport发送MimeMessage;
    • Transport.send(mimeMessage);
         这样就完成基本的流程。
    • 2)在邮件发送前的任何地方,添加如下代码:
    • System.setProperty("socksProxyHost", 代理IP);  
      System.setProperty("socksProxyPort",代理接口);
    • 实现调用代理。
    • 3)包装multipart,设置附件信息,
    •  if(multipart==null){
             multipart = new MimeMultipart();
      }
      multipart.addBodyPart(writeFiles(file));
       mimeMessage.setContent(multipart);
       实现添加附件功能。
    • 注:在自己写的程序中发送邮件,相当于利用第三方操作自己的邮箱,这个时候有些邮箱就要求做用户密码和SSL验证,我测试用的QQ邮箱就需要,实现这个的关键,要先新建一个用户密码验证类MailAuthenticator,实现验证关键代码如下:
      this.auth = new MailAuthenticator(username,password);
      Session session = Session.getDefaultInstance(pros,auth);
    • 代码中pros,是个Properties对象,包含了SSL验证等相关信息,如下:
  • 3.完成
    •  程序最终实现见http://code.taobao.org/p/MailSender828/src/trunk/SendMail/
    • 配置信息都单独放在properties文件中,方便打包后再次修改,其中:
    •  config.properties是存放发送邮件服务器、SSL验证信息、代理等信息的文件;
    • mail.properties是存放具体邮件内容,例如收发件人邮箱地址、标题等内容的文件;
    • attachments.txt是存放附件附件实际路径的文档,一个文件路径一行,文档可以为空。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值