每月更新1次的学习日记组织机构人员名单表,每月18日提交更新。
分类:开源
[LDDG(2004)04]学习日记开发小组开发文档汇总
用于学习日记开发小组生命周期中的所有能以文字存在的开发文档。
[LDDG(2004)03]学习日记开发小组月进度报表
用于汇总开发小组每个月的工作进度总结。
[LDDG(2004)02]学习日记开发小组重要信件、公告
用于汇总对开发小组有标志性意义的各种信件和公告。随时提交。
[LDDG(2004)01]学习日记开发小组贡献人员名单
用于详细记录开发小组成员的贡献,每月在这个日记的评论中提交一次。
疑问:raorao写的EmailAuthenticator.java我不懂
Authenticator ,PasswordAuthentication这两个类没有用过,没有见过,学习中。。。
反馈了raorao和zhl提交的程序
收到并反馈了两人提交的程序。raorao的增加邮件系统的预定目标已经完成,给他提了一点小的增加。把raorao的工作成果发给了开发小组成员内部参考。zhl的程序还有待进一步努力。回复了jw的几点建议。
今天收到raorao发来的增加邮件系统的程序并且
近期内我将把它集成入现有的www.learndiary.com中。并在基本的功能集成完毕后包装发布。
文档是这样写的吗?
我还没写过文档,请问大家,是这样写的吗?
这就是我写发送邮件的那个程序的文档
位置:package com.learndiary.website.action.sendmail
整体描述:实现Runnable接口,运行在后台发送邮件的线程
成员变量:
private ArrayList userInfoList 订阅了此目标的所有用户
private ArticleInfo articleInfo 需发送的日记
private int goalID 目标goalID
private String userNameOfWriteDiary 写日记用户的用户名
成员方法:
public String getGoalName() 返回目标的Name
局部变量:
goalName = myDB.getGoalNameByID(goalID); 通过goalID返回目标的Name
public void run() 线程里的run方法
局部变量:
EmailAuthenticator mailAuthenticator = new EmailAuthenticator(uername,password); 获得SMTP邮件服务器认证.
Properties props = System.getProperties(); 获得系统属性
props.put("mail.smtp.host",host); 设置邮件服务器
props.put("mail.smtp.auth","true"); 设置邮件服务器
Session session = Session.getInstance(props,(Authenticator)mailAuthenticator); 获得会话
String toMail = userInfo.getEmail(); 获得订阅了此目标用户的邮箱(收信地址)
String userName = userInfo.getUserName(); 获得订阅了此目标用户的用户名
Session session = Session.getInstance(props,(Authenticator)mailAuthenticator); 获得会话
MimeMessage message = new MimeMessage(session); 定义消息
message.setFrom(new InternetAddress(from)); 设置发信人
message.addRecipient(Message.RecipientType.TO,new InternetAddress(toMail)); 设置收信人
message.setSubject("学习日记您订阅的目标日记"); 设置消息主题
message.setText("您好!"+userName+bodyText); 设置消息内容
transport.connect(host,uername,password); 链接SMTP邮件服务器
transport.sendMessage(message,message.getAllRecipients()); 发送消息
transport.close(); 关闭连接
增加订阅邮件功能已完成
我把发送邮件的原代码贴出来
public class ToSendMailOfThread implements Runnable{
private ArrayList userInfoList = null;
private ArticleInfo articleInfo=null;
private int goalID ;
private String userNameOfWriteDiary = null;
ToSendMailOfThread(ArrayList userInfoList,ArticleInfo articleInfo,int goalID,String userNameOfWriteDiary){
this.userInfoList = userInfoList;
this.articleInfo = articleInfo;
this.goalID = goalID;
this.userNameOfWriteDiary = userNameOfWriteDiary;
}
public String getGoalName() {
String goalName =null;
try{
LearnDiaryDB myDB = new LearnDiaryDB();
goalName = myDB.getGoalNameByID(goalID);
}catch (Exception e){
e.printStackTrace();
return goalName;
}
return goalName;
}
public void run(){
String host = "smtp.126.com";
String from = "learndiary@126.com";
String uername = "learndiary";
String password = "123456";
UserInfo userInfo = null;
String goalName = getGoalName();
java.sql.Timestamp now = new java.sql.Timestamp(System.currentTimeMillis());
StringBuffer bodyTextBuffer = new StringBuffer() ;
bodyTextBuffer.append("\n");
bodyTextBuffer.append("关于学习目标:");
bodyTextBuffer.append(goalName);
bodyTextBuffer.append("\n");
bodyTextBuffer.append(userNameOfWriteDiary);
bodyTextBuffer.append(" 在 ");
bodyTextBuffer.append(now);
bodyTextBuffer.append(" 写了如下日记: \n");
bodyTextBuffer.append("---------------------------------------------------------------- \n");
bodyTextBuffer.append("标题: ");
bodyTextBuffer.append(articleInfo.getArticleName());
bodyTextBuffer.append("\n");
bodyTextBuffer.append("内容: ");
bodyTextBuffer.append(articleInfo.getArticleText());
bodyTextBuffer.append("\n");
bodyTextBuffer.append("相关资源: ");
bodyTextBuffer.append(articleInfo.getArticleResource());
bodyTextBuffer.append("\n");
bodyTextBuffer.append("---------------------------------------------------------------- \n");
bodyTextBuffer.append("欢迎常来学习日记! http://www.learndiary.com");
bodyTextBuffer.append("\n");
String bodyText = bodyTextBuffer.toString();
EmailAuthenticator mailAuthenticator = new EmailAuthenticator(uername,password);
Properties props = System.getProperties();
props.put("mail.smtp.host",host);
props.put("mail.smtp.auth","true");
Iterator iterator = userInfoList.iterator();
while(iterator.hasNext()){
userInfo=(UserInfo)iterator.next();
String toMail = userInfo.getEmail();
String userName = userInfo.getUserName();
try{
Session session = Session.getInstance(props,(Authenticator)mailAuthenticator);
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO,new InternetAddress(toMail));
message.setSubject("学习日记您订阅的目标日记");
message.setText("您好!"+userName+bodyText);
message.saveChanges();
Transport transport = session.getTransport("smtp");
transport.connect(host,uername,password);
transport.sendMessage(message,message.getAllRecipients());
transport.close();
//System.out.println("已发送一封邮件:"+toMail);
} catch (Exception e){
e.printStackTrace();
}
}//end of while
}//end of run()
}