到 Google 资讯主页   
EasyJF首页   资料   源码   软件    论坛   网站    
   使用帮助    
    该信息为本站MyRSS系统缓存内容,部分图片及附件有可能无法正常使用.easyjf.comwww.javaresearch.org无关,不对该信息负责.通过http://www.javaresearch.org/article/77304.htm访问该信息的原始内容.
页面功能  【加入收藏】 【推荐给朋友】 【字体:  】 【关闭】   
我写的一个邮件发送程序,欢迎大家提意见
作者: 来源:www.javaresearch.org  发布时间:2007-12-11 11:02:47.85


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();
        }

    }
}


 
相关文章
 
页面功能  【加入收藏】 【推荐给朋友】 【字体:  】 【关闭】   


EasyJF.com 2006 隐私政策 使用EasyJF前必读