SMTP客户端

41 篇文章 0 订阅

标题:SMTP客户端
作者:kagula
日期:2008-01-04

目的:
    通过这里的代码,在你的应用程序中,可以通过SMTP服务器发送电子邮件,无需任何修改
适应任何环境。

依赖项:
    [1]mail.jar
正文:
[1]源码段
/**
  * 发送电子邮件
  * 参数
  *   smtp.host smtp服务器名称
  *   smtp.user 登录smtp,用户名
  *   smtp.pwd  登录smtp,密码
  *   smtp.from  发送电子邮件地址
  *   smtp.to    接收电子邮件地址 (必填项)
  *   smtp.subject 主题 (必填项)
  *   smtp.content 内容 (必填项)
  *  
  *   缺少必填项,程序将直接返回。
  *  
  * @param map
  * @throws Exception
  */
 public static synchronized void sendMail(Map map)    throws Exception
 {   
  /**
   * 如果形参map没有提供,以下入口参数,则设置缺省值
   * smtp.host  smtp服务器名称
   * smtp.user  smtp登录用户名
   * smtp.pwd   smtp登录密码
   * smtp.from  发送电子邮件地址
   */
  
  if(map.get("smtp.host")==null||map.get("smtp.host").toString().length()<1)
  {
   map.put("smtp.host","缺省主机名"); 
  }
  if(map.get("smtp.user")==null||map.get("smtp.user").toString().length()<1)
  {
   map.put("smtp.user", "缺省SMTP服务器帐号");
  }
  if(map.get("smtp.pwd")==null||map.get("smtp.pwd").toString().length()<1)
  {
   map.put("smtp.pwd", "SMTP帐号密码");
  }  
  if(map.get("smtp.from")==null||map.get("smtp.from").toString().length()<1)
  {
   map.put("smtp.from", "发送电子信息");
  }
  
  /**
   * 如果缺少 必填项  程序  直接返回
   */
  if(map.get("smtp.to")==null||map.get("smtp.subject")==null||map.get("smtp.content")==null)
  {
   return;
  }
  
  if(map.get("smtp.to").toString().length()<1||map.get("smtp.subject").toString().length()<1||map.get("smtp.content").toString().length()<1)
  {
   return;
  }
  
  /**
   * 源码 正文
   */
  Properties props = new Properties();
  
  props.put("mail.smtp.host",(String)map.get("smtp.host"));   
  props.put("mail.smtp.user", (String)map.get("smtp.user"));
  props.put("mail.smtp.auth", "true"); //SMTP服务器用户验证
  
  Authenticator auth = new SMTPAuthenticator((String)map.get("smtp.user"),
    (String)map.get("smtp.pwd"));
  
  Session session = Session.getDefaultInstance(props, auth);
 
  MimeMessage msg = new MimeMessage(session);  
  
  //setFrom(new   InternetAddress("flyfoxer@21cn.com",from));
  msg.setFrom(new InternetAddress((String)map.get("smtp.from"))); //设置发送人邮件
  
  // Set the to address
     msg.addRecipient(Message.RecipientType.TO,new InternetAddress((String)map.get("smtp.to")));
    
  msg.setSubject((String)map.get("smtp.subject"), "gbk");
  
  msg.setSentDate(new Date());
  
  msg.setText((String)map.get("smtp.content")); //邮件附件
 
  msg.saveChanges();
  
  Transport.send(msg);
 } 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

kagula086

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

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

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

打赏作者

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

抵扣说明:

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

余额充值