JR 精品文章 - 我写的一个邮件发送程序,欢迎大家提意见
AD: jr (at) javaresearch.org


首页 | 动态 | 文章 | FAQ  | 新闻 | 下载 | 代码 | 工作 | 调查 | 术语 | 站点 | 图书 | 论坛 | 帮助 | 全部  

TOP | 交流 | 软件 | 专栏 | 开源 | 译/著 | 源码 | API  | 推荐 | FTP  | 积分 | 统计 | 搜索 | Blog | 我们  
首页 » 研究文集 » J2EE综合 搜索标题相关文章 搜索标题相关文章    评论此文章 发表评论     开始监控此文章 开始监控   加入收藏夹  加入收藏夹
我写的一个邮件发送程序,欢迎大家提意见
yirancn 原创   更新:2007-10-27 15:44:52  版本: 1.0   

package net.zhang.common.tools.mail;
import javax.mail.*;

public class EmailAuthenticator extends Authenticator{
     private String username;
     private String userpassword;
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getUserpassword() {
        return userpassword;
    }
    public void setUserpassword(String userpassword) {
        this.userpassword = userpassword;
    }
    public EmailAuthenticator(String username,String userpassword){
        super();
        this.username=username;
        this.userpassword=userpassword;
    }
    public PasswordAuthentication getPasswordAuthentication(){
        return new PasswordAuthentication(username,userpassword);
    }
}

package net.zhang.common.tools.mail;

import javax.mail.Address;

public class MailForm {
    private String host;
    private String from;
    private String to;
    private String subject;
    private String content;
    private String file;
    public String getContent() {
        return content;
    }
    public void setContent(String content) {
        this.content = content;
    }
    public String getFile() {
        return file;
    }
    public void setFile(String file) {
        this.file = file;
    }
    public String getFrom() {
        return from;
    }

    public String getSubject() {
        return subject;
    }
    public void setSubject(String subject) {
        this.subject = subject;
    }
    public String getTo() {
        return to;
    }
    public void setTo(String to) {
        this.to = to;
    }
    public String getHost() {
        return host;
    }
    public void setHost(String host) {
        this.host = host;
    }
    public void setFrom(String from) {
        this.from = from;
    }
    

}

package net.zhang.common.tools.mail;

import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Properties;

import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.BodyPart;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.NoSuchProviderException;
import javax.mail.Part;
import javax.mail.Session;
import javax.mail.Store;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;

public class MailServer {
    private EmailAuthenticator emailAuthenticator;
    private String username;
    private String userpassword;
    
    public MailServer(String username,String userpassword){
        emailAuthenticator=new  EmailAuthenticator(username,userpassword);    
        this.username=username;
        this.userpassword=userpassword;
    }
    public void sendMail(MailForm mailForm){

        try {    
            
            Properties props=System.getProperties();
            props.put("mail.smtp.host",mailForm.getHost() );
            props.put("mail.smtp.auth", "true");
                            
            Session session=Session.getInstance(props, emailAuthenticator);
            MimeMessage message=new MimeMessage(session);
            
            
            message.setFrom(new InternetAddress(mailForm.getFrom()));
            message.setRecipient(Message.RecipientType.TO, new InternetAddress(mailForm.getTo()));
            message.setSubject(mailForm.getSubject());
            BodyPart messageBodyPart=new MimeBodyPart();
            messageBodyPart.setText(mailForm.getContent());
            
            
            Multipart multipart=new MimeMultipart();
            multipart.addBodyPart(messageBodyPart);
            
            
            messageBodyPart=new MimeBodyPart();
            DataSource source=new FileDataSource(mailForm.getFile());
            messageBodyPart.setDataHandler(new DataHandler(source));
            messageBodyPart.setFileName(mailForm.getFile());
            multipart.addBodyPart(messageBodyPart);
            
            
            message.setContent(multipart);
            message.saveChanges();
            Transport transport=session.getTransport("smtp");
            transport.connect(mailForm.getHost(), username, userpassword);
            transport.sendMessage(message, message.getAllRecipients());
            transport.close();
            System.out.println("邮件发送成功");
        
        } catch (AddressException e) {    
            System.err.println("address exception");
            e.printStackTrace();
        } catch (MessagingException e) {
            System.err.println("message exception");
            e.printStackTrace();
        }

    }
}


版权声明   给作者写信
本篇文章对您是否有帮助?  投票:         投票结果:     10       0
作者其它文章: 作者全部文章
评论人:caonimabiaa 发表时间: Fri Dec 14 19:54:23 CST 2007
hao a 

评论人:feixuefeihua 发表时间: Fri Apr 11 15:07:34 CST 2008
Password 和 username没有连数据库?这个可以运行吗? 我刚刚学还不是很清楚……

这个文章共有 2 条评论
主题: 对J2EE项目的一些体会 上一篇文章
返回文章列表 返回〔J2EE综合〕
下一篇文章 主题: JSP的九个隐含对象


文字广告链接
        自主、快速定制基于JAVA的B/S业务系统          重量级企业在线自定义WEB报表平台
        Excel制表、零代码发布、打印、图表结合——快逸报表,免费、稳定、功能强大的java工具
        技术圈: 关于Java、dotNet、PHP、Ruby、奇客、Web2.0等更多资讯博客精选文章

关于 JR  |  版权声明  |  联系我们 

©2002-2006 JR 版权所有 沪ICP备05019622号