logo资料库

邮件服务器源码.doc

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
1) MailSendClientToMyDomain.java //////////////////////////////////////////// //由admin@mydomain.com发送到admin@mydomain.com //实验验证:success //环境社设置:merak中配置admin@mydomain.com /////////////////////////////////////////// public class MailSendClientToMyDomain { protected Session session;//邮件会话 private String sendHost="localhost";//邮件服务器主机名 private String sendProtocol="smtp";//发送邮件协议 private String toAddr="admin@mydomain.com";//这里toAddr可以换成你自己 的邮箱地址 private String fromAddr="admin@mydomain.com"; public void init() throws Exception{//根据配置的JavaMail属性生成邮件会 话session对象 /* 和values。 法*/ 协议 Properties props=new Properties();//配置JavaMail属性 Java.util.Properties类是Hashtable的一个子类,设计用于String keys Properties对象的用法同Hashtable的用法相象,但是类增加了两个节省时间的方 props.put("mail.transport.protocol",sendProtocol);//指定邮件发送 props.put("mail.smtp.class","com.sun.mail.smtp.SMTPTransport"); //指定支持SMTP协议的Transport具体类,由第三方支持 props.put("mail.smtp.host",sendHost);//指定采用SMTP协议的邮件发送 服务器的IP地址或者主机名 JavaMail属性来创建Session实例 session=Session.getDefaultInstance(props);//根据已经配置的 session.setDebug(true);//运行时输出日志。 } public void sendMessage(String fromAddr,String toAddr)throws Exception{//发送邮件方法 Message msg=createSimpleMessage(fromAddr,toAddr); Transport.send(msg); } public Message createSimpleMessage(String fromAddr,String toAddr) throws Exception{ //构造邮件方法 Message msg=new MimeMessage(session);//根据session对象创建Message 对象 者地址 InternetAddress[] toAddrs=InternetAddress.parse(toAddr,false); msg.setRecipients(Message.RecipientType.TO,toAddrs);//邮件接收 1
msg.setSentDate(new Date());//设置邮件发送日期 msg.setSubject("Hello!");//设置邮件主题 msg.setFrom(new InternetAddress(fromAddr));//设置发件人地址 msg.setText("How are you getting along recently? I miss you very much!!!!");//设置邮件正文 return msg; } public static void main(String[] args) throws Exception{ MailSendClientToMyDomain client=new MailSendClientToMyDomain(); client.init(); client.sendMessage(client.fromAddr,client.toAddr); } } 2) MailReceiveClientFromMydomain.java //////////////////////////////////////////// //读出由admin@mydomain.com发送到admin@mydomain.com的所有邮件内容 //实验验证:success //环境社设置:merak中配置admin@mydomain.com /////////////////////////////////////////// public class MailReceiveClientFromMydomain { protected Session session;//邮件会话 protected Store store;//store对象 private String receiveHost = "localhost";//接收邮件服务器的主机名 private String receiveProtocol = "imap";//接收邮件协议 private String username = "admin";//邮件用户名 private String password = "1234";//邮件密码 private String toAddr = "admin@mydomain.com";//邮件地址 public void init() throws Exception {//设置JavaMail属性,并创建session Properties props = new Properties(); props.put("mail.store.protocol", receiveProtocol); props.put("mail.imap.class", "com.sun.mail.imap.IMAPStore"); session = Session.getDefaultInstance(props); store = session.getStore(receiveProtocol); //接收邮件服务器上注册用户的存储空间,参数为接收邮件协议imap store.connect(receiveHost, username, password);//连接到接收邮件服 务器 } public void close() throws Exception { store.close(); } public void receiveMessage() throws Exception { browseMessagesFromFolder("inbox"); } 2
public void browseMessagesFromFolder(String folderName) throws Exception { Folder folder = store.getFolder(folderName); //根据folderName,返回store中指定的邮件夹 if (folder == null) throw new Exception(folderName + "邮件夹不存在!"); browseMessagesFromFolder(folder); //调用重载方法browseMessagesFromFolder(Folder folder)输出邮件夹中的 信息 { /* } public void browseMessagesFromFolder(Folder folder) throws Exception folder.open(Folder.READ_ONLY);//打开邮件夹 System.out.println("You have " + folder.getMessageCount() + " messages in inbox!");//获得邮件夹中的邮件数目 System.out.println("You have " + folder.getUnreadMessageCount() + " unread messages in inbox!");//获得邮件夹中未读邮件的数目 Message[] messages = folder.getMessages(); //从邮件夹中取出邮件,存于数组messages[]中 for (int i = 1; i <= messages.length; i++) { System.out.println("-------第" + i + "封邮件---------"); folder.getMessage(i).writeTo(System.out);//输出邮件信息 * System.out.println("From:"+messages[i].getFrom()[0]); * System.out.println("Subject:"+messages[i].getSubject()); * System.out.println("Text:"+messages[i].getContent()); System.out.println(); }*/ for(int i=0;i
分享到:
收藏