posts - 24,  comments - 25,  trackbacks - 0

很久没来更新了,这次是关于发送邮件和附件的。

import java.io.File;
import java.util.Properties;

import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;

public class SendEmail
{
    
private static String host     = ""// SMTP服务器地址

    
private static String user     = ""// 用户名

    
private static String password = "";  // 密码

    
private static String from     = ""// 发件人

    
private static String to       = "";   // 收件人
    
    
/**
     * 
     * 
@param subject 邮件主题
     * 
@param content 邮件内容
     * 
@param filename 附件
     
*/

    
public static void send(String subject, String content, String filename)
    
{
        Properties props 
= new Properties();
        BodyPart bp 
= new MimeBodyPart();
        Multipart mp 
= new MimeMultipart();
        
        props.put(
"mail.smtp.host", host);//指定SMTP服务器
        props.put("mail.transpost.protocol""smtp");
        props.put(
"mail.smtp.port""25");
        props.put(
"mail.smtp.auth""true");//指定是否需要SMTP验证
        
        
try
        
{
            Session mailSession 
= Session.getDefaultInstance(props);
            mailSession.setDebug(
true);//是否在控制台显示debug信息

            Message message 
= new MimeMessage(mailSession);
            message.setFrom(
new InternetAddress(from));//发件人
            message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));//收件人
            
//message.setRecipients(Message.RecipientType.CC, (Address[]) InternetAddress.parse(to));//抄送
            message.setSubject(subject);//邮件主题
            
//message.setContent(content);//邮件正文无需附件时可以使用
            bp.setContent(content, "text/html;charset=GB2312");//邮件正文
            mp.addBodyPart(bp);
            
// 附件
            if (!StringUtil.isBlank(filename))
            
{
                File file 
= new File(filename);
                
if (file.exists())
                
{
                    BodyPart mdp 
= new MimeBodyPart();
                    FileDataSource fileds 
= new FileDataSource(file);
                    mdp.setDataHandler(
new DataHandler(fileds));
                    mdp.setFileName(fileds.getName());
                    mp.addBodyPart(mdp);
                }

            }

            message.setContent(mp);
            message.saveChanges();

            Transport transport 
= mailSession.getTransport("smtp");
            transport.connect(host, user, password);
            transport.sendMessage(message, message.getAllRecipients());
            transport.close();
        }

        
catch (Exception e)
        
{
            System.out.println(e);
            
return;
        }

    }


    
public static void main(String[] args)
    
{
        SendEmail.send(
"测试邮件""这个是测试内容!""D:\\update.xls");
    }

}


posted on 2010-11-15 17:17 Jarry 阅读(168) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: